[no subject]

From: Unknown
Date: Fri Jun 06 2025 - 13:02:36 EST


Thanks again for your work,
and I would greatly appreciate any insights you could share.

Best regards,
YoungJun Park

Return-Path: <linux-kernel+bounces-667706-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 7668741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:05: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 509417A5DCF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:04:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E387B202C5C;
Fri, 30 May 2025 07:05:47 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 34FED156F28;
Fri, 30 May 2025 07:05:44 +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=1748588747; cv=none; b=kaBztZKJ/lxvPp/xtePqVvd2XI6FGXg3zp8KUDRRrIrnjfNuNYKWvkOEBKJEnZTtjHuIJ9wW7LeZQThk/k2ZglcJ0ZzMsekjVFIBYAt/QgJ81zkyX33VRyG02glmrdmgic+zGoIJ3mJPI87KnPrCIBF7oYPgweYXqYcih7Yiils=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748588747; c=relaxed/simple;
bh=3Qva9AYaf1X3Lii8gW2OzKo3rX9mkLIMXrDUaBMBK6o=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=o87Rbc43GPhZi1iRaLYQFBfUn0eV6jR7xJw6cgEtaZt8SxGESiJBwQbp5AcIxiobaXMtIVSGdX76zU9e9jexjbwipB9inMLoOH7oycFjWHxgdmCvnczPSBk0btCN2qwIv6GfxelV+8oyvS9Bbut4/S6uCxllHKr2pAXjq7G0TFQ=
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 88EE016F8;
Fri, 30 May 2025 00:05:27 -0700 (PDT)
Received: from [10.57.95.14] (unknown [10.57.95.14])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6101E3F5A1;
Fri, 30 May 2025 00:05:42 -0700 (PDT)
Message-ID: <63060234-007e-450b-a4d5-dacb9d2b87d5@xxxxxxx>
Date: Fri, 30 May 2025 08:05:40 +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 v3] arm64: Restrict pagetable teardown to avoid false
warning
Content-Language: en-GB
To: Dev Jain <dev.jain@xxxxxxx>, catalin.marinas@xxxxxxx, will@xxxxxxxxxx
Cc: david@xxxxxxxxxx, anshuman.khandual@xxxxxxx, mark.rutland@xxxxxxx,
yang@xxxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
References: <20250527082633.61073-1-dev.jain@xxxxxxx>
<914071fe-c133-4c9d-bb2d-9b9fca8a1798@xxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <914071fe-c133-4c9d-bb2d-9b9fca8a1798@xxxxxxx>
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 autolearn=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 30/05/2025 04:55, Dev Jain wrote:
>
> On 27/05/25 1:56 pm, Dev Jain wrote:
>> Commit 9c006972c3fe removes the pxd_present() checks because the caller

nit: "Commit 9c006972c3fe" should have actually been:

Commit 9c006972c3fe ("arm64: mmu: drop pXd_present() checks from
pXd_free_pYd_table()")

>> checks pxd_present(). But, in case of vmap_try_huge_pud(), the caller only
>> checks pud_present(); pud_free_pmd_page() recurses on each pmd through
>> pmd_free_pte_page(), wherein the pmd may be none. Thus it is possible to
>> hit a warning in the latter, since pmd_none => !pmd_table(). Thus, add
>> a pmd_present() check in pud_free_pmd_page().
>>
>> This problem was found by code inspection.
>>
>> Fixes: 9c006972c3fe (arm64: mmu: drop pXd_present() checks from
>> pXd_free_pYd_table())
>
> I missed double quotes around the fixes commit message. Can Will or Catalin fix
> that,
> or shall I resend.

For future, I have the following in my ~/.gitconfig

"""
[pretty]
fixes = Fixes: %h (\"%s\")
commit = Commit %h (\"%s\")
"""

Then I can do:

$ git show --pretty=fixes <SHA> | head -n 1

or

$ git show --pretty=commit <SHA> | head -n 1

to get the correct format. Note that "Fixes:" is a tag and should all be on a
single line. "Commit" is just a way to refer to other commits in prose and can
be broken across lines at the usual character limit.

Perhaps there is an even easier way to do it, but this works for me.

Thanks,
Ryan


>
>> Cc: <stable@xxxxxxxxxxxxxxx>
>> Reported-by: Ryan Roberts <ryan.roberts@xxxxxxx>
>> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
>> Signed-off-by: Dev Jain <dev.jain@xxxxxxx>
>> ---
>> This patch is based on 6.15-rc6.
>>
>> v2->v3:
>>   - Use pmdp_get()
>>
>> v1->v2:
>>   - Enforce check in caller
>>
>>   arch/arm64/mm/mmu.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
>> index ea6695d53fb9..5a9bf291c649 100644
>> --- a/arch/arm64/mm/mmu.c
>> +++ b/arch/arm64/mm/mmu.c
>> @@ -1286,7 +1286,8 @@ int pud_free_pmd_page(pud_t *pudp, unsigned long addr)
>>       next = addr;
>>       end = addr + PUD_SIZE;
>>       do {
>> -        pmd_free_pte_page(pmdp, next);
>> +        if (pmd_present(pmdp_get(pmdp)))
>> +            pmd_free_pte_page(pmdp, next);
>>       } while (pmdp++, next += PMD_SIZE, next != end);
>>         pud_clear(pudp);


Return-Path: <linux-kernel+bounces-667707-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 0FEE641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03: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 661AB1BA5CC3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:12:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 31CAB207A27;
Fri, 30 May 2025 07:12:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="BZojrRO2";
dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Vn8Ho0cw"
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 4D8E3156F28
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:12:12 +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=1748589135; cv=fail; b=GMMxkI8vh88g72YB4AOo1Y2Nciez5DZxzcrHYLqabasORdcXH7UYSIXbqM4U4wdLpGjSwCyln8IDpRpKOYSOA5QmG590OFQg3KxLQjgF+6ONpNeQ+NN1QQiyqHldfeE5Fv0Z+g7aHLy8cBtnpoM+BySNqR6+jrJWsdtYOUh6igo=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589135; c=relaxed/simple;
bh=1JxIT4I+aTTXGjUYw/VsvRDGiHsIi1NXf5e7VTcATiQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=YtZru2ZUI4/aX6bVOsw9e9gjF7Kh38Im24o9HmeNcbSA5Z0Bo1um2bmi/P/2e0i067+1zvjUXJ2SldYmechddIL3489cIr1PKkooHe3NyDAOwZN5sT5cMU+FP5dEDD7IJPRJY85jTP8VWdBfVYiMRI7y4RJk7V0XXNK3kwq7iVo=
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=BZojrRO2; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Vn8Ho0cw; 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 54U6tuDM018945;
Fri, 30 May 2025 07:11:58 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=iPb9flb5GyscP20QDf
zKeQ59Mwlnw5WRv6TCISOHpMU=; b=BZojrRO2n4tdpcTtgKkaHBLMD02qOr3mVD
rZzt9MTPnx5SGsXEi4xWIHoe85IYbMYDvkQZCU9A0Qf1CvgxWwcYg6Hy8WOfCTdL
4PbXf+4j0ib/Vy69aobWp7R0tQOZLYJ28fqydtb8lwWKY87lkmvnz4/XFTmU3/m1
zMQ51K5Cd+Z6IrVUE219f9WI8/ov3pmRIIi5rFO+mnSG01mDOS/r4dyna2YkGabP
FL+Jgwr72/vZZJ34fTGIE39pD0Nt+rTl6XdBggoFSRGIhxtrPLEdt1YXDR4qghNs
Az4ThiyanY0z84YdK1X6nJjKfZBaSRXpjaoExdwstjYloiPI2VVw==
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46v2pf1ck0-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Fri, 30 May 2025 07:11:58 +0000 (GMT)
Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 54U60U6I023016;
Fri, 30 May 2025 07:11:57 GMT
Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10on2086.outbound.protection.outlook.com [40.107.94.86])
by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46u4jcp8dc-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Fri, 30 May 2025 07:11:57 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=sogkY/OZbkX+AGJLCqFCLChH0VtGN/MqlMgIBouXw3PZSpEU3eGyAXfBf23c/FfMdYpo2HSWA3Nnj5CtcUsr1/RJxSDYZ02GZtbv09zkME+g+BOeUCJVkHAwOcumfbdymv26hP1zRUp5dj0PMWietkIqORqyU2fMxHwmnglgqwsW8R6M43B14mmgFo+SYeJ1dH1vwflQf19plSYvAX43Jc/Aem4S6IFSDK6wtqqrNI5Qc/1vO9ywSfRLX2ciJ8vV96y+b1cUOkRBabnYMYyGAwotMh1fSyX7/Jeou3rVMh7/k4uHo6B957DvmPMoJbZryok3JnkiMSt+QW3WOKQFdg==
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=iPb9flb5GyscP20QDfzKeQ59Mwlnw5WRv6TCISOHpMU=;
b=TQFeuLbzkwZWyrWdu8UmDOemni7hAKsMajNtBApZqs3VABkDdQdaaQoPkrFXlTq5w6FWGe0WpzfzEODBCJlKdNO+NsbmqilkpTKQHLb9HCJPOhuabWxzDi9ZEFA2pSyb41BPzfmtkePKk5aHKCCMtXjjNyunJluC63IeMK1S7NNuF439hhxz3gmG6/pzC8ajtxVCDiMIFwI3RkHBjR4t/BYwUdfLjd9vQiEiWc6SRTbaLyF4l2+Ca2nCxHMWTSPV8teVwuJ7KY9CuD7UYQ5agV5Q8fy/5Mh4V7Dj+u4ZHhegXtv0uWJMAFeNukpaYTgvbg5yn9oBR+KOK6PQqwB5sg==
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=iPb9flb5GyscP20QDfzKeQ59Mwlnw5WRv6TCISOHpMU=;
b=Vn8Ho0cwYaRgsVu+5RtKnZKmv6snKEGfGyu/EBnwc6kbHsBuwQW4vQVK+ZiDOS3INOQZLXPYKAhPQH4kOrWMpafl8QLpsyF0lLDDwxT6afpPtUumqCOQo9KaJBLSb29+atpOxHAVwNqbKR9lB1N8+nhnJdqbngdrS2zQnVUkJO4=
Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16)
by SA1PR10MB5781.namprd10.prod.outlook.com (2603:10b6:806:23e::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Fri, 30 May
2025 07:11:53 +0000
Received: from CH3PR10MB7329.namprd10.prod.outlook.com
([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com
([fe80::f238:6143:104c:da23%4]) with mapi id 15.20.8746.035; Fri, 30 May 2025
07:11:53 +0000
Date: Fri, 30 May 2025 16:11:33 +0900
From: Harry Yoo <harry.yoo@xxxxxxxxxx>
To: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>, David Rientjes <rientjes@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Roman Gushchin <roman.gushchin@xxxxxxxxx>,
Matthew Wilcox <willy@xxxxxxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/2] mm, slab: support NUMA policy for large kmalloc
Message-ID: <aDlaJQ9OdXGXVvjU@hyeyoo>
References: <20250529-frozen-pages-for-large-kmalloc-v1-0-b3aa52a8fa17@xxxxxxx>
<20250529-frozen-pages-for-large-kmalloc-v1-2-b3aa52a8fa17@xxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250529-frozen-pages-for-large-kmalloc-v1-2-b3aa52a8fa17@xxxxxxx>
X-ClientProxiedBy: SL2P216CA0143.KORP216.PROD.OUTLOOK.COM
(2603:1096:101:1::22) To CH3PR10MB7329.namprd10.prod.outlook.com
(2603:10b6:610:12c::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: CH3PR10MB7329:EE_|SA1PR10MB5781:EE_
X-MS-Office365-Filtering-Correlation-Id: d94f9be8-b242-4af5-bead-08dd9f49414f
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?LuhY2xDvSGrouktS2glaA+uXH50I2YAOY/k14/GxvXdJgXTzHfyDUgE22BRM?=
=?us-ascii?Q?O1lx/ScB2l9/+Tvsi0+VG2xHEw419Qd4Aq8g+Jhu7MaAQ9G6P4EJ/nRaqSs2?=
=?us-ascii?Q?nj15E2nYDo4TXGE9tZnCoceYuOuqk+Q0M6Y8ur2S/KaHUWF5pbXSzCihBl3G?=
=?us-ascii?Q?vD4UdqUGRVd6ADvxzKYcFFxLGCwB6mhXf/p6UJSmebdXxdbXyXmPc3SvR5Oe?=
=?us-ascii?Q?S55gHFPsD6jPTkV8WKMLZoXh4U6KzYKok+xUaKId8lU16rr6fN+lBik/LpSJ?=
=?us-ascii?Q?Y4HBiDd1ozAiKXMHhs6Eo6lrKnrI5QwyPgc/2exVf+3b/iLp/3t4FBi7ZDMI?=
=?us-ascii?Q?b2m1vbmGn8I9uhJmRjM1otV4JJBx/zt7n8khsAOOck/JLrkcqAcvUTKzyK1p?=
=?us-ascii?Q?qawjKMX88EZZ2aIODh6LOmwLdW5LcIlAefCLCwZHagfiI4qR6/p/174+OuFU?=
=?us-ascii?Q?D4CoeKIotu/SMAv18O9Ony0gsIyS2Sj87zQmB8DUd0ZIKSBf+DyaRGq3UvJF?=
=?us-ascii?Q?3InSnml1mV43MTTXm0B97Pk9jdoqZ3yS1xRgc0XgSTofkVZ0s/j50j4MnYml?=
=?us-ascii?Q?fnvhIpn28nxVVQwE5Bitu8r4IlHeM8XcgZ6sNPOlTPAio0RKBednEWDLTYZ2?=
=?us-ascii?Q?XShXf4R8+AM0uDGtFeDmv6D3ftOwmB8fQAG+86ZfETvuXF/HZS0hD64zY6lA?=
=?us-ascii?Q?sHQoMu3Ei0AXG3lDxbr+xSwcCG6ntNFoTUBEi/mcWzVCWn2WruRJN2n0ChrU?=
=?us-ascii?Q?/yZenUVtEszz3/L0HwSOnSEgtJkTsLU7CBICWQ8B58owRD5ugWONCa4s/8QW?=
=?us-ascii?Q?J7xnPw7t157IN4nrR8r9hLJDIFUFv/cTUSO1r0bFBEepwowstQLKzaLVT3er?=
=?us-ascii?Q?Oop8o3Matq1WfIj2AeE53EKfjwHuhQRup2rR3AJcbI0EAlkhmRMwMRuMWBSq?=
=?us-ascii?Q?fbyBOET++8smk6g3390VEzupqE+I47/VwXeSUmPCvyBKaKAHNYbSUkXciyX+?=
=?us-ascii?Q?EZ2dniieYsaCgUiphlF5dbW0dimmUe0W7eoKRfgW0IYtxgSfZ3qDD8zzKaOp?=
=?us-ascii?Q?h7fQV1OEg+W87K7o5ZooCmMBQMvxFBsocixt7EkOkukNRfzYi9zz6xKDOLAH?=
=?us-ascii?Q?zKIXiNGh73GS7GZs/oA270Ha3mQ92L3FV6O1TgDd1uwLJdKrpJ61uRDT/T0g?=
=?us-ascii?Q?ViNo1rQ/xuayohgUH0Va2644pQOczgp9hDc9qh470SX9X9F/9y5W2gzpTLUB?=
=?us-ascii?Q?gHLyXsqipnoycEzpz0h71DDKR3h1yx13xHpM2rnGmQV/FEdWlKNrUZL93h+6?=
=?us-ascii?Q?FYSAHHj6ILHTaX8nuDe4W/qcyFpfl9UAtjAdZgIS65EZfuA6AVjaPs8zOKXb?=
=?us-ascii?Q?4a78JU7317Vf4DyzMZuAPRcIHj1Vl8W1UBRsAX/lTOdOrZHrTerTQf8PAEdF?=
=?us-ascii?Q?x5oDxLvLrmU=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7329.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?jbDyR/u2XSnc/87K+1Lwsz6WSKfS1MIwyI+LQr+UFG6RULy+BOwUHPZ5OE9R?=
=?us-ascii?Q?SamH8pSnjx1nITE9NCmTaXenPw71PXjNfGWUHeHQRVuAPOS6dLUgaxxnnKAj?=
=?us-ascii?Q?h8lm938HWuYd4DTF26hfp96WT1UaTiZdg/31BMOejZJHKbJkLEujMM3J99aY?=
=?us-ascii?Q?94amrbc+0RkUAbJ7gzi40eMFhE/bJnFaJVn8kS3Uszi5mqfsrqAUcwZACpJN?=
=?us-ascii?Q?vPNaGfXu4eaugB4D5XLL4keJ7OEy3R+D96u1hT1IgBmzttsJvDnlYgKTA3o8?=
=?us-ascii?Q?wQek6YgJzW9rDLqm12jxadvONydfI3WdGQy1wc0YbIJJhbaW8eP5jAUrWLCe?=
=?us-ascii?Q?88FDAGb9l5O+239nGenmWqz9YxWaazS/TWx+8dZYzaTw1iQcd8jDk6sitkXy?=
=?us-ascii?Q?ICQCDdtWOarnUoU7fLynkCwgKeeeo23az1s2KpsOVGlQPLn98IxvOUb3lbXu?=
=?us-ascii?Q?nFl0lR5fQ4zIMQlMv9fgyewZI5ngPv8jjUDNGTcIF+2kifw5LGX+3OFW2BMI?=
=?us-ascii?Q?ZTEKkaUml1OkBbUYAsoDDntaGJfXmpcSFQaqlP+8ITBRw8nj/nNjTMvqdQrx?=
=?us-ascii?Q?aldzLyPIPwuM1mVEwchMRFs+WxfftmZ+WGmnBS/k84mYmxfqekpkBCwJwoZA?=
=?us-ascii?Q?iWgYIZt3jTzD4HbF0H1+3g6EQuFzBowXmP4mv0Z7bYRPCRDlTLO/Z5mqVO2Z?=
=?us-ascii?Q?F7IkHh4nnM96pHshajofulSB2MbfRLdkEwA2TcXOnCoC2mL4qr9PaXc5p4Bv?=
=?us-ascii?Q?LDcoI5CDDyp148ob4bAqOznOc1Ieq7Dk3dG4zI4DZxz7fO/d1DXqA3EHARsf?=
=?us-ascii?Q?J358dVsWxiF34ozmU6xT57qVM5nB4jmh7rULuFkfdy0Zf5kxGlVQWG7ckUgM?=
=?us-ascii?Q?OiyrFWbpKbrDWM4JETsTpOxGkOjYavRSxZf+tvvQVKDjFGWOfP6QPnhuj3Eh?=
=?us-ascii?Q?fXU/2duATOlLPVtRU5pvdEmlJiXk/pHodPSOOVz/Ar8Fkl2vVl36KRF7PG2F?=
=?us-ascii?Q?ASedOp02UJYDe6E8ssZjj/91enbId7IVNfZpno6eBBIXgj0EGVCsO2n0gz9r?=
=?us-ascii?Q?bK8J6mVxU9ZBPWgTS0errrN3FJxxu9kIMKVOhHOTQ4N928bwdGWlmqP9LIXa?=
=?us-ascii?Q?2gz+iu6BlVAxyMnSZtNAnl7OGScdKe8IjEytxtyBR4O6orkU9p6wleEMqAZX?=
=?us-ascii?Q?c8tkiXWnRlPJCPrNNAknZtsM+GCTRDHCSBdW/eaMilyYjZE7s/lRJwNEtP4G?=
=?us-ascii?Q?e0VDq4nKjQvJc0RIERl4QE92tJqXsixxjs3aE4/F1pXGgMJFRIYmGj1mJnuB?=
=?us-ascii?Q?8hUl58uPuXg2Mvi7kzNpeUWEX5kDHe0Yz5r1fHCbAYKa3rw8/4C8FA6Dn7+0?=
=?us-ascii?Q?XuaBIOdChEAsLDswwXYVtUFgq1NTnMcQgBfZeOO8ol2lLGMK6YITV2doq9v2?=
=?us-ascii?Q?bJIvkTCLGnJcz7eVUXrou2Db+Dzd3aX6HmJdJYRDb+5OqP/ki5XiRypU8aus?=
=?us-ascii?Q?RI8NfmXlo0fyeeKtcQcZCsVEZo8m46vfowMG9Neq77Gs68Wo6XiWlsSQExbC?=
=?us-ascii?Q?7hvYqC81phbtYf/XNoK+ihA8bVRAdNh7vyBvk+uD?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
5IDdbi39ANvWU8/MWQnvkYH48lOJ6JlcYErkss328wlC2NkP21z4mPpSj7Qp+BEQpOq2BFAAqMswo3VBdR2c4X9/es6JIvwsGst4L2DDV4G0sWbji4lcUIr/3icwRxE4V5q8I4TlZ5wPU9a5QdcYHbYOU0mHJhABgtDnZ4ohNcddSO2B0GHjz8w4SX5lj1N+hUFLr8Qt63ol9PrUL/V2NF/rE1zPUY+nYSpFXCHPQfCocTgK+cXZwpEcBc4mYj0pCGpki74HDrQasb8t9YASbkLtc69wTdiYpBCjq7VL/l5CTzj90BtvSyA82RCiIJNZX7UvVgDbV7BhgfWK/tdcwZ4qWJQ9ElCW4Jqb9VPzAVDHZx6ulGvXlHgnRcYBK5+QRLg2opUHKXUcpsYOiXRFLN0ewomKWDnbBebXnhEc3Iahxgnq/SbnaNrYczgdTuMlrHL6K+0w/b3OAzwJkKo85ISJHhRpfBUHWIi4/MvY6FDnxuKLn+GYiCNcm9zDPeDN9Lxd7LfuDMOV4nrSyA+y844ZwVjRuTWm8uFvqXe2I76IR3DXwAOPRp8YSMjrG9Qg1UaOHAU/ZOJTuWOCjkDZ+AJpplAidOWqjjCCE2OeAWk=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d94f9be8-b242-4af5-bead-08dd9f49414f
X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:11:53.7408
(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: qreISbisyssTzSRg8X8BN0+TuH5raMy7c4Y1YNvWqHIS/ywkAdA7qpSlHbMJ2aNWndGbhb2xzittHsRZuyTexQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5781
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-30_03,2025-05-29_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 mlxlogscore=999
bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0
classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000
definitions=main-2505300058
X-Proofpoint-ORIG-GUID: 450hYA_BPkRycMLM4D3-oZBe66HXrzoH
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTMwMDA1OCBTYWx0ZWRfXzKS77PUj1PLn 19pSgfYtowXRI1Z685s2ZjKV0Zmizb2UXgqkCHNBZ9ly18tGHUr4QhlvKlykhkRy7BiYq0+4gu6 ZKEd80Fa0N4TxRLr+jkZ9qeKMhxQZ4XBGeEe8D485CVPgdTYt+bgMAcbh1cirm1tl2n9i/LrmGZ
5Ch6l4FOEwX21KfLwM1DPGwWMOr99JP9XXFmGPRr5YFOUijUT8/OF7TbvlDVYoBeMVloOWtAOeI jubl8hDHQTp3hFOKLxhecN9QWZLG+CnZZkM0vqjzTiHtDSEzg3t2pjOfOJZT01wtUGiVQFLwmnw f9X8jrMHr0iZIedfhGhlIflPcjl4T7j+Owbgp9GHfjwERNGeeeIikFhUnQy/h07M4bM56ktF+JG
qYAOdqCPW1VMiuGHxw1UV6k8kVa9EULAZdw4go5J+tGmiv0i6xKRscixq54Cc2UcRzh9omhg
X-Proofpoint-GUID: 450hYA_BPkRycMLM4D3-oZBe66HXrzoH
X-Authority-Analysis: v=2.4 cv=TdeWtQQh c=1 sm=1 tr=0 ts=68395a3e b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==: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=yPCof4ZbAAAA:8 a=1BByine6S6PWLjBDHbUA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:14714
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 Thu, May 29, 2025 at 10:56:27AM +0200, Vlastimil Babka wrote:
> The slab allocator observes the task's numa policy in various places
> such as allocating slab pages. Large kmalloc allocations currently do
> not, which seems to be an unintended omission. It is simple to correct
> that, so make ___kmalloc_large_node() behave the same way as
> alloc_slab_page().
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
> ---

Reviewed-by: Harry Yoo <harry.yoo@xxxxxxxxxx>

--
Cheers,
Harry / Hyeonggon

> mm/slub.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index d7a62063a1676a327e13536bf724f0160f1fc8dc..d87015fad2df65629050d9bcd224facd3d2f4033 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -4281,11 +4281,13 @@ static void *___kmalloc_large_node(size_t size, gfp_t flags, int node)
> if (unlikely(flags & GFP_SLAB_BUG_MASK))
> flags = kmalloc_fix_flags(flags);
>
> + flags |= __GFP_COMP;
> +
> if (node == NUMA_NO_NODE)
> - node = numa_mem_id();
> + folio = (struct folio *)alloc_frozen_pages_noprof(flags, order);
> + else
> + folio = (struct folio *)__alloc_frozen_pages_noprof(flags, order, node, NULL);
>
> - flags |= __GFP_COMP;
> - folio = (struct folio *)__alloc_frozen_pages_noprof(flags, order, node, NULL);
> if (folio) {
> ptr = folio_address(folio);
> lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B,
>
> --
> 2.49.0
>

Return-Path: <linux-kernel+bounces-667708-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 A4E2741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03: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 ny.mirrors.kernel.org (Postfix) with ESMTPS id B39D74A684A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:14:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E78E720C02A;
Fri, 30 May 2025 07:14:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="AzWhwr0C"
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 44CDA156F28
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:14:36 +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=1748589279; cv=none; b=MzudZQPIMXYlXFyC3YKrhPqv3AYWFDulPgwoQWAbrWuSa3OWfT/CQ8SxJ+3YVLlv/eHDAY6r7unmFobOdKLIgR9+/lcwQibxFbVDZhEFxZiWWOIVQofl7gp0BNLOQwBynIGq4ijhN0GidqPQA+Sye4npbt8sKIg5g9Y0GlnloWI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589279; c=relaxed/simple;
bh=4xLrstcpYJ6S1hQxNjebemGI13B05tJcV9ue6ae7k4M=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=I2umxyJ7vt3bKy7NKXegaafRNY4BjhCZSy2Cn8VQdL4lx69AAhVfkkqAnEoQINWCV4v+KHKaAyQI/2a3HMAt94DBzwpdxH8sgC80ontwDZedsbg67EoLcUFnd8EBQGWch2jDLe6h6Qgfs2HX+iO1ymA4x+8EfOcIDL8vrUUUg2M=
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=AzWhwr0C; 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=1748589276;
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=w9jQ6j1KqZTzCqlqmSvQMKPQAl2FHHpF9NFt5NKfCSs=;
b=AzWhwr0CM1FuExSNNl3MTf1Jl3ZNijAG5WeysZyu6YWyVORE2zyTNRVrxG/TWiUi3PhzcA
dAQd3UTvuRp5vQzNzH3yW4zvR0DlWMhTHAWbQKD5l9CCNgIye0B0hdC+ZJPBBGUdG+3cyx
BDHELH+nRZSAeymZAo4Uunu7la2+te4=
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-412-y7m35soMMDucF3REQ9DlaQ-1; Fri, 30 May 2025 03:14:34 -0400
X-MC-Unique: y7m35soMMDucF3REQ9DlaQ-1
X-Mimecast-MFC-AGG-ID: y7m35soMMDucF3REQ9DlaQ_1748589273
Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-450d50eacafso6008245e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:14:34 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748589273; x=1749194073;
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=w9jQ6j1KqZTzCqlqmSvQMKPQAl2FHHpF9NFt5NKfCSs=;
b=JDrlUMKwHAk6F+jMp1VZqm8gXqvd3Kk62afnWFiRbgm28HpsbZ+HIgkAkY7g0eIrUh
0PRixAX4gSl6AQKpclpd3kxmiFWky6yztxs7lerLcxpSkzBYo6wmHtnsxcf1FPP1Eays
Owpp5DzD+BkK7OZYTBS1q/0bkPxlEyYiYje7kJsk5M5/PsczxfenygA8GOpIMP6Rbbt8
4EcFGKGBMqe55uNjEVkgj4HtHrGmlTCDMrDNS1UuBS9ovHlrupjfbqnDwPJvjRCFNheq
/zAbZGq02WFciVMy2GL+KKGomh+bpOH9An1DAebOmmlb6HjlSoGt/6aQjvSuGnGIlh/p
ZEew==
X-Forwarded-Encrypted: i=1; AJvYcCUUSVgWKezJ00Lts6he89bawpSpZxVBSYC0BY1gb+j40WVZgbRJgj1YPa+66DyKro3qWXtXoJHCWnLgSvc=@vger.kernel.org
X-Gm-Message-State: AOJu0YygxHO/sQjw5Q3xySiryShPyqKkfdMHUdeganOWsAHLc9F1VsXx
jG81CoBeLDqT3OmMkFND9p/QPaMmQUqMpaOngsbcSVI6kBHn+DxhK5fKKS27ffCe7Vo42ZSH4j+
CzXZc5h5YGIBqGm+WwCE3pk6eo/A+migeH1xip/RPb0OlM3E515oksk6D+YXCMHw1ag==
X-Gm-Gg: ASbGncvlI/khghQmNMBE8Q7vOPpbIb/cc9KZLfrcIgqVrq9ADncTh3C9NTWH0LD4/8M
gGrTSRvOJh6Rs28RglFkqxu5UNUDlU+Nv90ScGtWE1gc1hL2laDICog11t698M/pNQuYS/wGec/
ZawJJxmyW0lumnrnYH/rQwOEwHWUafc+634KYsCV39qNPQXgmZN907WF3ku6wOXBhKNJrC615mF
M0wq2cafEuAAYv1H5EUY4tqUiU1Qh3qEdD6T8LcBWHlj5lPlT9NGsma5kQC2KKI/QhVRuRjonO+
MOa703Q0yUjfVVu25XSKdBzTETpER7DxkQDD904yUTbJ1YNq3rL2fr2hqRN+93noBq1UmO3ee57
RGV3bnVBwuFE29OIDp4LfuecGa7YEiRlkOqyEuiM=
X-Received: by 2002:a05:600c:1c96:b0:43c:fc04:6d35 with SMTP id 5b1f17b1804b1-450d64e2a8amr21980245e9.4.1748589273136;
Fri, 30 May 2025 00:14:33 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHxHNga9dusXzR5XdJh3x9MMIDpmAYxi8C7fv12F1JOm35KCjSas1u5c0ffHOC1Nspy2QX5MA==
X-Received: by 2002:a05:600c:1c96:b0:43c:fc04:6d35 with SMTP id 5b1f17b1804b1-450d64e2a8amr21979945e9.4.1748589272695;
Fri, 30 May 2025 00:14:32 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f03:5b00:f549:a879:b2d3:73ee? (p200300d82f035b00f549a879b2d373ee.dip0.t-ipconnect.de. [2003:d8:2f03:5b00:f549:a879:b2d3:73ee])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe5b8f0sm3940856f8f.6.2025.05.30.00.14.31
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 00:14:32 -0700 (PDT)
Message-ID: <9d5886c7-bca1-47db-a6d3-6c313b7d1d8f@xxxxxxxxxx>
Date: Fri, 30 May 2025 09:14:30 +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] MAINTAINERS: add myself as reviewer of mm memory policy
To: Alistair Popple <apopple@xxxxxxxxxx>, akpm@xxxxxxxxxxxxxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx
Cc: ziy@xxxxxxxxxx, matthew.brost@xxxxxxxxx, joshua.hahnjy@xxxxxxxxx,
rakie.kim@xxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250530014917.2946940-1-apopple@xxxxxxxxxx>
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: <20250530014917.2946940-1-apopple@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 30.05.25 03:49, Alistair Popple wrote:
> I'm particularly familiar with mm/migrate.c and especially
> mm/migrate_device.c so add myself to MAINTAINERS.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> ---
> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b8f1125f68da..219f887f810e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15713,6 +15713,7 @@ R: Rakie Kim <rakie.kim@xxxxxx>
> R: Byungchul Park <byungchul@xxxxxx>
> R: Gregory Price <gourry@xxxxxxxxxx>
> R: Ying Huang <ying.huang@xxxxxxxxxxxxxxxxx>
> +R: Alistair Popple <apopple@xxxxxxxxxx>

Yes!

Acked-by: David Hildenbrand <david@xxxxxxxxxx>

--
Cheers,

David / dhildenb


Return-Path: <linux-kernel+bounces-667709-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 BCD2341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:16: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 EFFB84A66F2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:16:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 657121EB5D8;
Fri, 30 May 2025 07:15:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="oBbrXNvT";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="9OD/Zc0w";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="oBbrXNvT";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="9OD/Zc0w"
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 AB11F2AE6F
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:15:53 +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=1748589355; cv=none; b=Zv3bcr18RnPTXhvp65Gn4IAF1TCt+k7ATq5+M3Zxlh5k8huWmNpSa0gZKToTymBKGblUyCKXCscMHJq8rl+qckYvf2ArMpAKSVI1Qd7BZJaJFsr0+NmWT5I74oE3dpIzJ50IwrUI9wbpcy4BPRaIjs9mU6wUeo2PVmYmEMa47yY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589355; c=relaxed/simple;
bh=i/sTP8kxv2bHjU6/5tEla5HY5Q+6eGeBtucd+gZOaCU=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=jr9yLe62Osr+L94S9fJ5Ii2RyVuEwQkn9Yeihrcj4qgfGirGqSo6zipGs0fwGOBWEYiVFz7Pr7PiXXaav/q/2ZODyA3OLdw2q8uJ/u8nTDBg7Tnf8mLXkQpXHet4oFQQDJEszHRVn9FFhX+G3zcxzkKYiM6ttQ/0xOQmoK1puF8=
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=oBbrXNvT; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=9OD/Zc0w; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=oBbrXNvT; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=9OD/Zc0w; 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 (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-out2.suse.de (Postfix) with ESMTPS id A49AF1F7A1;
Fri, 30 May 2025 07:15:51 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748589351; 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=uzU19k1ECLHjrvkeXuOD+PC+beRlg03ZHwC8d7LjQWg=;
b=oBbrXNvT2xBNFjpKCbW13YHP4O66WtaiTyPNKlnuc5QcBuF4n+TcsqWcbcPb4nwo1a2jC6
1C1SrGTPcNCN7IH3f4mTqvPbTXqogrgCxf56lmABQO7PgEaqPgxP13QXHIM5J6U4W+fjYs
b4sx+5gytVsbJLWJUQecvMjY+JSgh1w=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748589351;
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=uzU19k1ECLHjrvkeXuOD+PC+beRlg03ZHwC8d7LjQWg=;
b=9OD/Zc0wTvD0qN2XodBjaOf/qYa0n0OKAYU0m6GtrS7ZK435G9v4pzPmvuueiYHx8fJI/A
7lXqe5U+gx0WHYDQ==
Authentication-Results: smtp-out2.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748589351; 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=uzU19k1ECLHjrvkeXuOD+PC+beRlg03ZHwC8d7LjQWg=;
b=oBbrXNvT2xBNFjpKCbW13YHP4O66WtaiTyPNKlnuc5QcBuF4n+TcsqWcbcPb4nwo1a2jC6
1C1SrGTPcNCN7IH3f4mTqvPbTXqogrgCxf56lmABQO7PgEaqPgxP13QXHIM5J6U4W+fjYs
b4sx+5gytVsbJLWJUQecvMjY+JSgh1w=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748589351;
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=uzU19k1ECLHjrvkeXuOD+PC+beRlg03ZHwC8d7LjQWg=;
b=9OD/Zc0wTvD0qN2XodBjaOf/qYa0n0OKAYU0m6GtrS7ZK435G9v4pzPmvuueiYHx8fJI/A
7lXqe5U+gx0WHYDQ==
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 84BD8132D8;
Fri, 30 May 2025 07:15:51 +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 Lw3OHydbOWhcSwAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Fri, 30 May 2025 07:15:51 +0000
Message-ID: <ecc2b2c4-418f-44c1-b860-eb836cc5841d@xxxxxxx>
Date: Fri, 30 May 2025 09:15:51 +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] mm: prevent KSM from breaking VMA merging for new
VMAs
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>,
Christian Brauner <brauner@xxxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
Pedro Falcato <pfalcato@xxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Xu Xin <xu.xin16@xxxxxxxxxx>, Chengming Zhou <chengming.zhou@xxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, Stefan Roesch <shr@xxxxxxxxxxxx>
References: <cover.1748537921.git.lorenzo.stoakes@xxxxxxxxxx>
<3ba660af716d87a18ca5b4e635f2101edeb56340.1748537921.git.lorenzo.stoakes@xxxxxxxxxx>
Content-Language: en-US
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: <3ba660af716d87a18ca5b4e635f2101edeb56340.1748537921.git.lorenzo.stoakes@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
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];
MID_RHS_MATCH_FROM(0.00)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
MIME_TRACE(0.00)[0:+];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[15];
RCVD_TLS_ALL(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz: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,suse.cz:mid,suse.cz:email]
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/29/25 19:15, Lorenzo Stoakes wrote:
> If a user wishes to enable KSM mergeability for an entire process and all
> fork/exec'd processes that come after it, they use the prctl()
> PR_SET_MEMORY_MERGE operation.
>
> This defaults all newly mapped VMAs to have the VM_MERGEABLE VMA flag set
> (in order to indicate they are KSM mergeable), as well as setting this flag
> for all existing VMAs and propagating this across fork/exec.
>
> However it also breaks VMA merging for new VMAs, both in the process and
> all forked (and fork/exec'd) child processes.
>
> This is because when a new mapping is proposed, the flags specified will
> never have VM_MERGEABLE set. However all adjacent VMAs will already have
> VM_MERGEABLE set, rendering VMAs unmergeable by default.
>
> To work around this, we try to set the VM_MERGEABLE flag prior to
> attempting a merge. In the case of brk() this can always be done.
>
> However on mmap() things are more complicated - while KSM is not supported
> for MAP_SHARED file-backed mappings, it is supported for MAP_PRIVATE
> file-backed mappings.
>
> These mappings may have deprecated .mmap() callbacks specified which could,
> in theory, adjust flags and thus KSM eligibility.
>
> So we check to determine whether this is possible. If not, we set
> VM_MERGEABLE prior to the merge attempt on mmap(), otherwise we retain the
> previous behaviour.
>
> This fixes VMA merging for all new anonymous mappings, which covers the
> majority of real-world cases, so we should see a significant improvement in
> VMA mergeability.
>
> For MAP_PRIVATE file-backed mappings, those which implement the
> .mmap_prepare() hook and shmem are both known to be safe, so we allow
> these, disallowing all other cases.
>
> Also add stubs for newly introduced function invocations to VMA userland
> testing.
>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Fixes: d7597f59d1d3 ("mm: add new api to enable ksm per process") # please no backport!
> Reviewed-by: Chengming Zhou <chengming.zhou@xxxxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
> Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>

The commit log is much clearer to me now, thanks :)

Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>


Return-Path: <linux-kernel+bounces-667710-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 28F4541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:16: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 C344EA20069
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:16:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EBF5F199EAD;
Fri, 30 May 2025 07:16:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="FtUWSb5D"
Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180])
(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 B0FD31F0E34
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:16:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.180
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748589375; cv=none; b=gj5pAKAr5BKsg8Px6PNEL92/B8WMmzq28dmxKEnSlgtfswulLFlXUKxlPnnMOvf0sUvIW/8WmmExt6lF4U2tMZkgqFtsyEoS5Y8ZmVlMNb/1YTIYh+VrcZgY8uereMPzwObd1pqoC/QuDAP8yaTJKX9swywa6+TeqyIjbz4fyUM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589375; c=relaxed/simple;
bh=Wqv44jqsdsXHNZZ0Py7UlIVLoL8po8LiL4dYM3Poszo=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=MdUtqto1pL77nwdrqxWMfQNKSeYW4Pzb6do8WfNpwiKAl5QZwlmD0aHFWpuwWlXKzRpobHfzYZQkso+p2TWzGIcL6Ve7LqW7qLEPpR8Y0JucEHeQ2vmuXHbwtiSNnhIbc5tFZ8Fq6QLpsZJlOh/pHPnLY01yKNMYgdclaa/8rXE=
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=FtUWSb5D; arc=none smtp.client-ip=209.85.219.180
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-f180.google.com with SMTP id 3f1490d57ef6-e7f7d5ff805so946787276.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:16:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=amarulasolutions.com; s=google; t=1748589372; x=1749194172; 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=vgcHaRaxMh2WbXNoh/qrbXHdrEGtMeR1ldHMhM030sw=;
b=FtUWSb5DLXIW/d/pmg/yKrMZeUoTX+yVZ3cSEncJoOoa6AzDSqWrC/4ROVdQYgIRDq
0Y95UP3IScJavxl7v/skNmljXdo+OJ22oSSd16ACnkG6VNRsKg027GbFJ7Qt1lUCqhjL
Uti77YA++zwoXPgG97CmY+09D0ZjtVb/DkpX8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748589372; x=1749194172;
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=vgcHaRaxMh2WbXNoh/qrbXHdrEGtMeR1ldHMhM030sw=;
b=G4cjAaPP0F98mGvbCJGYTdT6x6gK+uJ7pA+Z7C7GbG5sDRjxGP0Xx799RioC7c64yo
uM12WdKMcrA0zoR/vxgbVnbE46rFhCfwy6FTvdwyHtOVsENllPPSCL8cI5oQ4uTNDoJY
rmzqCYvz6YQbGF5GVy5NLx1YArz2/Sq7ED0KYRMGhhaaraghh9y3h6lWtZBpzgEPySH+
FyzgWF5WsZhC0Nqvmkzf1JtS+9to0W9ogmKNpd9NTO/hDdy2PmEwPVB3u656L7OkxAQa
QkfA+1a3/gl3Qn9OZ8YIHHXDZ5aYSHmwvWrBTiif80h1XKP0v709zlMxOo/CP1lXcYNo
evqA==
X-Gm-Message-State: AOJu0YwK6HBXZE3mbBDTz0oVSlk456j8KUUL6QLMCZ6SM9QDk9AUwGLp
8mRP/tS8oTEhzVHtZw0rHSsmjc9C0wfMVRGIxx2ZUtHxSOQFszhM3BQN2cELrE2OmUdhhLL2m8y
DeKwNCHVRBg3X7FBFPxZMBd3bNzafqmZRLYQBUuur2Xb/E0bJRbfd9qc=
X-Gm-Gg: ASbGncuJC+gtcjARP5kCYEbzD+RgR1zKCUmMWIPvtH+c1D4ld+LdGnXPP8GU1ApxD20
/pbFYvgcJyZh/4+Q5mN8TbtLvxTnw41lcdkJlleeK/F/J6J16bvzP0Cekz8EndKcqjUQXBC8Nbf
eUB8ofQ/LLLCVNavjuLeEFjPm5DX2e9jsWem4R+354
X-Google-Smtp-Source: AGHT+IGRsXkIuu587xAn1aOXqHZH9/FTuNF5ewSeuATBJbnOQrjPTYZFfIwV+E/yE+CdERS8vXt8QgflfaHX20EKDWA=
X-Received: by 2002:a05:6902:2ec5:b0:e7d:b16f:f804 with SMTP id
3f1490d57ef6-e7f81de0b4dmr2375591276.15.1748589372522; Fri, 30 May 2025
00:16: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: <20250529143544.2381031-1-dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
<20250529143544.2381031-5-dario.binacchi@xxxxxxxxxxxxxxxxxxxx> <aDiDUm6cvrC2q/SP@lizhi-Precision-Tower-5810>
In-Reply-To: <aDiDUm6cvrC2q/SP@lizhi-Precision-Tower-5810>
From: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 09:16:01 +0200
X-Gm-Features: AX0GCFvYo9dOy9zIb2T_By8Dl0RHc058BX9IZtozb0vhcx7jqadzWyBHPYQtSZo
Message-ID: <CABGWkvrYiVJn4WdEpNfn8HnZgxYvNJG2Hu59eSvFNvOk7XvkEw@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v4 4/6] ARM: dts: mxs: support i.MX28 Amarula rmm board
To: Frank Li <Frank.li@xxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-amarula@xxxxxxxxxxxxxxxxxxxx,
michael@xxxxxxxxxxxxxxxxxxxx, Conor Dooley <conor+dt@xxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
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

Hi Frank,

On Thu, May 29, 2025 at 5:55=E2=80=AFPM Frank Li <Frank.li@xxxxxxx> wrote:
>
> On Thu, May 29, 2025 at 04:35:11PM +0200, Dario Binacchi wrote:
> > The board includes the following resources:
> > - 256 Mbytes NAND Flash
> > - 128 Mbytes DRAM DDR2
> > - CAN
> > - USB 2.0 high-speed/full-speed
> > - Ethernet MAC
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
> >
> > ---
> >
> > Changes in v4:
> > - Drop label property (deprecated) under the leds sub-nodes.
> > - Add microSD comment above the ssp0 node.
> >
> > Changes in v3:
> > - Drop xceiver-supply property from can0 node.
> > - Rearrange the order of specific nodes and properties
> > alphabetically.
> >
> > Changes in v2:
> > - Replace '-' with '@' for the pinctrl sub-nodes.
> > - Replace edt,edt-ft5x06 with edt,edt-ft5306.
> > - Drop LCD reset hog pin.
> > - Add correct #address-cells and #size-cells to gpmi node.
> > - Replace edt-ft5x06@38 with touchscreen@38.
> >
> > arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> > .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 301 ++++++++++++++++++
> > 2 files changed, 302 insertions(+)
> > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> >
> > diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp=
/mxs/Makefile
> > index 96dd31ea19ba..d72ba702b6fa 100644
> > --- a/arch/arm/boot/dts/nxp/mxs/Makefile
> > +++ b/arch/arm/boot/dts/nxp/mxs/Makefile
> > @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_MXS) +=3D \
> > imx23-sansa.dtb \
> > imx23-stmp378x_devb.dtb \
> > imx23-xfi3.dtb \
> > + imx28-amarula-rmm.dtb \
> > imx28-apf28.dtb \
> > imx28-apf28dev.dtb \
> > imx28-apx4devkit.dtb \
> > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm=
/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> > new file mode 100644
> > index 000000000000..5ef9b79cda1c
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> > @@ -0,0 +1,301 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacch=
i@xxxxxxxxxxxxxxxxxxxx>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "imx28.dtsi"
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/interrupt-controller/irq.h>
> > +
> > +/ {
> > + compatible =3D "amarula,imx28-rmm", "fsl,imx28";
> > + model =3D "Amarula i.MX28 rmm";
> > +
> > + memory@40000000 {
> > + reg =3D <0x40000000 0x08000000>;
> > + device_type =3D "memory";
> > + };
> > +
> > + backlight {
> > + compatible =3D "pwm-backlight";
> > + pwms =3D <&pwm 4 5000000 0>;
> > + brightness-levels =3D <0 255>;
> > + num-interpolated-steps =3D <255>;
> > + default-brightness-level =3D <255>;
> > + power-supply =3D <&reg_5v>;
> > + };
> > +
> > + beeper {
> > + compatible =3D "pwm-beeper";
> > + pwms =3D <&pwm 7 100000 0>;
> > + };
> > +
> > + leds {
> > + compatible =3D "gpio-leds";
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&leds_pins>;
> > +
> > + led-0 {
> > + gpios =3D <&gpio2 7 GPIO_ACTIVE_HIGH>;
> > + default-state =3D "off";
> > + };
> > +
> > + led-1 {
> > + gpios =3D <&gpio3 16 GPIO_ACTIVE_HIGH>;
> > + default-state =3D "off";
> > + };
> > +
> > + led-2 {
> > + gpios =3D <&gpio3 17 GPIO_ACTIVE_HIGH>;
> > + default-state =3D "off";
> > + };
> > + };
> > +
> > + reg_1v8: regulator-1v8 {
> > + compatible =3D "regulator-fixed";
> > + regulator-name =3D "1v8";
> > + regulator-min-microvolt =3D <1800000>;
> > + regulator-max-microvolt =3D <1800000>;
> > + };
> > +
> > + reg_3v3: regulator-3v3 {
> > + compatible =3D "regulator-fixed";
> > + regulator-name =3D "3v3";
> > + regulator-min-microvolt =3D <3300000>;
> > + regulator-max-microvolt =3D <3300000>;
> > + regulator-always-on;
> > + };
> > +
> > + reg_5v: regulator-5v {
> > + compatible =3D "regulator-fixed";
> > + regulator-name =3D "5v";
> > + regulator-min-microvolt =3D <5000000>;
> > + regulator-max-microvolt =3D <5000000>;
> > + regulator-always-on;
> > + };
> > +
> > + reg_fec_3v3: regulator-fec-3v3 {
> > + compatible =3D "regulator-fixed";
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&fec_3v3_enable_pin>;
> > + regulator-name =3D "fec-3v3";
> > + regulator-min-microvolt =3D <3300000>;
> > + regulator-max-microvolt =3D <3300000>;
> > + gpios =3D <&gpio3 27 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + startup-delay-us =3D <300000>;
> > + vin-supply =3D <&reg_5v>;
> > + };
> > +
> > + reg_usb0_vbus: regulator-usb0-vbus {
> > + compatible =3D "regulator-fixed";
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&usb0_vbus_enable_pin>;
> > + regulator-name =3D "usb0_vbus";
> > + regulator-min-microvolt =3D <5000000>;
> > + regulator-max-microvolt =3D <5000000>;
> > + gpio =3D <&gpio2 5 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + regulator-always-on;
> > + };
> > +
> > + reg_usb1_vbus: regulator-usb1-vbus {
> > + compatible =3D "regulator-fixed";
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&usb1_vbus_enable_pin>;
> > + regulator-name =3D "usb1_vbus";
> > + regulator-min-microvolt =3D <5000000>;
> > + regulator-max-microvolt =3D <5000000>;
> > + gpio =3D <&gpio2 6 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + regulator-always-on;
> > + };
> > +};
> > +
> > +&auart0 {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&auart0_2pins_a>;
> > + status =3D "okay";
> > +};
> > +
> > +&auart1 {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&auart1_pins_a>;
> > + status =3D "okay";
> > +};
> > +
> > +&can0 {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&can0_pins_a>;
> > + status =3D "okay";
> > +};
> > +
> > +&duart {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&duart_pins_b>;
> > + status =3D "okay";
> > +};
> > +
> > +&duart_pins_b {
> > + fsl,voltage =3D <MXS_VOLTAGE_LOW>;
> > +};
> > +
> > +&gpmi {
> > + #address-cells =3D <1>;
> > + #size-cells =3D <0>;
>
> Needn't this, dtsi already set it.

Yes, I can drop #address-cells, it's already set by imx28.dtsi
But I must re-set size-cells.

>
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&gpmi_pins_a &gpmi_status_cfg>;
> > + status =3D "okay";
> > +};
> > +
> > +&i2c0 {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&i2c0_pins_a>;
> > + status =3D "okay";
> > +
> > + touchscreen: touchscreen@38 {
> > + compatible =3D "edt,edt-ft5306";
> > + reg =3D <0x38>;
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&edt_ft5x06_pins &edt_ft5x06_wake_pin>;
> > + interrupt-parent =3D <&gpio0>;
> > + interrupts =3D <19 IRQ_TYPE_EDGE_RISING>;
> > + reset-gpios =3D <&gpio0 21 GPIO_ACTIVE_LOW>;
> > + wake-gpios =3D <&gpio0 18 GPIO_ACTIVE_HIGH>;
> > + };
> > +};
> > +
> > +&lradc {
> > + status =3D "okay";
> > +};
> > +
> > +&mac0 {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&mac0_pins_a>;
> > + phy-mode =3D "rmii";
> > + phy-supply =3D <&reg_fec_3v3>;
> > + phy-handle =3D <&ethphy>;
> > + status =3D "okay";
> > +
> > + mdio {
> > + #address-cells =3D <1>;
> > + #size-cells =3D <0>;
> > +
> > + ethphy: ethernet-phy@0 {
> > + compatible =3D "ethernet-phy-ieee802.3-c22";
> > + reg =3D <0>;
> > + max-speed =3D <100>;
> > + reset-gpios =3D <&gpio3 28 GPIO_ACTIVE_LOW>;
> > + reset-assert-us =3D <4000>;
> > + reset-deassert-us =3D <4000>;
> > + };
> > + };
> > +};
> > +
> > +&pinctrl {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&hog_pins_a>;
> > +
> > + edt_ft5x06_pins: edt-ft5x06@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <
> > + MX28_PAD_GPMI_RDY1__GPIO_0_21 /* Reset */
> > + MX28_PAD_GPMI_CE3N__GPIO_0_19 /* Interrupt */
> > + >;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_ENABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + edt_ft5x06_wake_pin: edt-ft5x06-wake@0 {
> > + reg =3D <0>;
>
> Any warning report if all reg is 0?

No, I don't see any warnings of that kind. Nor do I see them for those
contained in imx28.dtsi.

Thanks and regards,
Dario
>
> Frank
> > + fsl,pinmux-ids =3D <MX28_PAD_GPMI_CE2N__GPIO_0_18>;
> > + fsl,drive-strength =3D <MXS_DRIVE_16mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + fec_3v3_enable_pin: fec-3v3-enable@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <MX28_PAD_SPDIF__GPIO_3_27>;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + hog_pins_a: hog@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <
> > + MX28_PAD_SSP2_SS1__GPIO_2_20 /* External power *=
/
> > + >;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + leds_pins: leds@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <
> > + MX28_PAD_SSP0_DATA7__GPIO_2_7
> > + MX28_PAD_PWM0__GPIO_3_16
> > + MX28_PAD_PWM1__GPIO_3_17
> > + >;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + usb0_vbus_enable_pin: usb0-vbus-enable@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +
> > + usb1_vbus_enable_pin: usb1-vbus-enable@0 {
> > + reg =3D <0>;
> > + fsl,pinmux-ids =3D <MX28_PAD_SSP0_DATA6__GPIO_2_6>;
> > + fsl,drive-strength =3D <MXS_DRIVE_4mA>;
> > + fsl,pull-up =3D <MXS_PULL_DISABLE>;
> > + fsl,voltage =3D <MXS_VOLTAGE_HIGH>;
> > + };
> > +};
> > +
> > +&pwm {
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&pwm4_pins_a &pwm7_pins_a>;
> > + status =3D "okay";
> > +};
> > +
> > +/* microSD */
> > +&ssp0 {
> > + compatible =3D "fsl,imx28-mmc";
> > + pinctrl-names =3D "default";
> > + pinctrl-0 =3D <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> > + broken-cd;
> > + bus-width =3D <4>;
> > + status =3D "okay";
> > +};
> > +
> > +&usb0 {
> > + dr_mode =3D "host";
> > + vbus-supply =3D <&reg_usb0_vbus>;
> > + status =3D "okay";
> > +};
> > +
> > +&usb1 {
> > + dr_mode =3D "host";
> > + vbus-supply =3D <&reg_usb1_vbus>;
> > + status =3D "okay";
> > +};
> > +
> > +&usbphy0 {
> > + status =3D "okay";
> > +};
> > +
> > +&usbphy1 {
> > + status =3D "okay";
> > +};
> > --
> > 2.43.0
> >



--=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-667711-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 2E2AD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:17: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 6006F4A7492
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:17:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 882B9207A27;
Fri, 30 May 2025 07:17:21 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D37C4199EAD
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:17:17 +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=1748589441; cv=none; b=KT6oHZBAVD7MXcmHcl604crCkEsPNOX89lGwJgXIAXopU/gjC7zEnq+mDG5CMaoyTxWJ81Ql9/oCUg/LQplZ3fpgFD7D3Fvmvd11dgqUp7tWK0v4HmaxEL5chYh1nYa03iXi8pcPQljs5g3xaXyOna2h2kNiySvaQ8lu9SkShYk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589441; c=relaxed/simple;
bh=R/Akd0eX9hNqt3T32VBrsG4IMBzgGGHpD1UISoR2jaA=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=i8HekGFtraDTFSdWbqqqf7BWAiHTn91sDHJt+I0QJBVjYn++45SsgUpyy6gNFEv+rQbKI0aZ4y7yaImw/mulS5VOMGt2oVeqQRpIWCDsqb9ICq+oHeNF5T3p85i+uuvnZDJMmPYyrFKtexAkYJFnrN8yFHzELmdOGTwqmOKK6w4=
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 700BF16F8;
Fri, 30 May 2025 00:17:00 -0700 (PDT)
Received: from [10.57.95.14] (unknown [10.57.95.14])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7A91D3F5A1;
Fri, 30 May 2025 00:17:15 -0700 (PDT)
Message-ID: <1cc04c6b-ba0f-4e7f-ab85-46c364c66300@xxxxxxx>
Date: Fri, 30 May 2025 08:17:13 +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: [v3 PATCH 0/6] arm64: support FEAT_BBM level 2 and large block
mapping when rodata=full
Content-Language: en-GB
To: Yang Shi <yang@xxxxxxxxxxxxxxxxxxxxxx>, will@xxxxxxxxxx,
catalin.marinas@xxxxxxx, Miko.Lenczewski@xxxxxxx,
scott@xxxxxxxxxxxxxxxxxxxxxx, cl@xxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Dev Jain <dev.jain@xxxxxxx>
References: <20250304222018.615808-1-yang@xxxxxxxxxxxxxxxxxxxxxx>
<4794885d-2e17-4bd8-bdf3-8ac37047e8ee@xxxxxxxxxxxxxxxxxxxxxx>
<5c6d9706-7684-4288-b630-c60b3766b13f@xxxxxxx>
<4d02978c-03c0-48fe-84eb-0f3fa0c54fea@xxxxxxxxxxxxxxxxxxxxxx>
<912c3126-8ba7-4c3a-b168-438f92e89217@xxxxxxx>
<2ab5f65c-b9dc-471c-9b61-70d765af285e@xxxxxxxxxxxxxxxxxxxxxx>
<239d4e93-7ab6-4fc9-b907-7ca9d71f81fd@xxxxxxx>
<1141d96c-f785-48ee-a0f6-9ec658cc11c2@xxxxxxxxxxxxxxxxxxxxxx>
<9cdb027c-27db-4195-825d-1d63bec1b69b@xxxxxxxxxxxxxxxxxxxxxx>
<e3e6a3e0-3012-4d95-9236-4b4d57c7974c@xxxxxxx>
<0769dbcb-bd9e-4c36-b2c1-a624abaeb5ce@xxxxxxxxxxxxxxxxxxxxxx>
<e8d74579-2e32-424f-bfed-5d3eb33b0a07@xxxxxxxxxxxxxxxxxxxxxx>
<c44cb356-112d-4dd8-854b-82212ee4815f@xxxxxxx>
<936cc91a-b345-4e52-9cb5-922c9810c469@xxxxxxx>
<a1ff2646-f429-4626-8541-19c7f301fc23@xxxxxxxxxxxxxxxxxxxxxx>
<d1226612-7ad8-4405-93a7-28148699ce45@xxxxxxx>
<c2625558-a63e-4a63-a893-d2a31b3cc559@xxxxxxxxxxxxxxxxxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <c2625558-a63e-4a63-a893-d2a31b3cc559@xxxxxxxxxxxxxxxxxxxxxx>
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 29/05/2025 20:52, Yang Shi wrote:
>>>> I just had another conversation about this internally, and there is another
>>>> concern; we obviously don't want to modify the pgtables while other CPUs that
>>>> don't support BBML2 could be accessing them. Even in stop_machine() this may be
>>>> possible if the CPU stacks and task structure (for example) are allocated
>>>> out of
>>>> the linear map.
>>>>
>>>> So we need to be careful to follow the pattern used by kpti; all secondary CPUs
>>>> need to switch to the idmap (which is installed in TTBR0) then install the
>>>> reserved map in TTBR1, then wait for CPU 0 to repaint the linear map, then have
>>>> the secondary CPUs switch TTBR1 back to swapper then switch back out of idmap.
>>> So the below code should be ok?
>>>
>>> cpu_install_idmap()
>>> Busy loop to wait for cpu 0 done
>>> cpu_uninstall_idmap()
>> Once you have installed the idmap, you'll need to call a function by its PA so
>> you are actually executing out of the idmap. And you will need to be in assembly
>> so you don't need the stack, and you'll need to switch TTBR1 to the reserved
>> pgtable, so that the CPU has no access to the swapper pgtable (which CPU 0 is
>> able to modify).
>>
>> You may well be able to reuse __idmap_kpti_secondary in proc.S, or lightly
>> refactor it to work for both the existing idmap_kpti_install_ng_mappings case,
>> and your case.
>
> I'm wondering whether we really need idmap for repainting. I think repainting is
> different from kpti. We just split linear map which is *not* used by kernel
> itself, the mappings for kernel itself is intact, we don't touch it at all. So
> as long as CPU 0 will not repaint the linear map until all other CPUs busy
> looping in stop_machine fn, then we are fine.

But *how* are the other CPUs busy looping? Are they polling a variable? Where
does that variable live? The docs say that a high priority thread is run for
each CPU. So there at least needs to be a task struct and a stack. There are
some Kconfigs where the stack comes from the linear map, so if the variable that
is polls is on its stack (or even on CPU 0's stack then that's a problem. If the
scheduler runs and accesses the task struct which may be allocated from the
linear map (e.g. via kmalloc), that's a problem.

The point is that you have to understand all the details of stop_machine() to be
confident that it is never accessing the linear map. And even if you can prove
that today, there is nothing stopping from the implementation changing in future.

But then you have non-architectural memory accesses too (i.e. speculative
accesses). It's possible that the CPU does a speculative load, which causes the
TLB to do a translation and cache a TLB entry to the linear map. Then CPU 0
changes the pgtable and you have broken the BBM requirements from the secondary
CPU's perspective.

So personally I think the only truely safe way to solve this is to switch the
secondary CPUs to the idmap, then install the reserved map in TTBR1. That way,
the secondary CPUs can't see the swapper pgtable at all and CPU 0 is free to do
what it likes.

>
> We can have two flags to control it. The first one should be a cpu mask, all
> secondary CPUs set its own mask bit to tell CPU 0 it is in stop machine fn
> (ready for repainting). The other flag is used by CPU 0 to tell all secondary
> CPUs repainting is done, please resume. We need have the two flags in kernel
> data section instead of stack.
>
> The code of fn is in kernel text section, the flags are in kernel data section.
> I don't see how come fn (just doing simple busy loop) on secondary CPUs need to
> access linear map while repainting the linear map. After repainting the TLB will
> be flushed before letting secondary CPUs resume, so any access to linear map
> address after that point should be safe too.
>
> Does it sound reasonable to you? Did I miss something?

I think the potential for speculative access is the problem. Personally, I would
follow the pattern laid out by kpti. Then you can more easily defend it by
pointing to an established pattern.

Thanks,
Ryan

>
> Thanks,
> Yang
>
>>
>> Thanks,
>> Ryan
>>
>>>> Given CPU 0 supports BBML2, I think it can just update the linear map live,
>>>> without needing to do the idmap dance?
>>> Yes, I think so too.
>>>
>>> Thanks,
>>> Yang
>>>
>>>> Thanks,
>>>> Ryan
>>>>
>>>>
>>>>> Thanks,
>>>>> Ryan
>>>>>
>


Return-Path: <linux-kernel+bounces-667712-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 C7D2C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:17: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 477DC169CB0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:17:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3B6B920E6F9;
Fri, 30 May 2025 07:17:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="bLLE8B1k";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="ra09o53V";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="pXLHL2MQ";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="ID/CDlcG"
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 93A4F20409A
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:17:40 +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=1748589463; cv=none; b=nB+TTSANoa2tqzJUMqthUUzne+AHCocxtsUxZCpdoA9jllAjwR0AFM8rkAg0U91GbeWpWNMGWYQDCcOLxc9RfBM1lXGTF17duQ4EAyCi94RPbXvOTmSlu0sIMEAp57TxmK6U1Yg27V8ul1lcrZWh4k8f1pbVbSyXjkeZDVtmdlU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589463; c=relaxed/simple;
bh=5sZwonSyi7C3m9a8qMo4Ox8TcWkSzdZA/StXDXbXI38=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ojlSCVGgERZKPMRo6z7QaUP1FTV/H1dg8OqRVVLkwN+ejmpIRLqN6lqpMuxr3pxQI5OGkXBOvRobuwswsfYMeLoZZyYsMzkqRL27dtjZjHmAwG6UTj2AYgSTcPQJFfklnGacZygXRsluq717FHHnhJ7ZN9zyShIxXayoJPr5XME=
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=bLLE8B1k; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=ra09o53V; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=pXLHL2MQ; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=ID/CDlcG; 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 (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 716A0218E0;
Fri, 30 May 2025 07:17:37 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748589458; 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=H8vYiI/lB98SVteHs9jQfydPaBWxD4ynPXxCsA6F5x0=;
b=bLLE8B1kEvgP4fus2Y7PKlGZFJY/VupgBfhLS4VrQ49X+NeughQcciVu1M7kCdNx3q85SO
uS6l4tRBYiS6W3JDqzRC+dM8aYmLAfkNCCni/4WkGyG3fH4blJyXw+uQ/1P3MXBvuk0mRh
HTqAi1GGc0Dr07aRmB0X/99dDWj98bE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748589458;
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=H8vYiI/lB98SVteHs9jQfydPaBWxD4ynPXxCsA6F5x0=;
b=ra09o53Vv7SUl8quaO60r6mvr4LJ0rd49TKHsKxS/PY5jWcNX738pq+A/9IT3URvk80MSq
dgJX4+9uVJwV2jCA==
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748589457; 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=H8vYiI/lB98SVteHs9jQfydPaBWxD4ynPXxCsA6F5x0=;
b=pXLHL2MQhx2vUpVoNVIO8JK01KqorlanGuGiVb7qOGQqWLYWbWOq7bnLjYH9qekyZS3oO/
LpoAr/qcqT1RqFcSeQXXiyZMRal4GhfNcZVyib16l8mAMGUijffNff17OJ681sFGgHWcbx
VloCG/MK91sEcd19kKHndfDrWacUs9U=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748589457;
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=H8vYiI/lB98SVteHs9jQfydPaBWxD4ynPXxCsA6F5x0=;
b=ID/CDlcGd3WQwH5XWqbtvHQvsz0u+X+n5pPFs9Smvt0XR6syQ1WUzNV3BIA1iENjfYz+gm
cfn5aoq6lWAzJRDA==
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 5753D132D8;
Fri, 30 May 2025 07:17:37 +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 /koFFZFbOWhaTAAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Fri, 30 May 2025 07:17:37 +0000
Message-ID: <51d7af3f-a5a1-4a93-967d-dc4866060a28@xxxxxxx>
Date: Fri, 30 May 2025 09:17:37 +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 4/4] tools/testing/selftests: add VMA merge tests for
KSM merge
Content-Language: en-US
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>,
Christian Brauner <brauner@xxxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
Pedro Falcato <pfalcato@xxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Xu Xin <xu.xin16@xxxxxxxxxx>, Chengming Zhou <chengming.zhou@xxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, Stefan Roesch <shr@xxxxxxxxxxxx>
References: <cover.1748537921.git.lorenzo.stoakes@xxxxxxxxxx>
<6dec7aabf062c6b121cfac992c9c716cefdda00c.1748537921.git.lorenzo.stoakes@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: <6dec7aabf062c6b121cfac992c9c716cefdda00c.1748537921.git.lorenzo.stoakes@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
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];
MID_RHS_MATCH_FROM(0.00)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
MIME_TRACE(0.00)[0:+];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[15];
RCVD_TLS_ALL(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz: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)[suse.cz:mid,suse.cz:email,oracle.com:email,linux.dev:email,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 5/29/25 19:15, Lorenzo Stoakes wrote:
> Add test to assert that we have now allowed merging of VMAs when KSM
> merging-by-default has been set by prctl(PR_SET_MEMORY_MERGE, ...).
>
> We simply perform a trivial mapping of adjacent VMAs expecting a merge,
> however prior to recent changes implementing this mode earlier than before,
> these merges would not have succeeded.
>
> Assert that we have fixed this!
>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Reviewed-by: Chengming Zhou <chengming.zhou@xxxxxxxxx>
> Tested-by: Chengming Zhou <chengming.zhou@xxxxxxxxx>
> Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>


Return-Path: <linux-kernel+bounces-667713-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 4F52241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:19: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 9F4DF16921B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:19:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E1AAA20E33F;
Fri, 30 May 2025 07:18:58 +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 365661898F8;
Fri, 30 May 2025 07:18:53 +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=1748589538; cv=none; b=NfwJW2Yh5eVjHMLvYtN8ehYN+5pk9bOB4gGaxfqTXAyNJYnnpsqQjBaBwsdeCO36lH2rW2wDAzzeHm8aosyQK4ABkfkjEUTvt/hTu4R+96BqVEcCa33ZfOocTIbTQS1ikQjG4IkI/8Ic1uMNePQKAAJ9M6bhLq23n2XD5uP6EhA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589538; c=relaxed/simple;
bh=fOAM++u9LTISAq68wmI6g+AZ7z3HPuYZIruMYuRA+eg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=R6ZwyE815heQ4sErSS4unTvMZhIRASrB6TFhe6o3UdT8V2Vm8dcnR/viLT6zHpCsnpoYFqJdktIP5QYUm1PqNG4lPlGu8PffskcY5nx4eaJIiIq523TmIq/bUgyxsMtkP30vbx/EjupGsRzkgGdRSmq7XA5W7LwrQt9Wed4JD/8=
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: 539ca1503d2611f0b29709d653e92f7d-20250530
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.1.45,REQID:ee96e855-b6fc-499e-a774-5c0bfd2a5ede,IP:0,U
RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:
release,TS:0
X-CID-META: VersionHash:6493067,CLOUDID:3f1983991b840bf5a8054f82d285f2e9,BulkI
D: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,L
ES: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: 539ca1503d2611f0b29709d653e92f7d-20250530
Received: from node4.com.cn [(10.44.16.170)] by mailgw.kylinos.cn
(envelope-from <lijiayi@xxxxxxxxxx>)
(Generic MTA)
with ESMTP id 1256206541; Fri, 30 May 2025 15:18:46 +0800
Received: from node4.com.cn (localhost [127.0.0.1])
by node4.com.cn (NSMail) with SMTP id AE87116001A01;
Fri, 30 May 2025 15:18:46 +0800 (CST)
X-ns-mid: postfix-68395BD6-5408331627
Received: from kylin-pc.. (unknown [172.25.130.133])
by node4.com.cn (NSMail) with ESMTPA id CE81116001CC7;
Fri, 30 May 2025 07:18:45 +0000 (UTC)
From: Jiayi Li <lijiayi@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx,
limiao@xxxxxxxxxx,
huanglei@xxxxxxxxxx,
mathias.nyman@xxxxxxxxxxxxxxx,
oneukum@xxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
lijiayi@xxxxxxxxxx
Subject: [PATCH v2] usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE
Date: Fri, 30 May 2025 15:18:39 +0800
Message-ID: <20250530071839.2110556-1-lijiayi@xxxxxxxxxx>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20250508033123.673964-1-lijiayi@xxxxxxxxxx>
References: <20250508033123.673964-1-lijiayi@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: quoted-printable
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

This device exhibits I/O errors during file transfers due to unstable
link power management (LPM) behavior. The kernel logs show repeated
warm resets and eventual disconnection when LPM is enabled:

[ 3467.810740] hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0020
[ 3467.810740] usb usb2-port5: do warm reset
[ 3467.866444] usb usb2-port5: not warm reset yet, waiting 50ms
[ 3467.907407] sd 0:0:0:0: [sda] tag#12 sense submit err -19
[ 3467.994423] usb usb2-port5: status 02c0, change 0001, 10.0 Gb/s
[ 3467.994453] usb 2-5: USB disconnect, device number 4

The error -19 (ENODEV) occurs when the device disappears during write
operations. Adding USB_QUIRK_NO_LPM disables link power management
for this specific device, resolving the stability issues.

Signed-off-by: Jiayi Li <lijiayi@xxxxxxxxxx>
---
v1 -> v2: modify a format error.
---
drivers/usb/core/quirks.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 36d3df7d040c..53d68d20fb62 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -372,6 +372,9 @@ static const struct usb_device_id usb_quirk_list[] =3D=
{
/* SanDisk Corp. SanDisk 3.2Gen1 */
{ USB_DEVICE(0x0781, 0x55a3), .driver_info =3D USB_QUIRK_DELAY_INIT },
=20
+ /* SanDisk Extreme 55AE */
+ { USB_DEVICE(0x0781, 0x55ae), .driver_info =3D USB_QUIRK_NO_LPM },
+
/* Realforce 87U Keyboard */
{ USB_DEVICE(0x0853, 0x011b), .driver_info =3D USB_QUIRK_NO_LPM },
=20
--=20
2.47.1


Return-Path: <linux-kernel+bounces-667714-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 9AB3041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:22: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 442343B2D1D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:21:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B1B7820D506;
Fri, 30 May 2025 07:22:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Px7kw2oy"
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 1F51420409A
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:22:01 +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=1748589723; cv=none; b=IpHeBNYDyLxaue3PVGWp5qDdZUMq1q4ajbn0YZZWturB0aw+C0P4gLDwcvyvG9B7JxSQEq8wY7vLA+ElKPSXnPiL89WeOaAP/UJYkQA9Cvz2/g2SHm0TpAUkYuQWaJDlMbDQ5N0shS/wHdcL1JYQp2jZKjveT9HH9TBifzEgDso=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748589723; c=relaxed/simple;
bh=qXkisE7VqD51yKouULNp9l74lMboUFqrKQL5xYfnOj8=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=oPaCTSQtcraxgTUMjD3VB5Uq/AJNtJzj1zv7n2XIEhM6n/ig1ojoPjp8euBSGUmFBIKgp5eduYLsrohmmAoSSd/Zcf+plHtZ1qZeOeJxA7JFL8QA7wkLcg8Jg6nMuk45AJ3oUxaFd2URLWZVAH+gP+FdEO7JGzrj3xBnTgVl4ZA=
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=Px7kw2oy; 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=1748589720;
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=pmkVP+uhasaLbURIs12Cbav5wTMej3hFnwYbbQ+hjbo=;
b=Px7kw2oyPl3n1x7Rr82kKnED4Qm0ve9ijO6sTIlh7F0MGXqg84L35K0oXdH92Fx9aNUzfK
nnEQ6PHTbFkK2Kq5tSrH3J3k0+L2fX/6u74Lq2zGiiIcgz8HfdxLpHsb7awCuiP/o/WG76
9exR6DtzQ1kdVVFf0nVtjghmZJwc5mA=
Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com
[209.85.216.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-638-b56UmEWbPACDUZLGdouh-w-1; Fri, 30 May 2025 03:21:59 -0400
X-MC-Unique: b56UmEWbPACDUZLGdouh-w-1
X-Mimecast-MFC-AGG-ID: b56UmEWbPACDUZLGdouh-w_1748589718
Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-311d670ad35so1644474a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:21:59 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748589718; x=1749194518;
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=pmkVP+uhasaLbURIs12Cbav5wTMej3hFnwYbbQ+hjbo=;
b=qxyZk5VvCra5/H+TBmmvTGJa+Fnrpm+ObrvHRM4XMKNOo84rIP4oGg2qcay7bKTW06
72SbyIJagEI8I6XhnnLh4BYMstmdin8JUJlIPzb3ZLycw/f3fYjWIItCZJ8U1uG+2nmx
lWNOtSoYFSDcwkeSrFVoDc9uKq3XmlZchYcZa7b7896JgDBqS0g0GUPxLyu6V2sEcO3A
lDhmR360bNkoseBzsTp6HICMjU1laOZvhRrD50q+k1yqNAZA/aNdNmSrwTHucqoZzEV8
6UamJnznLyTPfERC2flB0ZGAcHmUppDNjRNUAyAF/dgH3qCLqLswGihmrYyCyY6M0nOy
pvug==
X-Forwarded-Encrypted: i=1; AJvYcCXP+X+zKGD81FaaKEui9R6Mr7sziHXU7h/NrzDMHrzcpepKFKt0+n/yONcorvUcVCGuW4z3F6DdMXHRiBo=@vger.kernel.org
X-Gm-Message-State: AOJu0YwMB+p/YJcUpY6yeql1nfFHXpUr50qLwlaFktj/dX06AMWalEfz
lZhLzb2EQLhCH9+TUxqfcRymtE281v6y+xNRpUwKRhybl55AO8fVUyvWnDnDAgBiHjUTkz1p8P6
SEtn7Q8yF0Y0j330e+SCv2Syu9/VvUbu2mh2qu4ZSo0cDq4aSHvWlA2o3AOT7j6T1Avtxf55WFS
qA8MbACfqLZqTcJcKYUc9LCgwpZOOlkyXDdffdcvXmoOxdDLbtAAc=
X-Gm-Gg: ASbGncvuH7d9AVJ4ObhZWH/xtEKZwn6I1cfvpWs9d86ngiWewfkrqXAYXWlfAeSncKt
0TUESAW+oE2Q7fjWvxDGNL7G2Rt/aqGoJYjYGCkD08MO4jQ6zJkImZKh/Hrnzd9X6MLix
X-Received: by 2002:a17:90b:2f8c:b0:311:f2bd:dc23 with SMTP id 98e67ed59e1d1-31241735c16mr3959059a91.15.1748589718001;
Fri, 30 May 2025 00:21:58 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGq0txzqdTiLc6XdEgPp3LFgOJf68f9fcV9c27gVZrTx/1a5AxvxvGj5zXv4GGHDJ6XqZeHJ5Hi/5gKhPtFt+M=
X-Received: by 2002:a17:90b:2f8c:b0:311:f2bd:dc23 with SMTP id
98e67ed59e1d1-31241735c16mr3959032a91.15.1748589717562; Fri, 30 May 2025
00:21:57 -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: <7808f2f7e484987b95f172fffb6c71a5da20ed1e.1748503784.git.viresh.kumar@xxxxxxxxxx>
In-Reply-To: <7808f2f7e484987b95f172fffb6c71a5da20ed1e.1748503784.git.viresh.kumar@xxxxxxxxxx>
From: Eugenio Perez Martin <eperezma@xxxxxxxxxx>
Date: Fri, 30 May 2025 09:21:19 +0200
X-Gm-Features: AX0GCFtgQ2X-0AoBTHg5OW599d01liZonZ-1_cIwnv6fwLwvw9hXAXBcivLWZWc
Message-ID: <CAJaqyWdp3MJJBB1EpEhCQH+9XCtYvEhePMf1D4ADW9eUZDttjg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] virtio-vdpa: Remove virtqueue list
To: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Jason Wang <jasowang@xxxxxxxxxx>,
Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>, Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
virtualization@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
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 Thu, May 29, 2025 at 9:30=E2=80=AFAM Viresh Kumar <viresh.kumar@linaro.o=
rg> wrote:
>
> The virtio vdpa implementation creates a list of virtqueues, while the
> same is already available in the struct virtio_device.
>
> This list is never traversed though, and only the pointer to the struct
> virtio_vdpa_vq_info is used in the callback, where the virtqueue pointer
> could be directly used.
>
> Remove the unwanted code to simplify the driver.
>

Acked-by: Eugenio P=C3=A9rez <eperezma@xxxxxxxxxx>

Thanks!

> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> ---
> Only build tested.
> ---
> drivers/virtio/virtio_vdpa.c | 44 +++---------------------------------
> 1 file changed, 3 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
> index 1f60c9d5cb18..e25610e3393a 100644
> --- a/drivers/virtio/virtio_vdpa.c
> +++ b/drivers/virtio/virtio_vdpa.c
> @@ -28,19 +28,6 @@ struct virtio_vdpa_device {
> struct virtio_device vdev;
> struct vdpa_device *vdpa;
> u64 features;
> -
> - /* The lock to protect virtqueue list */
> - spinlock_t lock;
> - /* List of virtio_vdpa_vq_info */
> - struct list_head virtqueues;
> -};
> -
> -struct virtio_vdpa_vq_info {
> - /* the actual virtqueue */
> - struct virtqueue *vq;
> -
> - /* the list node for the virtqueues list */
> - struct list_head node;
> };
>
> static inline struct virtio_vdpa_device *
> @@ -135,9 +122,9 @@ static irqreturn_t virtio_vdpa_config_cb(void *privat=
e)
>
> static irqreturn_t virtio_vdpa_virtqueue_cb(void *private)
> {
> - struct virtio_vdpa_vq_info *info =3D private;
> + struct virtqueue *vq =3D private;
>
> - return vring_interrupt(0, info->vq);
> + return vring_interrupt(0, vq);
> }
>
> static struct virtqueue *
> @@ -145,18 +132,15 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, un=
signed int index,
> void (*callback)(struct virtqueue *vq),
> const char *name, bool ctx)
> {
> - struct virtio_vdpa_device *vd_dev =3D to_virtio_vdpa_device(vdev)=
;
> struct vdpa_device *vdpa =3D vd_get_vdpa(vdev);
> struct device *dma_dev;
> const struct vdpa_config_ops *ops =3D vdpa->config;
> - struct virtio_vdpa_vq_info *info;
> bool (*notify)(struct virtqueue *vq) =3D virtio_vdpa_notify;
> struct vdpa_callback cb;
> struct virtqueue *vq;
> u64 desc_addr, driver_addr, device_addr;
> /* Assume split virtqueue, switch to packed if necessary */
> struct vdpa_vq_state state =3D {0};
> - unsigned long flags;
> u32 align, max_num, min_num =3D 1;
> bool may_reduce_num =3D true;
> int err;
> @@ -179,10 +163,6 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, uns=
igned int index,
> if (ops->get_vq_ready(vdpa, index))
> return ERR_PTR(-ENOENT);
>
> - /* Allocate and fill out our active queue description */
> - info =3D kmalloc(sizeof(*info), GFP_KERNEL);
> - if (!info)
> - return ERR_PTR(-ENOMEM);
> if (ops->get_vq_size)
> max_num =3D ops->get_vq_size(vdpa, index);
> else
> @@ -217,7 +197,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsi=
gned int index,
>
> /* Setup virtqueue callback */
> cb.callback =3D callback ? virtio_vdpa_virtqueue_cb : NULL;
> - cb.private =3D info;
> + cb.private =3D vq;
> cb.trigger =3D NULL;
> ops->set_vq_cb(vdpa, index, &cb);
> ops->set_vq_num(vdpa, index, virtqueue_get_vring_size(vq));
> @@ -248,13 +228,6 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, uns=
igned int index,
>
> ops->set_vq_ready(vdpa, index, 1);
>
> - vq->priv =3D info;
> - info->vq =3D vq;
> -
> - spin_lock_irqsave(&vd_dev->lock, flags);
> - list_add(&info->node, &vd_dev->virtqueues);
> - spin_unlock_irqrestore(&vd_dev->lock, flags);
> -
> return vq;
>
> err_vq:
> @@ -263,7 +236,6 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsi=
gned int index,
> ops->set_vq_ready(vdpa, index, 0);
> /* VDPA driver should make sure vq is stopeed here */
> WARN_ON(ops->get_vq_ready(vdpa, index));
> - kfree(info);
> return ERR_PTR(err);
> }
>
> @@ -272,20 +244,12 @@ static void virtio_vdpa_del_vq(struct virtqueue *vq=
)
> struct virtio_vdpa_device *vd_dev =3D to_virtio_vdpa_device(vq->v=
dev);
> struct vdpa_device *vdpa =3D vd_dev->vdpa;
> const struct vdpa_config_ops *ops =3D vdpa->config;
> - struct virtio_vdpa_vq_info *info =3D vq->priv;
> unsigned int index =3D vq->index;
> - unsigned long flags;
> -
> - spin_lock_irqsave(&vd_dev->lock, flags);
> - list_del(&info->node);
> - spin_unlock_irqrestore(&vd_dev->lock, flags);
>
> /* Select and deactivate the queue (best effort) */
> ops->set_vq_ready(vdpa, index, 0);
>
> vring_del_virtqueue(vq);
> -
> - kfree(info);
> }
>
> static void virtio_vdpa_del_vqs(struct virtio_device *vdev)
> @@ -501,8 +465,6 @@ static int virtio_vdpa_probe(struct vdpa_device *vdpa=
)
> vd_dev->vdev.dev.release =3D virtio_vdpa_release_dev;
> vd_dev->vdev.config =3D &virtio_vdpa_config_ops;
> vd_dev->vdpa =3D vdpa;
> - INIT_LIST_HEAD(&vd_dev->virtqueues);
> - spin_lock_init(&vd_dev->lock);
>
> vd_dev->vdev.id.device =3D ops->get_device_id(vdpa);
> if (vd_dev->vdev.id.device =3D=3D 0)
> --
> 2.31.1.272.g89b43f80a514
>


Return-Path: <linux-kernel+bounces-667715-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 7358141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:28: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 6C62C1BA3D69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:28:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 138C820FA97;
Fri, 30 May 2025 07:28:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="DOYOTYnG"
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 D079E2AE6F;
Fri, 30 May 2025 07:28:21 +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=1748590105; cv=none; b=AdbJXd3s5GhvghO5u2qGAmto3IGVw77MR7sAT4DdRpRaLGxMYBCgO4eoerx1GRlBfkUcMyeW64L24yGBaALTDnv+TT6/crxywCj06XJrz/S2H25Qirkd++KHp/1VVgSe21FNtkg4ujR81+Nm3y9mZuljDix3peSGdNx7rR7sGEc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590105; c=relaxed/simple;
bh=rFTdzueErqW7ZWtBYGbftECWppJ7FYrToB22dGQAmMw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=VT6iE5o8cCv1qoBh2LMrbaMOK9obnhB+TF86MpmfjQxo/PvNTxYr2NObUI6jHfR+bQtp4f9tB912qXFgJfnxnI7PS5n0dIVHp4ZjfYxgcX9316AXFht6EK8BqAshr9Of3a1YO57p5jf9UCEhG1s4oZWi5PWhgW6Lgg3JlmEz7sQ=
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=DOYOTYnG; 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 D35A843A63;
Fri, 30 May 2025 07:28:11 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748590094;
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=WxJKQnlngqPKzQgieYcZOedSyyuKtQwXRQsJDRHek1A=;
b=DOYOTYnGlX46ngRBabnkMLB8PdI8LP7g+Z5auY7q2nXgqXll22UC4qv4S0hL6ZfQJOgtNM
NKMQhvbkS59CKkdfZFzdB//Y3EBgwzYZ0EFs13gCjWvnyxikQnj8Arnt5z85fzr0cBeCYQ
yyD/lVKi3UbGBtdTNIwC8qcr59aQJ95z1BfkX7T9aE0pbgb4n7KxzBZsqebQd/MiBOR0xA
N9kuQOfPbkcdZdpMJE12LyG0SwsG2NM7E7t15jtg3kECxFz46ImvC4DoBxPnKpO+V/fW1B
vZjrsrW3t0ArlrUk/ozCHZbVdoVWgsDh8W42aKpNLzgkZBrpyljE8oW6QFZ3hQ==
From: Romain Gantois <romain.gantois@xxxxxxxxxxx>
To: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
Cc: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>, 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>,
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: Fri, 30 May 2025 09:28:11 +0200
Message-ID: <6159237.lOV4Wx5bFT@fw-rgant>
In-Reply-To: <aDhfyiSOnyA709oX@xxxxxxxxxxxxxxxxxxxxx>
References:
<20250507135331.76021-1-maxime.chevallier@xxxxxxxxxxx>
<13770694.uLZWGnKmhe@fw-rgant> <aDhfyiSOnyA709oX@xxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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="nextPart5012516.31r3eYUQgx";
micalg="pgp-sha512"; protocol="application/pgp-signature"
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvkeegudculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkjghfgggtsehgtderredttdejnecuhfhrohhmpeftohhmrghinhcuifgrnhhtohhishcuoehrohhmrghinhdrghgrnhhtohhishessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhephfdvleekvefgieejtdduieehfeffjefhleegudeuhfelteduiedukedtieehlefgnecuffhomhgrihhnpegsohhothhlihhnrdgtohhmnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopehffidqrhhgrghnthdrlhhotggrlhhnvghtpdhmrghilhhfrhhomheprhhomhgrihhnrdhgrghnthhoihhssegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeeftddprhgtphhtthhopehlihhnuhigsegrrhhmlhhinhhugidrohhrghdruhhkpdhrtghpthhtohepmhgrgihimhgvrdgthhgvvhgrlhhlihgvrhessghoohhtlhhinhdrtghomhdprhgtphhtthhopegurghvvghmsegurghvvghmlhhofhhtrdhnvghtpdhrtghpthhtohepnhgvthguvghvsehvg
hgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqrghrmhdqmhhsmhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopegrnhgurhgvfieslhhunhhnrdgthh
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

--nextPart5012516.31r3eYUQgx
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"; protected-headers="v1"
From: Romain Gantois <romain.gantois@xxxxxxxxxxx>
To: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 09:28:11 +0200
Message-ID: <6159237.lOV4Wx5bFT@fw-rgant>
In-Reply-To: <aDhfyiSOnyA709oX@xxxxxxxxxxxxxxxxxxxxx>
MIME-Version: 1.0

On Thursday, 29 May 2025 15:23:22 CEST Russell King (Oracle) wrote:
> On Wed, May 28, 2025 at 09:35:35AM +0200, Romain Gantois wrote:
> > > 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.
>
> 1000BASE-X is exactly what is described in IEEE 802.3. It's a PHY
> interface mode because PHYs that use SerDes can connect to the host
> using SGMII or 1000BASE-X over the serial link.
>
> 1000BASE-X's purpose in IEEE 802.3 is as a protocol for use over
> fibre links, as the basis for 1000BASE-SX, 1000BASE-LX, 1000BASE-EX
> etc where the S, L, E etc are all to do with the properties of the
> medium that the electrical 1000BASE-X is sent over. It even includes
> 1000BASE-CX which is over copper cable.

Ah makes sense, thanks for the explanation. I guess my mistake was assuming
that MAC/PHY interface modes were necessarily strictly at the reconciliation
sublayer level, and didn't include PCS/PMA functions.

Thanks,

--
Romain Gantois, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

--nextPart5012516.31r3eYUQgx
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/FLj284FAmg5XgsACgkQ3R9U/FLj
286GbBAAmB3Nz5sjbXmWSvq8T+BWKMW6/ADtfZoynbL1liHfm02INS3KBq6v80Ev
V9bV7+DHe2VPHiWTQdVDfKXwsdlHRtzknR5d9paXM2l+EdaXgi4g1WI6tPjCNcdA
HGCxoRnc0xEAWpVO7cCQWkq+77Z7LVt1QY19KFQiWMjvrerTynW4aKiCC3Y1TyEV
/qFbXLC4cweZM0KYY4bkBezlWMEkSM74nNZ2Wd2NyZTX9PvtrhIrJJk+PEufYtcl
N/boaRq6clQ3fMPzmRBRLdW7a4OyFQo5ua7FN5rfTPjvLwGWs3R50CnITGdjmZab
sj7Gz44GSIjCW180sr9LBxCxyghqwOPaDAVu+hzw3zWGOr49upOdvKXwfPx/W50h
d8coBTgF1dfcMipO7QVwzvDOsFu27IsOCJ8YQs3UwnjUX3i1zIWwmwy5JVehMoJX
Y2RH3AJdTvcoiEE8dMn6iDh1ytPWiZuCTBT/1wUQ6BgG1Nzkv/ZWE/OZVupszzph
vYDgNRdKMUlh6p/rT/PX7b5CjY30O7i3d1qd3kEihJD6ilFBRrcp9GDoiBH3QcFR
CzXnQ+v8JSe3d/M/Z8tbiTakjyb5138Jms/AriV+/JXluotuoWm0f8QI32PJURpC
x+1WTrHPNlRPBQfj15Z3h5191R0pskPp4Q219ZJB8pYPrEJ9Z2w=
=aVaE
-----END PGP SIGNATURE-----

--nextPart5012516.31r3eYUQgx--




Return-Path: <linux-kernel+bounces-667716-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 BFC1E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:30: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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 5ACDE7A953B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:28:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6804120E33F;
Fri, 30 May 2025 07:29:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="D+jIjz1j"
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 91A46182BC
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:29:53 +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=1748590195; cv=none; b=Gv4AW6plFPNDwEK4J1MCJ2WrHajG9ffhEB64yXYsfheel70C9fM6knsjJt6D90xKQGkDC5N+MwX6iyJE6RfogDR7+/8JOM3/OV8eRdmXqiqniScEgiFhPuTiW0G2FHMbjdrG/NAn8hGhuwfCOn0AzG0UJvITxof0s5i/V2gOgJk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590195; c=relaxed/simple;
bh=lzzvlHQSXjqy3rMmpjuCfFbsEuWsuxNIkCC890RfZDw=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:To:CC; b=FkSipdKVDVFRAonS54p8716Y21QxWBmHe2HPNWWqPOc+NlxKkZiy1t/94Q0SXTZI5W63/zBjblb7H9KVPoquPksKN7LFiEOM6z6twe096kg56+1cr04Gq0AXcHETdcXFnJXk7LloFOhWwO3tVB6uOmPczFtra7lf6K/orMy+PdY=
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=D+jIjz1j; 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 (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54U0dZvG013716;
Fri, 30 May 2025 07:29:43 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=A/4FJmYllYDHyQiJ9derJk
xxuUpThuwVaYCoWHYqi5o=; b=D+jIjz1jO/SAs9me3gFOApY7VyriYUphGhFQKg
DVSOZMmHFJjvwNYO0gmJv0wmo2akWOxHxByO0obRp2YDc15kW11hbT1biysCgQdl
0IlYXO1KcV2iO0H6ACgRrhqrF2fNzRNM28ixFGbtWI8r7koOih7RDzfJof+Ap8sQ
APNvZEPMAUZKZrSsF1OBXxZMLhtJUAkk45hLXz1wW5d8hVTZZOlPheSF0Tiiknmf
k205sY8OikgR1Jgkj8Dj8niFN4NkKf9NNtApk+gZj+9tU2u4a2cyiNqhl39Zuuwc
/bSsjk+Lvj+2kjKbuEk4fiflHcKmJBieXP1mV36OWGcYe4sA==
Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46wavm22ne-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Fri, 30 May 2025 07:29:42 +0000 (GMT)
Received: from nalasex01b.na.qualcomm.com (nalasex01b.na.qualcomm.com [10.47.209.197])
by NALASPPMTA01.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 54U7TgYG026845
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Fri, 30 May 2025 07:29:42 GMT
Received: from yuanfang4-gv.ap.qualcomm.com (10.80.80.8) by
nalasex01b.na.qualcomm.com (10.47.209.197) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.9; Fri, 30 May 2025 00:29:39 -0700
From: Yuanfang Zhang <quic_yuanfang@xxxxxxxxxxx>
Date: Fri, 30 May 2025 15:29:14 +0800
Subject: [PATCH] coresight-tpdm: add trace_id sysfs 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: <20250530-showtraceid-v1-1-2761352cf7b4@xxxxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIAEpeOWgC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE
vPSU3UzU4B8JSMDI1MDUyNj3eKM/PKSosTk1MwUXaOUNEvDZAvLpFSLNCWgjoKi1LTMCrBp0bG
1tQA+uRObXQAAAA==
X-Change-ID: 20250523-showtraceid-2df91c89be8f
To: Suzuki K Poulose <suzuki.poulose@xxxxxxx>,
Mike Leach
<mike.leach@xxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>,
"Alexander
Shishkin" <alexander.shishkin@xxxxxxxxxxxxxxx>
CC: <kernel@xxxxxxxxxxxxxxxx>, <coresight@xxxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
Yuanfang Zhang <quic_yuanfang@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590179; l=2852;
i=quic_yuanfang@xxxxxxxxxxx; s=20241209; h=from:subject:message-id;
bh=lzzvlHQSXjqy3rMmpjuCfFbsEuWsuxNIkCC890RfZDw=;
b=bdOBpCFyYyBGlD4IOna7p33RtL9lQG9IRK1udvrdPhuR7+aaSbaZn3qttPxj+BWG8cewlic46
YdUH8ypQZ27Ds5LjtLu8MqNH7m0UGgOb9mMD1qQBmhq9hrSN+Fkczbv
X-Developer-Key: i=quic_yuanfang@xxxxxxxxxxx; a=ed25519;
pk=ZrIjRVq9LN8/zCQGbDEwrZK/sfnVjwQ2elyEZAOaV1Q=
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01b.na.qualcomm.com (10.47.209.197)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-GUID: G5pnpVGpZaeECgjra_qgSV-DTe-sRA6Y
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTMwMDA2MiBTYWx0ZWRfX3aAPgmUQ98FE
pl5SgetZxmhrEMwyvBvlXy4tIsZ45T1pwlioDib60tvf9MbcFjaaELW/lNeDgpDwcYikSlidvhk
iDhkcDSm3KM7KCKF1sIqR9+o3IFbWM10LbpqI3cH4ZpzLWZjUcnOKcjAOVLC+rp7/f/qEJChaCM
jA7mgg1JvIoiJanck6PILvi5CUgQt5DX+o6imBSkS0NK7MiCATBZ2h0HjMk0JkX5mVC0FgHvjV9
JL92Vjml/2nq2DP5mFu55x24E+yC5IbeQWwH3ZwivM/C5kiOjHTlsOyzIt3s73MzI3Vm8E/VTGh
QFhUX05/OJjoT0OrzAEChsfpcRSDASn2CyrDhE8V8yyy36wEvJjupyP3K0YuHFO56Y4S+GXzDy6
bclWvqUAWHVrkTSxzX4+jjO6He+nDyllaRmOY/kYcP/bzMJFh51GFUtE4D7q91YGnNGOF1vB
X-Authority-Analysis: v=2.4 cv=fMk53Yae c=1 sm=1 tr=0 ts=68395e67 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=XC05_-ciSpCNkHTdwDIA:9 a=QEXdDO2ut3YA:10 a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: G5pnpVGpZaeECgjra_qgSV-DTe-sRA6Y
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-30_03,2025-05-29_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=999 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-2505300062
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 trace ID of TPMD is the trace ID of the TPDA or TNOC
which it is connected to, this change adds trace_id sysfs
node to expose this trace id to userspace.

Signed-off-by: Yuanfang Zhang <quic_yuanfang@xxxxxxxxxxx>
---
drivers/hwtracing/coresight/coresight-tpdm.c | 16 ++++++++++++++++
drivers/hwtracing/coresight/coresight-tpdm.h | 2 ++
2 files changed, 18 insertions(+)

diff --git a/drivers/hwtracing/coresight/coresight-tpdm.c b/drivers/hwtracing/coresight/coresight-tpdm.c
index 7214e65097ec9ac69f6c7c9278bcd28d25945c9e..8a5d115157924f39b09f8e3005827d7d64aa376c 100644
--- a/drivers/hwtracing/coresight/coresight-tpdm.c
+++ b/drivers/hwtracing/coresight/coresight-tpdm.c
@@ -497,6 +497,9 @@ static int tpdm_enable(struct coresight_device *csdev, struct perf_event *event,

__tpdm_enable(drvdata);
drvdata->enable = true;
+
+ if (path)
+ drvdata->traceid = path->trace_id;
spin_unlock(&drvdata->spinlock);

dev_dbg(drvdata->dev, "TPDM tracing enabled\n");
@@ -554,6 +557,7 @@ static void tpdm_disable(struct coresight_device *csdev,
__tpdm_disable(drvdata);
coresight_set_mode(csdev, CS_MODE_DISABLED);
drvdata->enable = false;
+ drvdata->traceid = 0;
spin_unlock(&drvdata->spinlock);

dev_dbg(drvdata->dev, "TPDM tracing disabled\n");
@@ -655,9 +659,21 @@ static ssize_t integration_test_store(struct device *dev,
}
static DEVICE_ATTR_WO(integration_test);

+static ssize_t traceid_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ unsigned long val;
+ struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
+
+ val = drvdata->traceid;
+ return sprintf(buf, "%#lx\n", val);
+}
+static DEVICE_ATTR_RO(traceid);
+
static struct attribute *tpdm_attrs[] = {
&dev_attr_reset_dataset.attr,
&dev_attr_integration_test.attr,
+ &dev_attr_traceid.attr,
NULL,
};

diff --git a/drivers/hwtracing/coresight/coresight-tpdm.h b/drivers/hwtracing/coresight/coresight-tpdm.h
index b117543897344b689f666f6890cabb59c8ee4869..e12a64f265daa86f1b82fa3640e271e8386f99af 100644
--- a/drivers/hwtracing/coresight/coresight-tpdm.h
+++ b/drivers/hwtracing/coresight/coresight-tpdm.h
@@ -300,6 +300,7 @@ struct cmb_dataset {
* @cmb Specifics associated to TPDM CMB.
* @dsb_msr_num Number of MSR supported by DSB TPDM
* @cmb_msr_num Number of MSR supported by CMB TPDM
+ * @traceid: Value of the current ID for this component.
*/

struct tpdm_drvdata {
@@ -313,6 +314,7 @@ struct tpdm_drvdata {
struct cmb_dataset *cmb;
u32 dsb_msr_num;
u32 cmb_msr_num;
+ u8 traceid;
};

/* Enumerate members of various datasets */

---
base-commit: 94305e83eccb3120c921cd3a015cd74731140bac
change-id: 20250523-showtraceid-2df91c89be8f

Best regards,
--
Yuanfang Zhang <quic_yuanfang@xxxxxxxxxxx>


Return-Path: <linux-kernel+bounces-667717-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 BB72F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:31: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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 52F137AAE08
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:30:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C649B1EF363;
Fri, 30 May 2025 07:31: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="lnkwtJqW"
Received: from out30-132.freemail.mail.aliyun.com (out30-132.freemail.mail.aliyun.com [115.124.30.132])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59CD710FD
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:31:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.132
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748590291; cv=none; b=myzpUlLyrycOjp7olr6+fNVD7J5+bfNxI4qVe8Toz7+DtXhwu1RMHJS3FBqlbliZTnQJi2mCig4MPkCKTn0EipfKec2+rG6OwiDO+DDC6LY1upt3yO2EuBFxZzRQBw9gTZ+ARwE+vaMPkO/dvRg4RBLc+A0h1PClmZ195e70XWQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590291; c=relaxed/simple;
bh=4kWdTAYOz5Pc5WNpJNLqZME+zHvxxbllcD5V1Sv5q6E=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=EM9LQv4aNk/rwusARK+Ku1viRguKZPx1NV6ti3WvSgqkPNgN/1PS54B1os/CFa5D2WxO50uBoPjCUWdHLTtuPrGAOyeoVnmEex3IHZypYiu1jYBQN4siWTMw5pcdUCY2Sn9GqYBxklLggQ/Le8nA5X6EGaPkrs2k/hGD23INxBs=
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=lnkwtJqW; arc=none smtp.client-ip=115.124.30.132
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=1748590285; h=From:To:Subject:Date:Message-Id:MIME-Version;
bh=sUdJS8owTGJQ26ayrRUygOFvVD5DOZcz8FU13W0N0M4=;
b=lnkwtJqWiifuNG2n4tgc3acC6Il9R9qniL4/LlJ3+3tnudrm0fRWa3pbXsmNrGj9uwPn5lO8iEMsBeT4cAv5aF9ipA4ntYTWsghEpOGIgDY2edsd3nn0UPf88tki3lsoZxFSUWmDfk34m2L7FPjt5JILup2L9GSlavbLbV7ttH0=
Received: from localhost.localdomain(mailfrom:yaoma@xxxxxxxxxxxxxxxxx fp:SMTPD_---0WcKViDG_1748590283 cluster:ay36)
by smtp.aliyun-inc.com;
Fri, 30 May 2025 15:31:24 +0800
From: Bitao Hu <yaoma@xxxxxxxxxxxxxxxxx>
To: kbusch@xxxxxxxxxx,
axboe@xxxxxxxxx,
hch@xxxxxx,
sagi@xxxxxxxxxxx
Cc: linux-nvme@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yaoma@xxxxxxxxxxxxxxxxx,
kanie@xxxxxxxxxxxxxxxxx
Subject: [PATCH] nvme: Support per-device timeout settings
Date: Fri, 30 May 2025 15:31:21 +0800
Message-Id: <20250530073121.26683-1-yaoma@xxxxxxxxxxxxxxxxx>
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-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

The current 'admin_timeout' and 'io_timeout' parameters in
the NVMe driver are global, meaning they apply to all NVMe
devices in the system. However, in certain scenarios, it is
necessary to set separate timeout values for different
types of NVMe devices.

To address this requirement, we propose adding two new fields,
'admin_timeout' and 'io_timeout', to the sysfs interface for
each NVMe device. By default, these values will be consistent
with the global parameters. If a user sets these values
individually for a specific device, the user-defined values
will take precedence.

Usage example:
To set admin_timeout=100 and io_timeout=50 for the NVMe device nvme1,
use the following commands:

echo 100 > /sys/class/nvme/nvme1/admin_timeout
echo 50 > /sys/class/nvme/nvme1/io_timeout

Signed-off-by: Bitao Hu <yaoma@xxxxxxxxxxxxxxxxx>
---
drivers/nvme/host/apple.c | 2 +-
drivers/nvme/host/core.c | 6 ++--
drivers/nvme/host/nvme.h | 2 +-
drivers/nvme/host/pci.c | 4 +--
drivers/nvme/host/rdma.c | 2 +-
drivers/nvme/host/sysfs.c | 62 +++++++++++++++++++++++++++++++++++++++
drivers/nvme/host/tcp.c | 2 +-
7 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
index b1fddfa33ab9..ec7c7cfcdf5b 100644
--- a/drivers/nvme/host/apple.c
+++ b/drivers/nvme/host/apple.c
@@ -821,7 +821,7 @@ static void apple_nvme_disable(struct apple_nvme *anv, bool shutdown)
* doing a safe shutdown.
*/
if (!dead && shutdown && freeze)
- nvme_wait_freeze_timeout(&anv->ctrl, NVME_IO_TIMEOUT);
+ nvme_wait_freeze_timeout(&anv->ctrl);

nvme_quiesce_io_queues(&anv->ctrl);

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index f69a232a000a..32eade3418f8 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -725,11 +725,10 @@ void nvme_init_request(struct request *req, struct nvme_command *cmd)
struct nvme_ns *ns = req->q->disk->private_data;

logging_enabled = ns->head->passthru_err_log_enabled;
- req->timeout = NVME_IO_TIMEOUT;
} else { /* no queuedata implies admin queue */
logging_enabled = nr->ctrl->passthru_err_log_enabled;
- req->timeout = NVME_ADMIN_TIMEOUT;
}
+ req->timeout = req->q->rq_timeout;

if (!logging_enabled)
req->rq_flags |= RQF_QUIET;
@@ -5174,10 +5173,11 @@ void nvme_unfreeze(struct nvme_ctrl *ctrl)
}
EXPORT_SYMBOL_GPL(nvme_unfreeze);

-int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout)
+int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl)
{
struct nvme_ns *ns;
int srcu_idx;
+ long timeout = ctrl->tagset->timeout;

srcu_idx = srcu_read_lock(&ctrl->srcu);
list_for_each_entry_srcu(ns, &ctrl->namespaces, list,
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index ad0c1f834f09..50b5f2848f85 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -833,7 +833,7 @@ void nvme_sync_queues(struct nvme_ctrl *ctrl);
void nvme_sync_io_queues(struct nvme_ctrl *ctrl);
void nvme_unfreeze(struct nvme_ctrl *ctrl);
void nvme_wait_freeze(struct nvme_ctrl *ctrl);
-int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout);
+int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl);
void nvme_start_freeze(struct nvme_ctrl *ctrl);

static inline enum req_op nvme_req_op(struct nvme_command *cmd)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index e0bfe04a2bc2..e0b29b385d0b 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2690,7 +2690,7 @@ static bool __nvme_delete_io_queues(struct nvme_dev *dev, u8 opcode)
unsigned long timeout;

retry:
- timeout = NVME_ADMIN_TIMEOUT;
+ timeout = dev->ctrl.admin_q->rq_timeout;
while (nr_queues > 0) {
if (nvme_delete_queue(&dev->queues[nr_queues], opcode))
break;
@@ -2871,7 +2871,7 @@ static void nvme_dev_disable(struct nvme_dev *dev, bool shutdown)
* if doing a safe shutdown.
*/
if (!dead && shutdown)
- nvme_wait_freeze_timeout(&dev->ctrl, NVME_IO_TIMEOUT);
+ nvme_wait_freeze_timeout(&dev->ctrl);
}

nvme_quiesce_io_queues(&dev->ctrl);
diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
index b5a0295b5bf4..01a9250810cf 100644
--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@ -888,7 +888,7 @@ static int nvme_rdma_configure_io_queues(struct nvme_rdma_ctrl *ctrl, bool new)
if (!new) {
nvme_start_freeze(&ctrl->ctrl);
nvme_unquiesce_io_queues(&ctrl->ctrl);
- if (!nvme_wait_freeze_timeout(&ctrl->ctrl, NVME_IO_TIMEOUT)) {
+ if (!nvme_wait_freeze_timeout(&ctrl->ctrl)) {
/*
* If we timed out waiting for freeze we are likely to
* be stuck. Fail the controller initialization just
diff --git a/drivers/nvme/host/sysfs.c b/drivers/nvme/host/sysfs.c
index 29430949ce2f..9b8c29435bfa 100644
--- a/drivers/nvme/host/sysfs.c
+++ b/drivers/nvme/host/sysfs.c
@@ -10,6 +10,66 @@
#include "nvme.h"
#include "fabrics.h"

+static ssize_t admin_timeout_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct nvme_ctrl *ctrl = dev_get_drvdata(dev);
+
+ return sysfs_emit(buf, "%u\n", ctrl->admin_tagset->timeout / HZ);
+}
+
+static ssize_t admin_timeout_store(struct device *dev,
+ struct device_attribute *attr, const char *buf,
+ size_t count)
+{
+ int ret;
+ unsigned int timeout;
+ struct nvme_ctrl *ctrl = dev_get_drvdata(dev);
+
+ ret = kstrtouint(buf, 10, &timeout);
+ if (ret < 0 || timeout == 0)
+ return -EINVAL;
+
+ timeout = timeout * HZ;
+ ctrl->admin_tagset->timeout = timeout;
+ blk_queue_rq_timeout(ctrl->admin_q, timeout);
+
+ return count;
+}
+static DEVICE_ATTR_RW(admin_timeout);
+
+static ssize_t io_timeout_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct nvme_ctrl *ctrl = dev_get_drvdata(dev);
+
+ return sysfs_emit(buf, "%u\n", ctrl->tagset->timeout / HZ);
+}
+
+static ssize_t io_timeout_store(struct device *dev,
+ struct device_attribute *attr, const char *buf,
+ size_t count)
+{
+ int ret, srcu_idx;
+ unsigned int timeout;
+ struct nvme_ns *ns;
+ struct nvme_ctrl *ctrl = dev_get_drvdata(dev);
+
+ ret = kstrtouint(buf, 10, &timeout);
+ if (ret < 0 || timeout == 0)
+ return -EINVAL;
+
+ timeout = timeout * HZ;
+ ctrl->tagset->timeout = timeout;
+ srcu_idx = srcu_read_lock(&ctrl->srcu);
+ list_for_each_entry_srcu(ns, &ctrl->namespaces, list,
+ srcu_read_lock_held(&ctrl->srcu)) {
+ blk_queue_rq_timeout(ns->queue, timeout);
+ }
+ srcu_read_unlock(&ctrl->srcu, srcu_idx);
+
+ return count;
+}
+static DEVICE_ATTR_RW(io_timeout);
+
static ssize_t nvme_sysfs_reset(struct device *dev,
struct device_attribute *attr, const char *buf,
size_t count)
@@ -722,6 +782,8 @@ static DEVICE_ATTR(dhchap_ctrl_secret, S_IRUGO | S_IWUSR,
static struct attribute *nvme_dev_attrs[] = {
&dev_attr_reset_controller.attr,
&dev_attr_rescan_controller.attr,
+ &dev_attr_admin_timeout.attr,
+ &dev_attr_io_timeout.attr,
&dev_attr_model.attr,
&dev_attr_serial.attr,
&dev_attr_firmware_rev.attr,
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index f6379aa33d77..c66c98e2cfe4 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -2169,7 +2169,7 @@ static int nvme_tcp_configure_io_queues(struct nvme_ctrl *ctrl, bool new)
if (!new) {
nvme_start_freeze(ctrl);
nvme_unquiesce_io_queues(ctrl);
- if (!nvme_wait_freeze_timeout(ctrl, NVME_IO_TIMEOUT)) {
+ if (!nvme_wait_freeze_timeout(ctrl)) {
/*
* If we timed out waiting for freeze we are likely to
* be stuck. Fail the controller initialization just
--
2.39.5 (Apple Git-154)


Return-Path: <linux-kernel+bounces-667719-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 A495541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:36: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 530943AA499
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 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 AA5D721A43C;
Fri, 30 May 2025 07:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cHF41XNp"
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 BCA4D1DE896;
Fri, 30 May 2025 07:35: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=1748590540; cv=none; b=CDQ0oPmn0rG5StoBiQruH9Gv9ly6OskfA2WY8ZKiC/EvosswUBlQY6MqK5FfJRv+Iv5E3me7Iq9P+j71S76/wakhtwv0d2c63alUi9eIyNKynsaBlb2WyJrg7Vl1Ilx8NUdM/GPNpzp4Fmvbg4PVCMtS9dc2P/CDGohTLc+Z3Dg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590540; c=relaxed/simple;
bh=D4LvA7UrfCTe8VeKBExXVK+cUwdzdAgvCjBwbtio6bU=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=JHJJb+an4SoWyreww5x/bTlkoDflJ58EFaq5w9fkHxFhosRQZdfbIEOVY46iPjDa0TwHwoMb5qHb+efraKfDJ3gCSoSw/G9sHPYFdYBM+48wNSsac3ZNOlHNCcYpL8Qdd0UA2ySUcb1kVmokfxYk0cD6PdIxOS3nfV5btnCmvOI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cHF41XNp; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 47C2CC4AF0C;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=D4LvA7UrfCTe8VeKBExXVK+cUwdzdAgvCjBwbtio6bU=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=cHF41XNpjmO83gunUJHs1M1NZ3ZrIRkoAWGWYaKedhb80ELGCB1JtZ0k8nzmmpu61
ICdyPt+mznYM4n1oEWPCOrkbSs0OKwrx3B0AoPOUMxA6NxU5ve1XrKYTMhCEr6+nc1
U7V17cCt+tTTb4YWbXecOcDoiy06B7M0f7F3XYCLJToyg/v1RvIwv/0gq3A0d9Ms5e
OALdLIhcN1IXlkwDNrQ5L9RJrUU0Kd6zrGVrD8cYiCZrVPJe6lgsSMKJ/C6cLhYhng
493tAjsW+qoBtwzUxQ7IQJR6/SjJ20ClFOK3EprPVNJ1JE9qKYo2eiVVeivIqr0mf8
tQVg9DscP7prw==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 36FF7C5B552;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:07 +0800
Subject: [PATCH v2 2/8] power: supply: core: Add state_of_health power
supply property
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-2-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=2318;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=4T4hHb+n7mzpuwhjLl1QDUEn8r857rZ0TUShtny5/Kc=;
b=YbVEwriCt6SIvmGBzCu2fiJXySFAMVooeEyW/zfsRtCBxRiW5LTqZ4qaR39GefZ36IW7ojGfx
4tfWtez1vVlC/D6HguOVILhZzmGXCmGGncHNDs+OrdtO/X23/1bbszk
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Add state_of_health power supply property to represent battery
health percentage.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
Documentation/ABI/testing/sysfs-class-power | 10 ++++++++++
drivers/power/supply/power_supply_sysfs.c | 1 +
include/linux/power_supply.h | 1 +
3 files changed, 12 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
index 22a565a6a1c509461b8c483e12975295765121d6..74e0d4d67467500c3cd62da3ae0b2e4a67e77680 100644
--- a/Documentation/ABI/testing/sysfs-class-power
+++ b/Documentation/ABI/testing/sysfs-class-power
@@ -562,6 +562,16 @@ Description:

Valid values: Represented in microohms

+What: /sys/class/power_supply/<supply_name>/state_of_health
+Date: May 2025
+Contact: linux-arm-msm@xxxxxxxxxxxxxxx
+Description:
+ Reports battery power supply state of health in percentage.
+
+ Access: Read
+
+ Valid values: 0 - 100 (percent)
+
**USB Properties**

What: /sys/class/power_supply/<supply_name>/input_current_limit
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index dd829148eb6fda5dcd7eab53fc70f99081763714..12af0d0398822ff23d8970f6bdc8e3ef68081a1d 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -221,6 +221,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = {
POWER_SUPPLY_ATTR(MANUFACTURE_MONTH),
POWER_SUPPLY_ATTR(MANUFACTURE_DAY),
POWER_SUPPLY_ATTR(RESISTANCE),
+ POWER_SUPPLY_ATTR(STATE_OF_HEALTH),
/* Properties of type `const char *' */
POWER_SUPPLY_ATTR(MODEL_NAME),
POWER_SUPPLY_ATTR(MANUFACTURER),
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index de3e88810e322546470b21258913abc7707c86a7..dd0108940231352ac6c6f0fa962d1ea904d81c7a 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -175,6 +175,7 @@ enum power_supply_property {
POWER_SUPPLY_PROP_MANUFACTURE_MONTH,
POWER_SUPPLY_PROP_MANUFACTURE_DAY,
POWER_SUPPLY_PROP_RESISTANCE,
+ POWER_SUPPLY_PROP_STATE_OF_HEALTH,
/* Properties of type `const char *' */
POWER_SUPPLY_PROP_MODEL_NAME,
POWER_SUPPLY_PROP_MANUFACTURER,

--
2.34.1



Return-Path: <linux-kernel+bounces-667718-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 44CF341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:36: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 802B64A3807
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B56D521ADA9;
Fri, 30 May 2025 07:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rt6ilV55"
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 BC9ED10FD;
Fri, 30 May 2025 07:35: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=1748590540; cv=none; b=bzN33qY3sdWbr/qs9zc4/M4e9q5t3QACsi7PS5nayHFd23exNeOwTpOFlMwf0JGd/ZK98Ud9aM2gqAivOv5gaS72DbKx6ZZ7TjV230ulfrE7m8PQ4sk3TmGG6sdZ38wC3TKwB8CpmrkkdYgp6VrwziA56h2BQiXtOOGslInZd+0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590540; c=relaxed/simple;
bh=HpRU3ck2iDgNbdzeI8oBQWZLheKpAIeZpo9xfMldP2w=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=az/5YMuPYgPYTPWdHa79BVP1PqGrgbPGLx0ybZmdGEaojopu+BhbOCuzk/Wj7HUFV7K9/XyIw+cOJQ1BxBSZ3XqtKdtGKjiY/jpShWJiUCPUvAJxfCHpE7cjbIVzIzLo8/0cm/0nXD6ZlSozqTlx0r/BIfEGbRBFqvfMj2ZwVlc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rt6ilV55; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 4E8E9C4CEF3;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=HpRU3ck2iDgNbdzeI8oBQWZLheKpAIeZpo9xfMldP2w=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=rt6ilV55CVdzl+vZAHWoQmGghXXWQJXsyePqgDcsd1Aj9rJop3t0+hmGnk/ILNYgt
r7skrw969lxpjGar8p4KGNVQ+fyw1Y0ybQB8knkZ4V2+x9hTYxRm7uZrqbVf0GLp4C
fjVKb/bx7mRyvMem4mZQs9iaF0lH7+XLnXgXwygYpCMQvnLzLFYvB7YIq2rW9hTKzZ
rD9vwnhAvwQyamWQBID1TnG3T1fYtSM7EOnhaa11+MNT7jebaDJZygxejPZvmWgwRY
AbNoTOpaomZiGc/Utla7iqh0notb00cbL4YxThMtf+CBosPSwrfEOqTYP5SucHY4VY
CMVK7gJwK37lg==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 44F5BC3ABB2;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:08 +0800
Subject: [PATCH v2 3/8] power: supply: qcom_battmgr: Add resistance power
supply property
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-3-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=2437;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=0cVLEmmNpliBpNUD0QR9vZL+uf2t1nTBnEIcltQ8698=;
b=m14YG3sHE+PlJwy7oQPcaZxsDuP262u4Wnd1rJoWhr8DbjVnW1Iki+ZXW05QWmQKpuOqCiwqk
rphts1kUjp1BcEW5iZaZsHI0syCJ+NgHqVBHtGgfctYY9sr04+4F59f
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Add power supply property to get battery resistance from the battery
management firmware.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
drivers/power/supply/qcom_battmgr.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index fe27676fbc7cd12292caa6fb3b5b46a18c426e6d..bc521f60f67fa427cc03b51c44adaeb46ae746f5 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -2,6 +2,7 @@
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2022, Linaro Ltd
+ * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/auxiliary_bus.h>
#include <linux/module.h>
@@ -254,6 +255,7 @@ struct qcom_battmgr_status {
unsigned int voltage_now;
unsigned int voltage_ocv;
unsigned int temperature;
+ unsigned int resistance;

unsigned int discharge_time;
unsigned int charge_time;
@@ -418,6 +420,7 @@ static const u8 sm8350_bat_prop_map[] = {
[POWER_SUPPLY_PROP_MODEL_NAME] = BATT_MODEL_NAME,
[POWER_SUPPLY_PROP_TIME_TO_FULL_AVG] = BATT_TTF_AVG,
[POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG] = BATT_TTE_AVG,
+ [POWER_SUPPLY_PROP_RESISTANCE] = BATT_RESISTANCE,
[POWER_SUPPLY_PROP_POWER_NOW] = BATT_POWER_NOW,
};

@@ -582,6 +585,9 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
case POWER_SUPPLY_PROP_TEMP:
val->intval = battmgr->status.temperature;
break;
+ case POWER_SUPPLY_PROP_RESISTANCE:
+ val->intval = battmgr->status.resistance;
+ break;
case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG:
val->intval = battmgr->status.discharge_time;
break;
@@ -665,6 +671,7 @@ static const enum power_supply_property sm8350_bat_props[] = {
POWER_SUPPLY_PROP_MODEL_NAME,
POWER_SUPPLY_PROP_TIME_TO_FULL_AVG,
POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG,
+ POWER_SUPPLY_PROP_RESISTANCE,
POWER_SUPPLY_PROP_POWER_NOW,
};

@@ -1174,6 +1181,9 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,
case BATT_TTE_AVG:
battmgr->status.discharge_time = le32_to_cpu(resp->intval.value);
break;
+ case BATT_RESISTANCE:
+ battmgr->status.resistance = le32_to_cpu(resp->intval.value);
+ break;
case BATT_POWER_NOW:
battmgr->status.power_now = le32_to_cpu(resp->intval.value);
break;

--
2.34.1



Return-Path: <linux-kernel+bounces-667721-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 7AC3341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:36: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 C9BF34A363D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B82FF21B199;
Fri, 30 May 2025 07:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lNOYMDHi"
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 C01A51EA7DB;
Fri, 30 May 2025 07:35: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=1748590540; cv=none; b=b91lqCLqdKnTLtSdbe1iKskVX2yd5SPuy6HTwNzx35M+e5X54DzqgEIta+or2GstSLWDqtdnsd/pkqXgbP2rI2jeY0tORCxlL5EXt7g/uIhRm/7c80TyxWbXTDcSTd5OATL69W8l5uvuXEvHz44vCdfKJ2DYyTCegpyhDv1d16g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590540; c=relaxed/simple;
bh=D+uMpcIjU+XNGgExEF0M/EWM2T9xFedeFZkRfusIy5E=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=uCTaYuDocC2RJKF1guvpZB0lMWkLMKqzPh4dX6sIQe3o0c0PbfucKJ8qt2BDGb95YbQUz+1EiOQej7YpCTRMvjn03A23lh6ucxRIYQgr3ZHBLC1TNxxidVCxL4a3FsNeA6unz+Tq30L4mV09jIgVJx43utiNh5j9XO6KLV5X1o4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lNOYMDHi; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 406E2C4CEEE;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=D+uMpcIjU+XNGgExEF0M/EWM2T9xFedeFZkRfusIy5E=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=lNOYMDHiFH+g4W/WbaWOSDz3eOcOhHogMemphnL8wdlLAV7NhPZ5eCk/V5TOfGJrO
Q3g5/SDiWzLXkC7kMgTBFwJY/Ta6FS0+sFejYQSAvivWqJGWiVjfC2kp6kK6UPpGRJ
nZ6URLrf4fHA4d38qu6ae/S/qx8+icIi/bcynxjel9dfPDTdoVtfZGF8Qht5K2GrVR
AlwHJ4+SawsO/kWGOEVwAipMtycwm83nq4SGVFrI0DPtpP0SCRBOi2Y4M047QzReBo
pCx/fHH8qlb4Q7sk1A0cJ8xa7l0r1LfqF+24zsnvkDN7JhncSKrHAjs9Aw1FZNqbd6
I88s9wRsJb+9g==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 285C2C5B549;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:06 +0800
Subject: [PATCH v2 1/8] power: supply: core: Add resistance power supply
property
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-1-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=2414;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=f6uhUoiZgOE/CV2wIB6Vwbi/lg0mxjoGmX0Qx7uMFHM=;
b=bRRnA/Ob9AaILBJiPUmZMjq9yJNhHxR/BgxQEaXQ+Zz51RXd/ECxaLQIjQG3VyJtVVxb07cYj
dxo45CcU6J3DFYf9f7zsg1pJ9F2EZH8VvtqQhbDoex3eJbzw4X4DeD+
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Some battery drivers provide the ability to export resistance as a
parameter. Add resistance power supply property for that purpose.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
Documentation/ABI/testing/sysfs-class-power | 10 ++++++++++
drivers/power/supply/power_supply_sysfs.c | 1 +
include/linux/power_supply.h | 1 +
3 files changed, 12 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
index 560124cc31770cde03bcdbbba0d85a5bd78b15a0..22a565a6a1c509461b8c483e12975295765121d6 100644
--- a/Documentation/ABI/testing/sysfs-class-power
+++ b/Documentation/ABI/testing/sysfs-class-power
@@ -552,6 +552,16 @@ Description:
Integer > 0: representing full cycles
Integer = 0: cycle_count info is not available

+What: /sys/class/power_supply/<supply_name>/resistance
+Date: May 2025
+Contact: linux-arm-msm@xxxxxxxxxxxxxxx
+Description:
+ Reports the resistance of the battery power supply.
+
+ Access: Read
+
+ Valid values: Represented in microohms
+
**USB Properties**

What: /sys/class/power_supply/<supply_name>/input_current_limit
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index a438f7983d4f6a832e9d479184c7c35453e1757c..dd829148eb6fda5dcd7eab53fc70f99081763714 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -220,6 +220,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = {
POWER_SUPPLY_ATTR(MANUFACTURE_YEAR),
POWER_SUPPLY_ATTR(MANUFACTURE_MONTH),
POWER_SUPPLY_ATTR(MANUFACTURE_DAY),
+ POWER_SUPPLY_ATTR(RESISTANCE),
/* Properties of type `const char *' */
POWER_SUPPLY_ATTR(MODEL_NAME),
POWER_SUPPLY_ATTR(MANUFACTURER),
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index c4cb854971f53a244ba7742a15ce7a5515da6199..de3e88810e322546470b21258913abc7707c86a7 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -174,6 +174,7 @@ enum power_supply_property {
POWER_SUPPLY_PROP_MANUFACTURE_YEAR,
POWER_SUPPLY_PROP_MANUFACTURE_MONTH,
POWER_SUPPLY_PROP_MANUFACTURE_DAY,
+ POWER_SUPPLY_PROP_RESISTANCE,
/* Properties of type `const char *' */
POWER_SUPPLY_PROP_MODEL_NAME,
POWER_SUPPLY_PROP_MANUFACTURER,

--
2.34.1



Return-Path: <linux-kernel+bounces-667720-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 763A341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:36: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 3D0171BA506D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C163B21B1AA;
Fri, 30 May 2025 07:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hsbzZg8D"
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 BEC391E520B;
Fri, 30 May 2025 07:35: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=1748590540; cv=none; b=Y8ZEpi2LE1pM8X1lrzAQKta0G5I7qqbcxAutwFbTAmEGDGgTbRChjdIf0ulmS3t9PTetysCP7bZEEXr4mU8feiUcShVdKCIbpvBon2hycZsIJOC+hZfmPEuJLP1oMF6rvgkflzDDYQxr7xPNeKJLVlaCYhkR/RnZ3sgyX7olAwc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590540; c=relaxed/simple;
bh=5HxqNMeD1/f7YQnN7xhf+npL6xt1LWEI9PtEr8GuJRs=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=a3QKn22aXOfnqSspSHuJ8Tvb+dfr8+M4EttIvGkFTbtcY4VXnGS614Zti6VStnkHnT9X106AhN5s0MLEzOGF2y6QbOpINZmZ4dUhL9QaBcVkPIgNkqYSeKC/S+ZmQJG/7feMADZW6drk1pzFRDJjfY8PTuaJ0kaaNAr/9iP16cs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hsbzZg8D; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 2827FC4CEE9;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=5HxqNMeD1/f7YQnN7xhf+npL6xt1LWEI9PtEr8GuJRs=;
h=From:Subject:Date:To:Cc:Reply-To:From;
b=hsbzZg8DhpT7FQpI+c5O6BTIwVA/TpzlfNRtllXwtkVwWbpxTa7zMIxSgqp1PDFhW
SGyH4XCwsJK3UnpNcCYsEKK1weIuf30GYVLXTkyRiyQ5SbcmtHSV0mLkRYg7dikcU9
ejk1eL7NcM7FT5sIIow8d0rSiDyXwq6AF3HpP5vBtKPgRFQ2OhNtJd9DD1Cn8JUYKR
rxmhhHsMZMDA9Z0rCkQk3YnrmpkeKc4iLCY//lrCeQ51FFxs/XRzOXL1ULD+xlWxFB
5KZcAY8pQTsHucLpLbQp55w95xJnu2FKGiSbpWMCSwHYJY9RRVwnARSfVeM18Rqeto
fpghZ45zY/T+Q==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 0C4BFC3ABB2;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Subject: [PATCH v2 0/8] power: supply: Add several features support in
qcom-battmgr driver
Date: Fri, 30 May 2025 15:35:05 +0800
Message-Id: <20250530-qcom_battmgr_update-v2-0-9e377193a656@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=H4sIAKlfOWgC/22NywqDMBBFf0Vm3UgSmyy66n8UkTymGqhGkxgs4
r83FbrrZuBc7j2zQ8TgMMKt2iFgdtH5qQC/VGAGNfVInC0MnHJBBadkMX7stEpp7EO3zlYlJI2
QzBrBpaECynIO+HTbaX20hQcXkw/v80lm3/Tna/76MiOUcK2lvSJVQuLdx1gvq3qV8liXA+1xH
B9fkFb7vQAAAA==
X-Change-ID: 20250520-qcom_battmgr_update-3561dc526c05
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=3179;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=5HxqNMeD1/f7YQnN7xhf+npL6xt1LWEI9PtEr8GuJRs=;
b=hSy5b3n5jlNd/kBYUZ6n/phnURJVIB+JxwC6vo/qUrAwrhgsODUlTHSxJc7W9F0InrD/xTjvh
CXxmRPTdk/yAsgwmuk4UXFkgVQriEH+2NbQ/9eyZl4mZS2kWgssyRIc
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

Add following features in qcom-battmgr drivers as the battery management
firmware has provided such capabilities:
- Add resistance power supply property in core driver and qcom-battmgr
driver to get battery resistance
- Add state_of_health power supply property in core driver and
qcom-battmgr driver to get battery health percentage
- Add charge control start/end threshold control by using
charge_control_start_threshold and charge_control_end_threshold power
supply properties

The changes have been tested on QRD8650 and X1E80100-CRD devices based on
qcom/linux.git for-next commit f8d04825b12f42ec8198dee1ab4654792f9ac231.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- Corrected "qcom-battmgr" to "qcom_battmgr" in the commit subject of
patch 4/5.
- Added charge control support for X1E80100 platform in patch 5.
- X1E80100 is no longer a fallback of SM8550 in pmic-glink battmgr support,
hence added patch 6 in the pmic-glink binding to move X1E80100 out of the
fallbacks.
- Added patch 7 in glink-ucsi driver to include UCSI quirk for X1E80100
platform
- Added patch 8 to remove "qcom,sm8550-pmic-glink" compatible string in
x1* board files.
- Rebased the changes on qcom/linux.git for-next commit 44ef9ab4baaf496d227ab98d368016700f0b9300.
- Link to v1: https://lore.kernel.org/r/20250523-qcom_battmgr_update-v1-0-2bb6d4e0a56e@xxxxxxxxxxxxxxxx

---
Fenglin Wu (8):
power: supply: core: Add resistance power supply property
power: supply: core: Add state_of_health power supply property
power: supply: qcom_battmgr: Add resistance power supply property
power: supply: qcom_battmgr: Add state_of_health property
power: supply: qcom_battmgr: Add charge control support
dt-bindings: soc: qcom: pmic-glink: Move X1E80100 out of fallbacks
usb: typec: ucsi_glink: Add UCSI quirk for X1E80100 platform
arm64: dts: qcom: x1*: Remove qcom,sm8550-pmic-glink fallback

Documentation/ABI/testing/sysfs-class-power | 20 ++
.../bindings/soc/qcom/qcom,pmic-glink.yaml | 4 +-
arch/arm64/boot/dts/qcom/x1-crd.dtsi | 1 -
arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 1 -
.../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 1 -
.../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 1 -
.../boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 1 -
.../boot/dts/qcom/x1e80100-hp-omnibook-x14.dts | 1 -
.../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 1 -
.../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 1 -
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 1 -
drivers/power/supply/power_supply_sysfs.c | 2 +
drivers/power/supply/qcom_battmgr.c | 275 ++++++++++++++++++++-
drivers/usb/typec/ucsi/ucsi_glink.c | 1 +
include/linux/power_supply.h | 2 +
15 files changed, 295 insertions(+), 18 deletions(-)
---
base-commit: abbf1025002e4966bfcbf8a069234e485d49edf1
change-id: 20250520-qcom_battmgr_update-3561dc526c05

Best regards,
--
Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>



Return-Path: <linux-kernel+bounces-667722-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 6AA5041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:36: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 AB7844A3A02
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F23D821CC45;
Fri, 30 May 2025 07:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="I2EYN9QT"
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 DD6D91EF363;
Fri, 30 May 2025 07:35: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=1748590541; cv=none; b=OTWmLfVNUJl9GNZ2+UlutN2NKL3mjmb10QbpI/KzmEMXededNErr2VnuaClBHt8ZhdBDCyHoDaYJF3ZU5nDS/PohM8gK9ChsbPtyX9glLzWIT8X2ngVjuaYq36YJzS+zyCvDICJIwSFmITEPhXDwvtag0mWeR49+WWBa9JTIY9U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590541; c=relaxed/simple;
bh=fSH8VcUWn4IadvvlHLpin4WeIfYmHHLC9in+AqR65Tg=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=ogHmT67kABc43W2bZJg4S5KMPgUFTAItHmUn7txb7n1V6FAFDB3UBEY04vLFnzsXky2O97v0qnAIbW69sZJpjtzaMa0CxHx2/xLmWEsA8bQ4pLkCdJooeCzPGAN6yQy/fqw/t/5F7+erTMFBVcq8kyAfpOB0/nirJybkVCcY9Z4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=I2EYN9QT; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 72FBCC4CEFD;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=fSH8VcUWn4IadvvlHLpin4WeIfYmHHLC9in+AqR65Tg=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=I2EYN9QTXDqyQH1xu7hYd0Drwt2hrkxe19tW0BbmSwi/TKxNaK9OEB5rTnD2jiIWq
7ZPUBlskZd4ZxkLuskTjPhLJrvAVE6JpdJg+Vcm7SmVzf3OyUCizDnaNGrE/zZNq3I
bvefzMI6KRfcCQj8JMgVcG6gQ7OLDa0ooUf32PzPsFozLBbYicxI1lGtjj2rJyUNCx
Dd0Alnwus645TAqCMeinkQ37yl8D4PECOOgfExRN9SeWhV2HA2XaqElgyWabS6NmFx
eX/fuD0lv/EgKNSyp7N9t8yRQE2FPYaIseQz+CfPfnsID9Q7UUUJGZC2MOjgBlgej6
ECwdp9j3pPuDA==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 68BDBC3ABB2;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:09 +0800
Subject: [PATCH v2 4/8] power: supply: qcom_battmgr: Add state_of_health
property
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-4-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=2172;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=JvAD0WnJwITmbmbJY6i45xNmJBhhzbm9/zJiJwWXo38=;
b=9rkh5BKfzPngMIJ7u7RRP2bA7O0eJt+4RHcBRq4v21hAXG0ZxWZ3hgxupfw0Smd5t9HMNOC7r
TN0SOicvlABBzXLDkSgGXxFJ5ysniHzZOz2iWKVRJ4gFGiu/+/NhLZB
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Add state_of_health property to read battery health percentage from
battery management firmware.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
drivers/power/supply/qcom_battmgr.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index bc521f60f67fa427cc03b51c44adaeb46ae746f5..d5d0200b92bdc3d9a22f44159ad45b152efe8be0 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -256,6 +256,7 @@ struct qcom_battmgr_status {
unsigned int voltage_ocv;
unsigned int temperature;
unsigned int resistance;
+ unsigned int soh_percent;

unsigned int discharge_time;
unsigned int charge_time;
@@ -421,6 +422,7 @@ static const u8 sm8350_bat_prop_map[] = {
[POWER_SUPPLY_PROP_TIME_TO_FULL_AVG] = BATT_TTF_AVG,
[POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG] = BATT_TTE_AVG,
[POWER_SUPPLY_PROP_RESISTANCE] = BATT_RESISTANCE,
+ [POWER_SUPPLY_PROP_STATE_OF_HEALTH] = BATT_SOH,
[POWER_SUPPLY_PROP_POWER_NOW] = BATT_POWER_NOW,
};

@@ -588,6 +590,9 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
case POWER_SUPPLY_PROP_RESISTANCE:
val->intval = battmgr->status.resistance;
break;
+ case POWER_SUPPLY_PROP_STATE_OF_HEALTH:
+ val->intval = battmgr->status.soh_percent;
+ break;
case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG:
val->intval = battmgr->status.discharge_time;
break;
@@ -672,6 +677,7 @@ static const enum power_supply_property sm8350_bat_props[] = {
POWER_SUPPLY_PROP_TIME_TO_FULL_AVG,
POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG,
POWER_SUPPLY_PROP_RESISTANCE,
+ POWER_SUPPLY_PROP_STATE_OF_HEALTH,
POWER_SUPPLY_PROP_POWER_NOW,
};

@@ -1141,6 +1147,9 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,
case BATT_CAPACITY:
battmgr->status.percent = le32_to_cpu(resp->intval.value) / 100;
break;
+ case BATT_SOH:
+ battmgr->status.soh_percent = le32_to_cpu(resp->intval.value);
+ break;
case BATT_VOLT_OCV:
battmgr->status.voltage_ocv = le32_to_cpu(resp->intval.value);
break;

--
2.34.1



Return-Path: <linux-kernel+bounces-667725-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 C877B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:37: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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 78F033B5BBD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:37:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E2F0D223DC4;
Fri, 30 May 2025 07:35:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="j47fnGaI"
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 698D4218593;
Fri, 30 May 2025 07:35: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=1748590541; cv=none; b=taHeXPhszon55YvRHvGAtS7/qdX5o94hNQKNbbR5MP/Lj92Mu4Uisuq5+XRKxA711FzFa+JCM4jtJ3bep0RCoAXd4UfEv7zAd6NV/iauH73WFN7uDhB2LhjFvCIbdV/dDdUPB9Bsi9xzIFMjcrkYXx7VhE3q8q8cCy5fYGMTQ2U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590541; c=relaxed/simple;
bh=afGsXEqvsvUx6dNiyYpACh3eo2vwjeQjj8YJlik3MOs=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Ali2UQcoGxaLABgnwEus6q2pqtwV/69NAS2s0ja1mku+BqN9SQxdfKcR6Or9hgEppXqgEMh4uMEDzxJw0gFNVdbtGDiisXx7bLypy4aqQmschyfII2mPYqBjb/H2ekKjFqzFQtAhDlAc4gb+z5uFWp0EUIOHNB/d4zdHfhi6UVI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j47fnGaI; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 9B3F7C116D0;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=afGsXEqvsvUx6dNiyYpACh3eo2vwjeQjj8YJlik3MOs=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=j47fnGaIUH+DmWbVKztvE/aXSd0NIaX+K5BAg+0pNv3MEU27WC1CYtXJFyxbQNxG8
MLQkxUI1POYBbSNDGuhc8TC5NgxK89ecpnZNdbcUWCQVOZpCKiSxFwKHAKE0rGEPYW
aV01EIT2ey4uFn59inlstYJfFiC52JoA8y9j6lPHkb4QBF899ygBRafJvkmuvzAZkW
g+32hO6cvbUUknT9UgVahhdeY9N1MQ5BQrG+gr9h2zntHuoGYgPTHzntwIITAzzblH
ae8X/7tbOW8ZNyRCxOh1XAOshPFd9CC2nsSn5JJqF9e+t87cJuo1ZhPjStgfKEJzex
Sd+dvnsJe2pEw==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 901CBC3ABB2;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:12 +0800
Subject: [PATCH v2 7/8] usb: typec: ucsi_glink: Add UCSI quirk for X1E80100
platform
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-7-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=1276;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=dQg6k1rH9JeZXOd77cdrsXXp+gDn3BfTbsH0eA2Fx0g=;
b=+o52O9eawEr1KHvmULpL518x3uwspPR7DvcCFxkditKBT9yEqBpOgmpddijryjSaQaI42Y3LB
BiUARQyzPpoCa+Z+QChCpTW9IFtdCmlW/ZUJQj/vHkn1c2MFMb7ccWy
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Currently, the Qualcomm X1E80100 is treated as a fallback of SM8550
in pmic-glink support. However, the battmgr driver, which uses the
same pmic-glink compatible strings, has implemented charge control
functionality differently between SM8550 and X1E80100. As a result,
X1E80100 is no longer a fallback of SM8550 in pmic-glink support.

Therefore, add match data for X1E80100 separately in ucsi_glink driver
but keep the UCSI quirk the same as SM8550.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
drivers/usb/typec/ucsi/ucsi_glink.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c
index 8af79101a2fc75ae17be1d119b25a9c862e010b3..b10c3161fd577f672d15602023c1aa71a1ab4fe6 100644
--- a/drivers/usb/typec/ucsi/ucsi_glink.c
+++ b/drivers/usb/typec/ucsi/ucsi_glink.c
@@ -319,6 +319,7 @@ static const struct of_device_id pmic_glink_ucsi_of_quirks[] = {
{ .compatible = "qcom,sm8350-pmic-glink", .data = &quirk_sc8180x, },
{ .compatible = "qcom,sm8450-pmic-glink", .data = &quirk_sm8450, },
{ .compatible = "qcom,sm8550-pmic-glink", .data = &quirk_sm8450, },
+ { .compatible = "qcom,x1e80100-pmic-glink", .data = &quirk_sm8450, },
{}
};


--
2.34.1



Return-Path: <linux-kernel+bounces-667724-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 40E1F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:37: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 A00B97B3216
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4C0C22370F;
Fri, 30 May 2025 07:35:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U4FiFXcg"
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 67236217736;
Fri, 30 May 2025 07:35: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=1748590541; cv=none; b=jc5nCnxh7yefkg1LnIGMgcHfA65SN5TWO1SSyERMWy4/sF1llckcCuhj7LKwcaB7A3J6acKt5Qxc7k98iDaJj5fPfeRgl41tJTx8ossGO0QOFMuoXu2GXJclSTLJSRY07/KBq/8WciZ3TnksRvJ1iY+ZKvePBJkP+Fh4Z9WLWg0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590541; c=relaxed/simple;
bh=SLH0/e6jpaZePdqGNp9px61CLgYmQRPgVnhUwsNM8w4=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=FTwN8ithilMjN/5xvRLflTvIYVQ5FAc+W/lw9pWgX/+HuR+YO2P8kbBz3Udm3FdWt9QJuK9VYdz/ZpKk+VTpkfUmZxKYUJPZ2QE9t78Pv2ayY76IJ+fyM2VG8/UqeaR4M4IUx171H9/xrixMeEPa3cKiTYX/K3u0I5K2wQJ75vQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U4FiFXcg; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 8BBA3C4CEFB;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=SLH0/e6jpaZePdqGNp9px61CLgYmQRPgVnhUwsNM8w4=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=U4FiFXcgWGJcN/8TCmcb35p4a2b+cpoGgG2j4vCaBwxKVLSBxJ9DM3FyVqNuOvUvc
sGykvGx8x85yFN2m/2oFWLV4udVvVC2fIXV/AdOMrgaCFE0p2nbvJtWYqH6DAuzjpo
tPkX96KCaKMvWr8iS3gkdYZOHAhJDdMyqoWR4fBPpAH7FhdV6g1gLCJetu5Ko+ZdMa
fTh17xQLFoeQsHzC6r0mrra/ChDQ9S4/clLH8JolTdo/v4/XLgjonsgzwsyXZyK68v
FFVaI2B9K5/35kofw1lsaWU7/gbVptM1RxBB+VwMgwQnFMUHjnEiVcu7zh0AmzJg84
l17chgEFbUDpA==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 82FB3C5B549;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:11 +0800
Subject: [PATCH v2 6/8] dt-bindings: soc: qcom: pmic-glink: Move X1E80100
out of fallbacks
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-6-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=1055;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=Cum9h5T8HOEqZYRtn+XVwUsJjYopn4P2b00zD/gfTPk=;
b=/hIg7NchpOii0i76vHdkSEiRHdTrH5KjZa/MLTucRF+++OFB39/RfeGLaIx+bJr85TDrx6E7U
Hmyij3OpD+wDfzqRGCIzUykjGLpqVxP+u9ORjXqDHcCI5UqWCdIpxJF
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Move X1E80100 out of the fallbacks of SM8550 in pmic-glink support.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml
index 4c9e78f29523e3d77aacb4299f64ab96f9b1a831..972bec151118f2e20e1f3b4e0c0a8fbbbea7ab90 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml
@@ -39,9 +39,11 @@ properties:
- enum:
- qcom,sm8650-pmic-glink
- qcom,sm8750-pmic-glink
- - qcom,x1e80100-pmic-glink
- const: qcom,sm8550-pmic-glink
- const: qcom,pmic-glink
+ - items:
+ - const: qcom,x1e80100-pmic-glink
+ - const: qcom,pmic-glink

'#address-cells':
const: 1

--
2.34.1



Return-Path: <linux-kernel+bounces-667726-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 1B5D441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:37: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 BD8157B3816
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 19A28223DEA;
Fri, 30 May 2025 07:35:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ELiztn5I"
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 4742521E08B;
Fri, 30 May 2025 07:35: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=1748590542; cv=none; b=Wf5P9WqaRDv/0j4laYNmM9JYxaDFlsQG22DK5/JFFNsnlTgZAsbeojbzywnFeBxe9wH9xwSX/deknJxIEORljLE9tj1o6YH3veNZ54n0H4ruSjzqp8yPMJLbX1E31ub2iARV1ewqaSu36fcc0pAhdhwt8Drc2rUTunQYBofb3o8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590542; c=relaxed/simple;
bh=c1Kgnkn3omq/NMFoaeT8ErRn6AuQRpmtsAZYiwa2iKM=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=KcTQ3Nvrh0RCovwgoQG60UCbiM09SXZAQs9A4REl3OAanhzLnLDFM0iGqsFBlr2N6TVmo/MCFSDX3Dkcm0WIXDM22z0c+21ponZB14jkpZpQwrBSjPpeMDSJVzA7IU+ievBlKl92K7s3Hxw/TeSKt1d91HXPLmdCCEfQCiqIBcI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ELiztn5I; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id A6230C113D0;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=c1Kgnkn3omq/NMFoaeT8ErRn6AuQRpmtsAZYiwa2iKM=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=ELiztn5I6YBBIJgkTstguPjTwdUmQjDdevydGpBAtpSManoJHjWQ5IL19kA/UZORl
1gpQb2u2BjZFluXfgur0mGQYbIGcP0m9Gf7jGpbtf0BX9UvDQBy5G0RS7P9OeIrfjq
6mvZ5r5lUDjx4V56g2INCbVoV1JKd66DOdtJRLf6kxGo3t18FC462EdFnEqqqyBvb8
wBhvYP1QmeDnh4Fv+Isq2NbJ/L9Jcni8q8esFBQ1yClpZb0eDcTZZpGBCYRuuAotpQ
QvAY/1Ic1thvZ2TmIvO6IWLp70QGmmq7h6zdlU5lgWJ9zrO7R9kqJAHZA6J8d3IXGQ
EgHctsOCHThSg==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 9CE8AC5B553;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:13 +0800
Subject: [PATCH v2 8/8] arm64: dts: qcom: x1*: Remove
qcom,sm8550-pmic-glink fallback
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-8-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=5982;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=X+TxGqrGeFrGC5fjW0b/Inx80/aw7X040xs1XjnqxDs=;
b=qHgEdC5OU8ylreHSrnO+egnVmDr9kOZjDds1IVuJodwglo7n4ia5wFKiddXxdkBJOd4TRLVh9
8/brQverAAhBj5C76rTsuAtOsC+J8ctUGyATyP0MA/vPbEcj5D+ja17
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

The "qcom,x1e80100-pmic-glink" is not longer a fallback compatible
string of "qcom,sm8550-pmic-glink", so remove "qcom,sm8550-pmic-glink"
in x1* platform pmic-glink device nodes.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/x1-crd.dtsi | 1 -
arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 1 -
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 1 -
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 1 -
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 1 -
arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts | 1 -
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 1 -
arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 1 -
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 1 -
9 files changed, 9 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/x1-crd.dtsi b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
index c9f0d505267081af66b0973fe6c1e33832a2c86b..33d908c8011abe7bbbaca539bb9724f12c679c68 100644
--- a/arch/arm64/boot/dts/qcom/x1-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
@@ -74,7 +74,6 @@ switch-lid {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
index 2d9627e6c7983daedba87619ba01074ee22b43c9..d6ad762b8f30cc586761fc75ba95608301b3f599 100644
--- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
+++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
@@ -51,7 +51,6 @@ chosen {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
index ac1dddf27da30e6a9f7e1d1ecbd5192bf2d0671e..00e6009e3e4e89e4ca45c2d1b1f20e8caaa85bbf 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
@@ -64,7 +64,6 @@ switch-lid {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
<&tlmm 123 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index 71b2cc6c392fef9edd19477e4aab6e28699e1eb7..e278997c98e99b1791eb2e0a9dd25ec01b40563b 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -39,7 +39,6 @@ switch-lid {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
<&tlmm 123 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
index 967f6dba0878b51a985fd7c9570b8c4e71afe57d..e6f1f72505a8dff5b1ffed5f93614973f649e275 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -59,7 +59,6 @@ led-camera-indicator {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
<&tlmm 123 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
index 10b3af5e79fb6493cd6b6c661de6a801e40092f7..8057a5dadabcbf16426ba0088a13eb9c35ffff61 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
@@ -83,7 +83,6 @@ switch-lid {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
<&tlmm 123 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index dad0f11e8e8583df6fd8aeec5be2af86739d85fb..aee38ead38a94ddca525b55004d8b8655e8484df 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -41,7 +41,6 @@ switch-lid {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 0fd8516580b2679ee425438cb73fd4078cb20581..d2bce79c4a4146c57602cf48fbb42446004f48e2 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -94,7 +94,6 @@ led-camera-indicator {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
index 4dfba835af6a064dbc5ad65671cb8a6e4df79758..2845a8929f80f9f9921568fb76cba79e60ebcd42 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
@@ -52,7 +52,6 @@ chosen {

pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
"qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;

--
2.34.1



Return-Path: <linux-kernel+bounces-667723-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 2D26B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:38: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 D78AD4A4769
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:38:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7CF732248AB;
Fri, 30 May 2025 07:35:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kiogAM7F"
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 01C0220E6E2;
Fri, 30 May 2025 07:35: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=1748590541; cv=none; b=k3BwIvfX8UWfInwu0xyi9e2/TcF/LpbHiEbjjGUZDxupG0/txZdp63Qg8BXUbVzlb6WNZ1z7bybz5wToDg5GnMkDtJy6oxgqsaXaD2ccZsPPcRRIfMpJpw09RVKa9TlaZAxd9DwnLxxbuc+m+wBzgI67WHr2fuxCqpRaXAkthUA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590541; c=relaxed/simple;
bh=I7vVj46X/TuoUOXGqkLDn4CTbOSzY+ii6ETEXV21OWA=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=lWzocu4ZofT31MUmWoYrHC2H+uimUw+fIS6hEw798fTYOuEB9gUt1HyHwXb3Duk9GEDr1EsE1PKb5LL9EwD93WXgfoXV0NWg49FcO44JFCI6e1W7fv6aTfm5Xmpy826fzbwgMTy5WrH54/6wNI2ORnOnG5Lj0EO7vdQ22bqYp04=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kiogAM7F; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPS id 7F612C4CEFE;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748590540;
bh=I7vVj46X/TuoUOXGqkLDn4CTbOSzY+ii6ETEXV21OWA=;
h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;
b=kiogAM7F0GtVQYSg9zuMLBIO6UT8ojpJE4nsMs9+5nsnceDPB3HNceP+OvI5O0+M0
yYvrqL6jAKqTtHlrD6TSgapnEN7WRP1DQKf+47d/l7HI7bC1NRvvuzCdZ//4DoQaTA
sCsPAv4SrChe+neiB9l1UsWVC6UIOoedw6+yrFxOYdI23bOu/glZtO65Qp7xLhExhS
t1mWBNjUPNhnLQZ5Ndy8SxuEsPvms0Ige3/moZLfiYQAz4XDbBtIr3WaWysvckn/Pm
DHN8RJIy3VnAq/mHZkcBWwOOaLoF0WSUSz4oFFdtOmoto1rpuysVGFN28amjKwDoYu
kM6/1nfl4ugbg==
Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1])
by smtp.lore.kernel.org (Postfix) with ESMTP id 75F4BC5B552;
Fri, 30 May 2025 07:35:40 +0000 (UTC)
From: Fenglin Wu via B4 Relay <devnull+fenglin.wu.oss.qualcomm.com@xxxxxxxxxx>
Date: Fri, 30 May 2025 15:35:10 +0800
Subject: [PATCH v2 5/8] power: supply: qcom_battmgr: Add charge control
support
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <20250530-qcom_battmgr_update-v2-5-9e377193a656@xxxxxxxxxxxxxxxx>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
To: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-usb@xxxxxxxxxxxxxxx, Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748590538; l=15139;
i=fenglin.wu@xxxxxxxxxxxxxxxx; s=20240327; h=from:subject:message-id;
bh=+5w/EErdc8TWh1g3OZvOJrj0YAdsZWrwlcTfLxAzT/I=;
b=aAVh7Q+5p3k0PvL0/5dpHNGGbe9kF3HC7LA5G5G/LDDL6Q/RZVcrPIq8MF64oC9ilwZkjonMc
2d4b/2o0qBSDxQiC0NEng3khT+fw9cOBtw4mkBcUz3rYY98nSt0khCY
X-Developer-Key: i=fenglin.wu@xxxxxxxxxxxxxxxx; a=ed25519;
pk=BF8SA4IVDk8/EBCwlBehKtn2hp6kipuuAuDAHh9s+K4=
X-Endpoint-Received: by B4 Relay for fenglin.wu@xxxxxxxxxxxxxxxx/20240327
with auth_id=406
X-Original-From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Reply-To: fenglin.wu@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

From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>

Add charge control support for SM8550 and X1E80100. It's supported
with below two power supply properties:

charge_control_end_threshold: SOC threshold at which the charging
should be terminated.

charge_control_start_threshold: SOC threshold at which the charging
should be resumed.

Signed-off-by: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
---
drivers/power/supply/qcom_battmgr.c | 256 ++++++++++++++++++++++++++++++++++--
1 file changed, 248 insertions(+), 8 deletions(-)

diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index d5d0200b92bdc3d9a22f44159ad45b152efe8be0..39009415f4bfcd76b010305179d3c8fb847254a6 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -21,6 +21,8 @@
enum qcom_battmgr_variant {
QCOM_BATTMGR_SM8350,
QCOM_BATTMGR_SC8280XP,
+ QCOM_BATTMGR_X1E80100,
+ QCOM_BATTMGR_SM8550,
};

#define BATTMGR_BAT_STATUS 0x1
@@ -66,6 +68,9 @@ enum qcom_battmgr_variant {
#define BATT_RESISTANCE 21
#define BATT_POWER_NOW 22
#define BATT_POWER_AVG 23
+#define BATT_CHG_CTRL_EN 24
+#define BATT_CHG_CTRL_START_THR 25
+#define BATT_CHG_CTRL_END_THR 26

#define BATTMGR_USB_PROPERTY_GET 0x32
#define BATTMGR_USB_PROPERTY_SET 0x33
@@ -90,6 +95,13 @@ enum qcom_battmgr_variant {
#define WLS_TYPE 5
#define WLS_BOOST_EN 6

+#define BATTMGR_CHG_CTRL_LIMIT_EN 0x48
+#define CHARGE_CTRL_START_THR_MIN 50
+#define CHARGE_CTRL_START_THR_MAX 95
+#define CHARGE_CTRL_END_THR_MIN 55
+#define CHARGE_CTRL_END_THR_MAX 100
+#define CHARGE_CTRL_DELTA_SOC 5
+
struct qcom_battmgr_enable_request {
struct pmic_glink_hdr hdr;
__le32 battery_id;
@@ -124,6 +136,13 @@ struct qcom_battmgr_discharge_time_request {
__le32 reserved;
};

+struct qcom_battmgr_charge_ctrl_request {
+ struct pmic_glink_hdr hdr;
+ __le32 enable;
+ __le32 target_soc;
+ __le32 delta_soc;
+};
+
struct qcom_battmgr_message {
struct pmic_glink_hdr hdr;
union {
@@ -236,6 +255,8 @@ struct qcom_battmgr_info {
unsigned int capacity_warning;
unsigned int cycle_count;
unsigned int charge_count;
+ unsigned int charge_ctrl_start;
+ unsigned int charge_ctrl_end;
char model_number[BATTMGR_STRING_LEN];
char serial_number[BATTMGR_STRING_LEN];
char oem_info[BATTMGR_STRING_LEN];
@@ -424,6 +445,8 @@ static const u8 sm8350_bat_prop_map[] = {
[POWER_SUPPLY_PROP_RESISTANCE] = BATT_RESISTANCE,
[POWER_SUPPLY_PROP_STATE_OF_HEALTH] = BATT_SOH,
[POWER_SUPPLY_PROP_POWER_NOW] = BATT_POWER_NOW,
+ [POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD] = BATT_CHG_CTRL_START_THR,
+ [POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD] = BATT_CHG_CTRL_END_THR,
};

static int qcom_battmgr_bat_sm8350_update(struct qcom_battmgr *battmgr,
@@ -494,7 +517,8 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
if (!battmgr->service_up)
return -EAGAIN;

- if (battmgr->variant == QCOM_BATTMGR_SC8280XP)
+ if (battmgr->variant == QCOM_BATTMGR_SC8280XP ||
+ battmgr->variant == QCOM_BATTMGR_X1E80100)
ret = qcom_battmgr_bat_sc8280xp_update(battmgr, psp);
else
ret = qcom_battmgr_bat_sm8350_update(battmgr, psp);
@@ -599,6 +623,12 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG:
val->intval = battmgr->status.charge_time;
break;
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD:
+ val->intval = battmgr->info.charge_ctrl_start;
+ break;
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD:
+ val->intval = battmgr->info.charge_ctrl_end;
+ break;
case POWER_SUPPLY_PROP_MANUFACTURE_YEAR:
val->intval = battmgr->info.year;
break;
@@ -624,6 +654,120 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
return 0;
}

+static int qcom_battmgr_set_charge_control(struct qcom_battmgr *battmgr,
+ u32 target_soc, u32 delta_soc)
+{
+ struct qcom_battmgr_charge_ctrl_request request = {
+ .hdr.owner = cpu_to_le32(PMIC_GLINK_OWNER_BATTMGR),
+ .hdr.type = cpu_to_le32(PMIC_GLINK_REQ_RESP),
+ .hdr.opcode = cpu_to_le32(BATTMGR_CHG_CTRL_LIMIT_EN),
+ .enable = cpu_to_le32(1),
+ .target_soc = cpu_to_le32(target_soc),
+ .delta_soc = cpu_to_le32(delta_soc),
+ };
+
+ return qcom_battmgr_request(battmgr, &request, sizeof(request));
+}
+
+static int qcom_battmgr_set_charge_start_threshold(struct qcom_battmgr *battmgr, int soc)
+{
+ u32 target_soc, delta_soc;
+ int ret;
+
+ if (soc < CHARGE_CTRL_START_THR_MIN ||
+ soc > CHARGE_CTRL_START_THR_MAX) {
+ dev_err(battmgr->dev, "charge control start threshold exceed range: [%u - %u]\n",
+ CHARGE_CTRL_START_THR_MIN, CHARGE_CTRL_START_THR_MAX);
+ return -EINVAL;
+ }
+
+ /*
+ * If the new start threshold is larger than the old end threshold,
+ * move the end threshold one step (DELTA_SOC) after the new start
+ * threshold.
+ */
+ if (soc > battmgr->info.charge_ctrl_end) {
+ target_soc = soc + CHARGE_CTRL_DELTA_SOC;
+ target_soc = min_t(u32, target_soc, CHARGE_CTRL_END_THR_MAX);
+ delta_soc = target_soc - soc;
+ delta_soc = min_t(u32, delta_soc, CHARGE_CTRL_DELTA_SOC);
+ } else {
+ target_soc = battmgr->info.charge_ctrl_end;
+ delta_soc = battmgr->info.charge_ctrl_end - soc;
+ }
+
+ mutex_lock(&battmgr->lock);
+ ret = qcom_battmgr_set_charge_control(battmgr, target_soc, delta_soc);
+ mutex_unlock(&battmgr->lock);
+ if (!ret) {
+ battmgr->info.charge_ctrl_start = soc;
+ battmgr->info.charge_ctrl_end = target_soc;
+ }
+
+ return 0;
+}
+
+static int qcom_battmgr_set_charge_end_threshold(struct qcom_battmgr *battmgr, int soc)
+{
+ u32 delta_soc = CHARGE_CTRL_DELTA_SOC;
+ int ret;
+
+ if (soc < CHARGE_CTRL_END_THR_MIN ||
+ soc > CHARGE_CTRL_END_THR_MAX) {
+ dev_err(battmgr->dev, "charge control end threshold exceed range: [%u - %u]\n",
+ CHARGE_CTRL_END_THR_MIN, CHARGE_CTRL_END_THR_MAX);
+ return -EINVAL;
+ }
+
+ if (battmgr->info.charge_ctrl_start && soc > battmgr->info.charge_ctrl_start)
+ delta_soc = soc - battmgr->info.charge_ctrl_start;
+
+ mutex_lock(&battmgr->lock);
+ ret = qcom_battmgr_set_charge_control(battmgr, soc, delta_soc);
+ mutex_unlock(&battmgr->lock);
+ if (!ret) {
+ battmgr->info.charge_ctrl_start = soc - delta_soc;
+ battmgr->info.charge_ctrl_end = soc;
+ }
+
+ return 0;
+}
+
+static int qcom_battmgr_bat_is_writeable(struct power_supply *psy,
+ enum power_supply_property psp)
+{
+ switch (psp) {
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD:
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD:
+ return 1;
+ default:
+ return 0;
+ }
+
+ return 0;
+}
+
+static int qcom_battmgr_bat_set_property(struct power_supply *psy,
+ enum power_supply_property psp,
+ const union power_supply_propval *pval)
+{
+ struct qcom_battmgr *battmgr = power_supply_get_drvdata(psy);
+
+ if (!battmgr->service_up)
+ return -EAGAIN;
+
+ switch (psp) {
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD:
+ return qcom_battmgr_set_charge_start_threshold(battmgr, pval->intval);
+ case POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD:
+ return qcom_battmgr_set_charge_end_threshold(battmgr, pval->intval);
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
static const enum power_supply_property sc8280xp_bat_props[] = {
POWER_SUPPLY_PROP_STATUS,
POWER_SUPPLY_PROP_PRESENT,
@@ -657,6 +801,43 @@ static const struct power_supply_desc sc8280xp_bat_psy_desc = {
.get_property = qcom_battmgr_bat_get_property,
};

+static const enum power_supply_property x1e80100_bat_props[] = {
+ POWER_SUPPLY_PROP_STATUS,
+ POWER_SUPPLY_PROP_PRESENT,
+ POWER_SUPPLY_PROP_TECHNOLOGY,
+ POWER_SUPPLY_PROP_CYCLE_COUNT,
+ POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_POWER_NOW,
+ POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
+ POWER_SUPPLY_PROP_CHARGE_FULL,
+ POWER_SUPPLY_PROP_CHARGE_EMPTY,
+ POWER_SUPPLY_PROP_CHARGE_NOW,
+ POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
+ POWER_SUPPLY_PROP_ENERGY_FULL,
+ POWER_SUPPLY_PROP_ENERGY_EMPTY,
+ POWER_SUPPLY_PROP_ENERGY_NOW,
+ POWER_SUPPLY_PROP_TEMP,
+ POWER_SUPPLY_PROP_MANUFACTURE_YEAR,
+ POWER_SUPPLY_PROP_MANUFACTURE_MONTH,
+ POWER_SUPPLY_PROP_MANUFACTURE_DAY,
+ POWER_SUPPLY_PROP_MODEL_NAME,
+ POWER_SUPPLY_PROP_MANUFACTURER,
+ POWER_SUPPLY_PROP_SERIAL_NUMBER,
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD,
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD,
+};
+
+static const struct power_supply_desc x1e80100_bat_psy_desc = {
+ .name = "qcom-battmgr-bat",
+ .type = POWER_SUPPLY_TYPE_BATTERY,
+ .properties = x1e80100_bat_props,
+ .num_properties = ARRAY_SIZE(x1e80100_bat_props),
+ .get_property = qcom_battmgr_bat_get_property,
+ .set_property = qcom_battmgr_bat_set_property,
+ .property_is_writeable = qcom_battmgr_bat_is_writeable,
+};
+
static const enum power_supply_property sm8350_bat_props[] = {
POWER_SUPPLY_PROP_STATUS,
POWER_SUPPLY_PROP_HEALTH,
@@ -689,6 +870,42 @@ static const struct power_supply_desc sm8350_bat_psy_desc = {
.get_property = qcom_battmgr_bat_get_property,
};

+static const enum power_supply_property sm8550_bat_props[] = {
+ POWER_SUPPLY_PROP_STATUS,
+ POWER_SUPPLY_PROP_HEALTH,
+ POWER_SUPPLY_PROP_PRESENT,
+ POWER_SUPPLY_PROP_CHARGE_TYPE,
+ POWER_SUPPLY_PROP_CAPACITY,
+ POWER_SUPPLY_PROP_VOLTAGE_OCV,
+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_VOLTAGE_MAX,
+ POWER_SUPPLY_PROP_CURRENT_NOW,
+ POWER_SUPPLY_PROP_TEMP,
+ POWER_SUPPLY_PROP_TECHNOLOGY,
+ POWER_SUPPLY_PROP_CHARGE_COUNTER,
+ POWER_SUPPLY_PROP_CYCLE_COUNT,
+ POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
+ POWER_SUPPLY_PROP_CHARGE_FULL,
+ POWER_SUPPLY_PROP_MODEL_NAME,
+ POWER_SUPPLY_PROP_TIME_TO_FULL_AVG,
+ POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG,
+ POWER_SUPPLY_PROP_RESISTANCE,
+ POWER_SUPPLY_PROP_STATE_OF_HEALTH,
+ POWER_SUPPLY_PROP_POWER_NOW,
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD,
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD,
+};
+
+static const struct power_supply_desc sm8550_bat_psy_desc = {
+ .name = "qcom-battmgr-bat",
+ .type = POWER_SUPPLY_TYPE_BATTERY,
+ .properties = sm8550_bat_props,
+ .num_properties = ARRAY_SIZE(sm8550_bat_props),
+ .get_property = qcom_battmgr_bat_get_property,
+ .set_property = qcom_battmgr_bat_set_property,
+ .property_is_writeable = qcom_battmgr_bat_is_writeable,
+};
+
static int qcom_battmgr_ac_get_property(struct power_supply *psy,
enum power_supply_property psp,
union power_supply_propval *val)
@@ -764,7 +981,8 @@ static int qcom_battmgr_usb_get_property(struct power_supply *psy,
if (!battmgr->service_up)
return -EAGAIN;

- if (battmgr->variant == QCOM_BATTMGR_SC8280XP)
+ if (battmgr->variant == QCOM_BATTMGR_SC8280XP ||
+ battmgr->variant == QCOM_BATTMGR_X1E80100)
ret = qcom_battmgr_bat_sc8280xp_update(battmgr, psp);
else
ret = qcom_battmgr_usb_sm8350_update(battmgr, psp);
@@ -886,7 +1104,8 @@ static int qcom_battmgr_wls_get_property(struct power_supply *psy,
if (!battmgr->service_up)
return -EAGAIN;

- if (battmgr->variant == QCOM_BATTMGR_SC8280XP)
+ if (battmgr->variant == QCOM_BATTMGR_SC8280XP ||
+ battmgr->variant == QCOM_BATTMGR_X1E80100)
ret = qcom_battmgr_bat_sc8280xp_update(battmgr, psp);
else
ret = qcom_battmgr_wls_sm8350_update(battmgr, psp);
@@ -1196,6 +1415,12 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,
case BATT_POWER_NOW:
battmgr->status.power_now = le32_to_cpu(resp->intval.value);
break;
+ case BATT_CHG_CTRL_START_THR:
+ battmgr->info.charge_ctrl_start = le32_to_cpu(resp->intval.value);
+ break;
+ case BATT_CHG_CTRL_END_THR:
+ battmgr->info.charge_ctrl_end = le32_to_cpu(resp->intval.value);
+ break;
default:
dev_warn(battmgr->dev, "unknown property %#x\n", property);
break;
@@ -1278,6 +1503,7 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,
}
break;
case BATTMGR_REQUEST_NOTIFICATION:
+ case BATTMGR_CHG_CTRL_LIMIT_EN:
battmgr->error = 0;
break;
default:
@@ -1297,7 +1523,8 @@ static void qcom_battmgr_callback(const void *data, size_t len, void *priv)

if (opcode == BATTMGR_NOTIFICATION)
qcom_battmgr_notification(battmgr, data, len);
- else if (battmgr->variant == QCOM_BATTMGR_SC8280XP)
+ else if (battmgr->variant == QCOM_BATTMGR_SC8280XP ||
+ battmgr->variant == QCOM_BATTMGR_X1E80100)
qcom_battmgr_sc8280xp_callback(battmgr, data, len);
else
qcom_battmgr_sm8350_callback(battmgr, data, len);
@@ -1333,7 +1560,8 @@ static void qcom_battmgr_pdr_notify(void *priv, int state)
static const struct of_device_id qcom_battmgr_of_variants[] = {
{ .compatible = "qcom,sc8180x-pmic-glink", .data = (void *)QCOM_BATTMGR_SC8280XP },
{ .compatible = "qcom,sc8280xp-pmic-glink", .data = (void *)QCOM_BATTMGR_SC8280XP },
- { .compatible = "qcom,x1e80100-pmic-glink", .data = (void *)QCOM_BATTMGR_SC8280XP },
+ { .compatible = "qcom,x1e80100-pmic-glink", .data = (void *)QCOM_BATTMGR_X1E80100 },
+ { .compatible = "qcom,sm8550-pmic-glink", .data = (void *)QCOM_BATTMGR_SM8550 },
/* Unmatched devices falls back to QCOM_BATTMGR_SM8350 */
{}
};
@@ -1343,6 +1571,7 @@ static char *qcom_battmgr_battery[] = { "battery" };
static int qcom_battmgr_probe(struct auxiliary_device *adev,
const struct auxiliary_device_id *id)
{
+ const struct power_supply_desc *psy_desc;
struct power_supply_config psy_cfg_supply = {};
struct power_supply_config psy_cfg = {};
const struct of_device_id *match;
@@ -1373,8 +1602,14 @@ static int qcom_battmgr_probe(struct auxiliary_device *adev,
else
battmgr->variant = QCOM_BATTMGR_SM8350;

- if (battmgr->variant == QCOM_BATTMGR_SC8280XP) {
- battmgr->bat_psy = devm_power_supply_register(dev, &sc8280xp_bat_psy_desc, &psy_cfg);
+ if (battmgr->variant == QCOM_BATTMGR_SC8280XP ||
+ battmgr->variant == QCOM_BATTMGR_X1E80100) {
+ if (battmgr->variant == QCOM_BATTMGR_X1E80100)
+ psy_desc = &x1e80100_bat_psy_desc;
+ else
+ psy_desc = &sc8280xp_bat_psy_desc;
+
+ battmgr->bat_psy = devm_power_supply_register(dev, psy_desc, &psy_cfg);
if (IS_ERR(battmgr->bat_psy))
return dev_err_probe(dev, PTR_ERR(battmgr->bat_psy),
"failed to register battery power supply\n");
@@ -1394,7 +1629,12 @@ static int qcom_battmgr_probe(struct auxiliary_device *adev,
return dev_err_probe(dev, PTR_ERR(battmgr->wls_psy),
"failed to register wireless charing power supply\n");
} else {
- battmgr->bat_psy = devm_power_supply_register(dev, &sm8350_bat_psy_desc, &psy_cfg);
+ if (battmgr->variant == QCOM_BATTMGR_SM8550)
+ psy_desc = &sm8550_bat_psy_desc;
+ else
+ psy_desc = &sm8350_bat_psy_desc;
+
+ battmgr->bat_psy = devm_power_supply_register(dev, psy_desc, &psy_cfg);
if (IS_ERR(battmgr->bat_psy))
return dev_err_probe(dev, PTR_ERR(battmgr->bat_psy),
"failed to register battery power supply\n");

--
2.34.1



Return-Path: <linux-kernel+bounces-667727-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 37E2C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:38: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 7ABAB1BA4695
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:38:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DD818211297;
Fri, 30 May 2025 07:36:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="MV0WdPme"
Received: from TYPPR03CU001.outbound.protection.outlook.com (mail-japaneastazolkn19012061.outbound.protection.outlook.com [52.103.43.61])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4BD620101D
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:36:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.43.61
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748590618; cv=fail; b=AjGA9FLDsxstYaBAUf6qqtsxatV4zxReeAS8cbpVo786EcuUne1gvjNcw3+WRNGOhxjrkDwEUZ6+zpsPGoxXyw6yJ3tgUIOA/kkxOwL41uogeLhjzMyQEZuNg+Y2zsFDfs3M3JoLbOO64fHzMnNspuwtQjc9k45p0XsVF6Futv0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590618; c=relaxed/simple;
bh=2oKE4SJ5ORo0AH8wkyrh33JU6DEMNaXUkufR1vxPu9Q=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=d/9kDcIkEZtIsnzfHamNMfQrQ/a+/eCkvkeV0j3Zrth8aJtLQCwV8k9ATTYlrvhdfavIaDrPC4NKsnt+hol9CUJ2l0DDyzDQWDFaR/3Wv4QyUuyklS9hCIPoMr39lms80kskqMftFid1kRck9trPH4x7MLM5i6bwUQfPAwuS3t0=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=MV0WdPme; arc=fail smtp.client-ip=52.103.43.61
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=p1QAcE7Ilh05h8SGbwqV/kwr2hUjyDwsdN5q9pHZaQqOgWpdN3d0u6r4Krj5uJe6T+hpb8FnTYp4+5ZDCrEatkaWXP/EAvb55QTYRuklp6CqUjeVIrdCN++Fp+j926RpSy5u/noKYMIz1YsLoLlAFT+sV7gvWIkEPcS2cjBbmSNjRElItkgd48tP5FvAIk+GJZad3YK1r7KJsXkRe1DfCU7MNASe5wUbVKZjYizDpNZ6x37j+LUaestqpih2VH8+aAnS2UwoqwQDcC5SJ+cMMZugMd24MhaukucbLHS9MFHLyYwJewmOIHL0+59qQTaR4qK6TvHjOM1nS8+jdVQ+gg==
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=BfM8Muy+UHfbnCkxzI9/aDEhycEGWw4J/wbdxv2Ki2A=;
b=i0VUMpxhkOVYzBjw1s+OUvjyrGKDpXVg9Cj1ZFRLpR9+edj4U903d1BhFHrnSlMzhFwBOlpTEsFSv5wY2kJUNZEmL+UpOcMl87M0TLc4lWcglWRzZ7f/rxhR/nKgqHd8i1D9s+g7lcJ0PP6fevicj6r07RXOdGbCr3+DvWE7+GWMweBatrqhgRruaBzvjXlcu/hcRFpf3G+WaruuI4zv/0kZsWjwRz907DDoBwWODIXO/sCNRF+8EosCcs/zJY4xsYwsed1jh1AB/Nviz2oAhx9p9yQ9CpyNxB175bE7xtWqsl4CMvTg8VjtULabelFKhkOiiBsp2gT0pcTg7vj67A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=BfM8Muy+UHfbnCkxzI9/aDEhycEGWw4J/wbdxv2Ki2A=;
b=MV0WdPme5SeknYECkdv/1YWfiH+EZvtrZMMyk9Q7E/iq+ISQWVLmQau1jfVlbDqen3CifMUYzhHS9vxF1sh0npU6upQQCVGvARH7S7CTVNzdLKGvoX8RWWFn5EYqduVJutDyOrq3b2vr42RD1xjq8i34R+RM1Ub/d/zksFioW2CnPv7gjD8aT10AuXFab2MX/4BbPfuS/qULR4uQi6mZaVxQk6dACxdUIj6sMVFRsoyQ0dOGpPHvpq4I1b2R/Zahg5Z+U11hzazclnRvp5SfP2Hy3yZAwyWEJn0tFts0nHpYDERfT1n2zZFnBye4nDKdZXPsUUttCb+kyLZ0Z6hcaA==
Received: from SI2PR04MB4931.apcprd04.prod.outlook.com (2603:1096:4:149::12)
by TYZPR04MB8019.apcprd04.prod.outlook.com (2603:1096:405:ba::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May
2025 07:36:50 +0000
Received: from SI2PR04MB4931.apcprd04.prod.outlook.com
([fe80::a6ac:c945:13f6:e963]) by SI2PR04MB4931.apcprd04.prod.outlook.com
([fe80::a6ac:c945:13f6:e963%6]) with mapi id 15.20.8769.025; Fri, 30 May 2025
07:36:50 +0000
Message-ID:
<SI2PR04MB49315B9161865FB1D319EEDAE361A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 15:36:43 +0800
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] sched/fair: allow imbalance between LLCs under NUMA
To: K Prateek Nayak <kprateek.nayak@xxxxxxx>,
Jianyong Wu <wujianyong@xxxxxxxx>, 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
References: <20250528070949.723754-1-wujianyong@xxxxxxxx>
<e2b79e4e-f964-4fb6-8d23-6b9d9aeb6980@xxxxxxx>
<SI2PR04MB49310190973DC859BBE05DE2E366A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<db88ce98-cc24-4697-a744-01c478b7f5c8@xxxxxxx>
Content-Language: en-US
From: Jianyong Wu <jianyong.wu@xxxxxxxxxxx>
In-Reply-To: <db88ce98-cc24-4697-a744-01c478b7f5c8@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MEWPR01CA0104.ausprd01.prod.outlook.com
(2603:10c6:220:1ce::15) To SI2PR04MB4931.apcprd04.prod.outlook.com
(2603:1096:4:149::12)
X-Microsoft-Original-Message-ID:
<98e0c7fb-1493-42d3-a113-0060407076b6@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
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SI2PR04MB4931:EE_|TYZPR04MB8019:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c83946c-7a79-472e-c791-08dd9f4cbd47
X-MS-Exchange-SLBlob-MailProps:
znQPCv1HvwVu6ov8hlKZu5ytU8AWxKlxQPOsTislm8pKksS2ps9ZevyaNhSsja1WbO8/QaxR/qCIAwTtKmCKMwnqLozXSM6mm3IcDQitlEe8NCVu+xmXX0lChwc0cg6p7148rGnw7sDu52abBAK1TURuouYJVva24hnmvk7unBKoXiUwvDCQFkiqjyWVEt2f6yOf5ch60mjykHvl36wUSQXp6I1bhjmni8omo9p11RSgNYTNBTZ7upU5Fre0so6bnaVgMKC34rUP1/mg+gcoKdKdq89Py9f9JRZ8KIDOmh4yAxej4fKdeBqPrRagWB2370C7ewWW9C9Gqj77BMlbZlyqJjFMQPM7mtRM+sc+xKY90D/2oi29HwzhCslcu9BCwdsGlkneclUPNQeLXgHt0gdduQMxOycNRiSutYLZsJrV+6TADH6jkS8rTtw+qjikOaFzHr8UsqQIz9yLHJdQsKtlAs7te9z5191B0reKH5rlbjVdgtYEwd3sK6Vk0XAqEp9XkQkSYFLgz9um9wlIu4bU3QZQPMQcTU11GAWrUivIYhzcK0gAKqp7MB+neXROAgicg645sZgqBu+U98kZvWwSrYlv41lY8l7HuPitR8o2CcYd7qFP0TJFFeKtbACBNXjakL+Se7hew7MQ6aa5fHskipHeuEbh5Us/uJkZpdVrwzcYvjAHN0AONhw6F/S9faEZHRnxCV4aRFJLMxq8uTo59s2471aFdMVAgcA6VOSnRFTfFKARv1IFF7CU8mdDAEqjZQK1MdA=
X-Microsoft-Antispam:
BCL:0;ARA:14566002|8060799009|12121999007|5072599009|41001999006|6090799003|19110799006|15080799009|461199028|3412199025|440099028;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?SWxlYTlTR09mUjFnQzFzRUZuNHRYa090dmNnSkp1VnRjdE9WVHBheHZuN2RV?=
=?utf-8?B?ckVQWFg0V2hMUnVyNy96OUJFYXZjTStPTnpvaGRlN04vRTdkVC9xdGtpUita?=
=?utf-8?B?RkVLa2lSZVdpME5sSTEvbjk2Wmo2WTh5ZGZvaFpaaUZybGxqaHZrMjR0K3FD?=
=?utf-8?B?UmhGdUxYaW9pd1NVYTNyMTZRNGhKb09xQTBJaE9EeldDblhVOWE3TjRqbUtu?=
=?utf-8?B?UHlRbFRLR2pPL2xaWnowaDUzRXl4QU9EUmJ0Z3dvVVlGTzM1WkNJMXUreFBy?=
=?utf-8?B?Ty9JSU9uRnNIL1VNekloVjhJN1VuZUwwZE5ZVmQrMkhheDk5dnowMlFJSlJr?=
=?utf-8?B?VUd3S1A0eTQyVWU3WGJDS2ZIcmhTVk9yU3AzdS9BaUE1dndkekdCN1Q5KytV?=
=?utf-8?B?QlA2S3kvRzFQUzBJa3BIVVBKditJTXhQQ1JITDd0QzZ4dlZJcksxeUNjWDFK?=
=?utf-8?B?UmRISWZWOWU1UHY1RjQ0WC9xOFcrS1dMSit6RS9iQmVMOEdzRTBpWWJRc2tY?=
=?utf-8?B?cUk5RXo0ZVpBeEQ1WjBFaVo5TjVUemRuTDhGZ1ZvZExaWVd5M2RFTklSTzNr?=
=?utf-8?B?cWV5UlZHZUJLRlMydnl0WHBLc0hsaE1nL2NTVkZWQlBuSWhmREcxZzdTU0hO?=
=?utf-8?B?bkFueUtnU3dRNUVwdXlNSU1MT2dHVUhVS0pwK1pZR3JScFFGNThNWElSbE44?=
=?utf-8?B?US90R1U2OHo0V2hjQ3pNTm1xaC9Oa3JBVXVhRTh5enpJK1NCVkpJdGdBdDVi?=
=?utf-8?B?MVl3RjVXYXAvcGdWOUNxUjFzYUNBVmtDNUdtYklGMHVGSUxPRDJWdnJtZEhk?=
=?utf-8?B?TWRRZlJiYU1idXgzRnJad0FZQWZMblg2cCtCVGJKTnVjTHl0dlpQR3RFdURh?=
=?utf-8?B?M0ltUVNqUWlpTXN5QjFseHRSMjFBMkNRa3hmaDJEbUgwNUgwbEFWc1J4RVNT?=
=?utf-8?B?NnE2OUcwb2tTeEZaNWJuYWhHUStlYStYMnNaT2ZWOG5TbE92V2hZeXV0MWZz?=
=?utf-8?B?a0dZRnh3TStLRFdra3EySnF5ZzlHbTRzaEZiUXZheldDYTZ1TC84VW1Nc29k?=
=?utf-8?B?QVVkQXkzMkFCOEtyQlVGUk9sSmltTE52YnpwOVVPeStCTmNlQUd5amJPNVo2?=
=?utf-8?B?R3VwWmpJay8xMEtoYWNEejhWMlpJeUYvUlJGTVBvSEM2dWFkTmgxOEpjR3NN?=
=?utf-8?B?Mmc0blVqUlk4M3hzeEhhZW5Qd09LUzdTRUhQdnltZGtPTnJwcTdnMmlUc3Jv?=
=?utf-8?B?M2MzNSt4TlRWdjZoQXF2S3FycFBlTDJXOTVYUlYvNERQeGdtSEU5VkRXcmor?=
=?utf-8?B?cml2S01VbkZRS04wUGVJclpjTnFQOHcxM0RXSUp1ZWNJQU1QbXJBWDcrK3pl?=
=?utf-8?B?ekhQY2JRWmg3d291SnJLbk1hVHN6cUd1cm1rNjZBSjRGRkpHTng2R0c4NEZ0?=
=?utf-8?B?RmhsSU5JUXFtLzlKNHFiUytiWEMwQXYzQkpwQXlueEtjbythRWhRMDY3QWVP?=
=?utf-8?B?TFVObkxMV0h2N3lrSjdSaWZKMklmNXNsWEphYW1idTBNM3huZEIrVHpHaUdU?=
=?utf-8?Q?FW/yAsjIQ2knHe2ftnJOQxQrA=3D?=
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?TGJLb0lBWFBCRWdsUWIwcDF5TGFVeWppamFORGdMME96bEJVUklsVWcwTGUx?=
=?utf-8?B?SmdHWWY1V004RUVPZU9PcnVpWnRjeFhhMnVrQ3dqd0JtUUxWMnBKRk5WV3hr?=
=?utf-8?B?SFJzeFhPWjV1M0NBM29naHIxNHZ1YUg1N2diQ04zc2VLNHhkdzZTMXVadXJE?=
=?utf-8?B?NlZ0UTM1TkZHakJEUzVRWmM0VjIvNThMZ2xWZ09iYWlFQ05HVDRIeHFLUXBq?=
=?utf-8?B?eXNHU0FqS3p5SllSNkwxN0gyTTFaTElzYkRKNlpvUk9BVzY0RXE5Sm5RUXI4?=
=?utf-8?B?M2p2bG5NTG9kWWhJbzNjM2ltUEFVNGZSbnZOb1RHeHB3dlV3RlJlWVVNWlV2?=
=?utf-8?B?MmoxWHVVam5JRVBIZFNTTXpySHRLdmE2OVd4VzJMTE9MQjhkcHhVV0FQTmhW?=
=?utf-8?B?S3YxbW4vajlmVnNlbDN2MzBud2ZLUUl2bVh4NUVpZzhRY0VLKzEzejVGS24v?=
=?utf-8?B?aEdDbkhRL2JuQUxRaHpIbkprOXhyeEM2SVM2WU5kTXR1WWlRazVxZGlzU2Zi?=
=?utf-8?B?aXdtWlFnclpTQVdnakw5eU01MjFiNDd1ZzBNVXVIRTk0enh4ekVZYlNYZ2My?=
=?utf-8?B?NGloeG9GWGgzYk5YUWd0Um5hSTNLYkRWOVIwQU1hWXJialkzSDJxZFdienBQ?=
=?utf-8?B?dTlNYmtoZ3REMjU3SmNBaEloVVlCbm1hWVNTb0ZZeElSNERsajd6MGdUK2lW?=
=?utf-8?B?UWFDOGFJbHcyS01vbnFjZTlIaUd4Z2pBbG4zSlZORVZOYUxJU1doai9sUm56?=
=?utf-8?B?Q2czU1RGTEF3cjhaZ3JYQlAzbzBaTFlvTkRCRGlvaE1WYSsveXJ6YTBYUkdG?=
=?utf-8?B?R1V4QWJnem83U3h1S2QxcEFrOWs3UncrWC9abU1KN2xiY1lwS3ZudmNId2sr?=
=?utf-8?B?UXQvcFp3MHdZTlppaTQ4YzI4ZU9JcFhoa3drOEZLM2tydk90R2tiWDNWbU55?=
=?utf-8?B?bStPdVZSK2pkNzdYNytCa2JHYXpTWnU4SkZ6SUhXdzhUM2VqUllGazMwQnVK?=
=?utf-8?B?N044Qmo3Q2d4Nk1FOGJKWm5EQWphMHROSVY2bXJncllrNzM2dks0SDBkWWFW?=
=?utf-8?B?ejVpT3NUZDdzanpoeU51Q3pzMmpLcWpFd3FZWW4zVFZFSm1CQS9haExtdUUr?=
=?utf-8?B?WklibFV6VzZjb1pPc3UvVFdaRVJXOGc4WHpIOUFDTGRMWkhiRVpmMmE3UGZ6?=
=?utf-8?B?VGY0eWZBdEdSY0VtUzUxaDRNMXJxK25aMzZLZUsvRTlvU3IzTDd0dTdtVmta?=
=?utf-8?B?Zk43NjlBL3h3S0NlQnBubnZXRzlXL1o4VC9DRDdIVzVIMlE2VXJhVXNWYk1O?=
=?utf-8?B?VmxLZGJMZVdVQWdTWFIwcFlQbWR1ZFlkZDRtVDJtV2JqaGhkRWgzL3ducENp?=
=?utf-8?B?dVJhZXc4cVR1ZUVYdkNqVTlCcWd0c3RLeVJaalMrVmR0QW0zL0VpR29NdE9l?=
=?utf-8?B?NFJTMlcrZnRPS3NSSFR6YjEzK1dDaGJneUgvbHoxc1dZOFl5RVhsbjFNd0Nj?=
=?utf-8?B?TXFGdmQ2RGYyN3Z4dlVJUVZNamtFb2V5S05RZWUyYmlSSmhLbElYODRudkF3?=
=?utf-8?B?c2VKRFlTUmJKUnZnK0pmT3FPbSt1RmNCN1IzMkQzd0g1cnVmODBQMDNCbEJY?=
=?utf-8?B?MmM3SS9jRlFienUxczhWVkYwbHlaQXJTT0hOOERaUWU2TXFSK2ZyaHVXY2N3?=
=?utf-8?Q?LPCoD7smDQoW1u+/aE/a?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c83946c-7a79-472e-c791-08dd9f4cbd47
X-MS-Exchange-CrossTenant-AuthSource: SI2PR04MB4931.apcprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:36:50.3244
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR04MB8019
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 Prateek,

On 5/30/2025 2:09 PM, K Prateek Nayak wrote:
> Hello Jianyong,
>
> On 5/29/2025 4:02 PM, Jianyong Wu wrote:
>>
>> This will happen even when 2 task are located in a cpuset of 16 cpus
>> that shares an LLC. I don't think that it's overloaded for this case.
>
> But if they are located on 2 different CPUs, sched_balance_find_src_rq()
> should not return any CPU right? Probably just a timing thing with some
> system noise that causes the CPU running the server / client to be
> temporarily overloaded.
>

I think it will.
Suppose this scenario. There are 2 LLCs each associated with 4 cpus,
under a single NUMA node. Sometimes, one LLC has 4 tasks, each running
on a separate cpu, while the other LLC has no task running. Should the
load balancer take action to balance the workload? Absolutely yes.

The tricky point is that the balance action will fail during the first
few attempts. In the meanwhile, sd->nr_balance_failed increments until
it exceeds the threshold sd->cache_nice_tries + 2. At that point, active
balancing is triggered. Eventually, the migration thread steps in to
migrate the task. That's exactly what I've observed.

>>
>>   I've only seen
>>> this happen when a noise like kworker comes in. What exactly is
>>> causing these migrations in your case and is it actually that bad
>>> for iperf?
>>
>> I think it's the nohz idle balance that pulls these 2 iperf apart. But
>> the root cause is that load balance doesn't permit even a slight
>> imbalance among LLCs.
>>
>> Exactly. It's easy to reproduce in those multi-LLCs NUMA system like
>> some AMD servers.
>>
>>>
>>>>
>>>> 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.
>>>
>>> Is there any improvement in iperf numbers with these changes?
>>>
>> I observe a bit of improvement with this patch in my test.
>
> I'll also give this series a spin on my end to see if it helps.
>
Great! Let me know how it goes on your end.

>>
>>>>
>>>> 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) {
>>>
>>> This does not imply multiple LLC in package. SD_SHARE_LLC is
>>> SDF_SHARED_CHILD and will be set from SMT domain onwards. This condition
>>> will be true on Intel with SNC enabled despite not having multiple LLC
>>> and llc_nr will be number of cores there.
>>>
>>> Perhaps multiple LLCs can be detected using:
>>>
>>>      !((sd->child->flags ^ sd->flags) & SD_SHARE_LLC)
>
> This should have been just
>
>     (sd->child->flags ^ sd->flags) & SD_SHARE_LLC
>
> to find the LLC boundary. Not sure why I prefixed that "!". You also
> have to ensure sd itself is not a NUMA domain which is possible with L3
> as NUMA option EPYC platforms and Intel with SNC.
>
Thanks again, I made a mistake too.

Thanks
Jianyong
>>
>> Great! Thanks!>
>>>> +            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);
>>>
>>> Isn't this just max_t(int, child_weight >> 2, 1)?
>>
>> I expect that imb_nr can be 2 when child_weight is 4, as I observe
>> that the cpu number of LLC starts from 4 in the multi-LLCs NUMA system.
>> However, this may cause the LLCs a bit overload. I'm not sure if it's
>> a good idea.
>
> My bad. I interpreted ">> 2" as "/ 2" here. Couple of brain stopped
> working moments.
>



Return-Path: <linux-kernel+bounces-667728-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 3884341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:38: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 688BBA2225F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:38:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4CDCB2135B8;
Fri, 30 May 2025 07:37:42 +0000 (UTC)
Received: from mail-il1-f207.google.com (mail-il1-f207.google.com [209.85.166.207])
(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 610AF212B0A
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:37:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.207
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748590661; cv=none; b=YsX4FcV6TpN/4vbFN+tvxQ5koqAsAk7ZdUxrhjabFvAxrjooKuQj+r1ElPwW/DvPcxTafjms22reU2bWenfeP4m0vH0QBAMKXwv+2W5pfvrrjMpZt7Q82DlXCW6qkq2EgXCdk5T0o89GaeF1bmPxG++2x9AierO/8WLdJiPuycQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590661; c=relaxed/simple;
bh=VTbnLoX8bnSkiC3+uXNATu81ToQdEODLWycV3m0Viow=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=LA7Lq1W2l9V68i6j/jHbex40V1LcHGnn2st3LKuwE2+tNinGcI3xoEQqSMNaHQFZXx/qaVhvqo1DrxBN6HRrCuJi4uBgL5nmn8zNle9CDTlHJUh/GqyAfVdpwPce4l4K+pskEfeCVDknfoPqjsBIOWhMYXrtbWZopGtLYOqG/pw=
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.207
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-f207.google.com with SMTP id e9e14a558f8ab-3dc6e2441caso32270805ab.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:37:39 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748590658; x=1749195458;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=ef/NGmTirwqT7bQaeLD8gmZGTHMq/VBwoCEvrvMgfbo=;
b=i1Z87Dyod9HGyv6DT1aHZjJXZsdumkl81sFjmyOxGR2S3Qxu2vNiaFYoinNuz1gKZC
Wey/kCLoJxdz3pXEgvVxvsYpzfTtTuiMfbuJfx1krAGxlTM4hhFCLD4fvXpAnBdgrloQ
gcsNBpVcIyuizXuBPCxbX2p02JFBqFJtSFyw3Owq1dx34ums7zpPWbjQvSnVJ7I7l0FR
UtyT+9T4GPFPFGXRJaGYOnQ2BHQUqqTar7h3CACdavyb0jBHjo0tZh/RHvgHFSMaj0IM
7a7Q67U/atEQIKfTeNScgastA7TAkh2DU/T2+J0Te3UszMuNwfVxy5ElhuSQlPKVddG2
g/uQ==
X-Forwarded-Encrypted: i=1; AJvYcCXhG9iMOKMD5ITxAs5im52YvSpKyKlT2ch654dd4uDkz5f+chLeYoaf4e6NWfAqH5XjvJRZvZlRQFKFDtU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz1X0lf4ZxHHjl9JvqKGQ0T5W6VxDq2uTsSgJ1Jcq9H/ciCy5XL
EdvVNJCCIPlmLW9qbGlmvXMwkkxTt/UcTciq+Fs8cwgW+XqHvc76lox15fwMro+oh7bsNxyRc2u
rWfc6TvWtM9OZbMVUd5ZLBWTaTK4bEjPBRsaq2SFk4mk1w0X1Z5W0X4mHrto=
X-Google-Smtp-Source: AGHT+IHGHmoFJZ4n2Uga8C+l/XfizE2QyKOZK0br/b7xW86lrGZieL7EeNFuChiXE+tBDkDLcSYfoqEDS9onDchWIus+xrEYYR2q
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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:174c:b0:3dc:7660:9ed9 with SMTP id
e9e14a558f8ab-3dd9c7135ebmr8700745ab.0.1748590658471; Fri, 30 May 2025
00:37:38 -0700 (PDT)
Date: Fri, 30 May 2025 00:37:38 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <68396042.a00a0220.d8eae.0004.GAE@xxxxxxxxxx>
Subject: [syzbot] [kernel?] INFO: rcu detected stall in vm_area_alloc (6)
From: syzbot <syzbot+2ddfdc64a6b68a324ae2@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: anna-maria@xxxxxxxxxxxxx, frederic@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx,
tglx@xxxxxxxxxxxxx
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: 0f8c0258bf04 Merge tag 'mm-hotfixes-stable-2025-05-25-00-5..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=12e45170580000
kernel config: https://syzkaller.appspot.com/x/.config?x=9b0280e4afd1c529
dashboard link: https://syzkaller.appspot.com/bug?extid=2ddfdc64a6b68a324ae2
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16e45170580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/77489c857e31/disk-0f8c0258.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3adcdd5d62b9/vmlinux-0f8c0258.xz
kernel image: https://storage.googleapis.com/syzbot-assets/c93fd6a6b796/bzImage-0f8c0258.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+2ddfdc64a6b68a324ae2@xxxxxxxxxxxxxxxxxxxxxxxxx

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (1 GPs behind) idle=51a4/1/0x4000000000000000 softirq=18198/18202 fqs=0
rcu: (detected by 1, t=10502 jiffies, g=9149, q=175 ncpus=2)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 6052 Comm: modprobe Not tainted 6.15.0-rc7-syzkaller-00175-g0f8c0258bf04 #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:pv_queued_spin_unlock arch/x86/include/asm/paravirt.h:577 [inline]
RIP: 0010:queued_spin_unlock arch/x86/include/asm/qspinlock.h:57 [inline]
RIP: 0010:do_raw_spin_unlock+0x152/0x230 kernel/locking/spinlock_debug.c:142
Code: 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 95 00 00 00 48 c7 c0 50 20 22 8e c7 43 08 ff ff ff ff 48 ba 00 00 00 00 00 fc ff df <48> c1 e8 03 80 3c 10 00 0f 85 ba 00 00 00 48 83 3d 78 ab 89 0c 00
RSP: 0018:ffffc90000007d18 EFLAGS: 00000046
RAX: ffffffff8e222050 RBX: ffffffff9adbe550 RCX: ffffffff819873c3
RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffffffff9adbe550
RBP: ffffffff9adbe558 R08: 0000000000000000 R09: fffffbfff35b7caa
R10: ffffffff9adbe553 R11: 0000000000000000 R12: ffffffff9adbe560
R13: dffffc0000000000 R14: ffff88802ae6b340 R15: 1ffff92000000fac
FS: 0000000000000000(0000) GS:ffff8881249da000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffe27243ff8 CR3: 000000005cd34000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:150 [inline]
_raw_spin_unlock_irqrestore+0x22/0x80 kernel/locking/spinlock.c:194
debug_object_deactivate+0x1ec/0x3a0 lib/debugobjects.c:888
debug_hrtimer_deactivate kernel/time/hrtimer.c:450 [inline]
debug_deactivate kernel/time/hrtimer.c:490 [inline]
__run_hrtimer kernel/time/hrtimer.c:1729 [inline]
__hrtimer_run_queues+0x46f/0xad0 kernel/time/hrtimer.c:1825
hrtimer_interrupt+0x397/0x8e0 kernel/time/hrtimer.c:1887
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline]
__sysvec_apic_timer_interrupt+0x108/0x3f0 arch/x86/kernel/apic/apic.c:1055
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x9f/0xc0 arch/x86/kernel/apic/apic.c:1049
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:lock_acquire+0x62/0x350 kernel/locking/lockdep.c:5870
Code: 39 0c 12 83 f8 07 0f 87 bc 02 00 00 89 c0 48 0f a3 05 52 0a ed 0e 0f 82 74 02 00 00 8b 35 ea 39 ed 0e 85 f6 0f 85 8d 00 00 00 <48> 8b 44 24 30 65 48 2b 05 29 39 0c 12 0f 85 c7 02 00 00 48 83 c4
RSP: 0018:ffffc90003fdf3c0 EFLAGS: 00000206
RAX: 0000000000000046 RBX: ffffffff8e3bfc00 RCX: 00000000ad97940f
RDX: 0000000000000000 RSI: ffffffff8dbbf273 RDI: ffffffff8bf4a520
RBP: 0000000000000002 R08: 461794d577a429a7 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
rcu_read_lock include/linux/rcupdate.h:841 [inline]
class_rcu_constructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0xd1/0x20a0 arch/x86/kernel/unwind_orc.c:479
arch_stack_walk+0x94/0x100 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x8e/0xc0 kernel/stacktrace.c:122
kasan_save_stack+0x33/0x60 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
unpoison_slab_object mm/kasan/common.c:319 [inline]
__kasan_slab_alloc+0x89/0x90 mm/kasan/common.c:345
kasan_slab_alloc include/linux/kasan.h:250 [inline]
slab_post_alloc_hook mm/slub.c:4147 [inline]
slab_alloc_node mm/slub.c:4196 [inline]
kmem_cache_alloc_noprof+0x1cb/0x3b0 mm/slub.c:4203
vm_area_alloc+0x1f/0x160 kernel/fork.c:441
__mmap_new_vma mm/vma.c:2403 [inline]
__mmap_region+0xfd0/0x27c0 mm/vma.c:2520
mmap_region+0x1ab/0x3f0 mm/vma.c:2598
do_mmap+0xd8e/0x11b0 mm/mmap.c:561
vm_mmap_pgoff+0x281/0x450 mm/util.c:579
ksys_mmap_pgoff+0x32c/0x5c0 mm/mmap.c:607
__do_sys_mmap arch/x86/kernel/sys_x86_64.c:89 [inline]
__se_sys_mmap arch/x86/kernel/sys_x86_64.c:82 [inline]
__x64_sys_mmap+0x125/0x190 arch/x86/kernel/sys_x86_64.c:82
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fa439aa5242
Code: 08 00 04 00 00 eb e2 90 41 f7 c1 ff 0f 00 00 75 27 55 89 cd 53 48 89 fb 48 85 ff 74 33 41 89 ea 48 89 df b8 09 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 5e 5b 5d c3 0f 1f 00 c7 05 46 40 01 00 16 00
RSP: 002b:00007ffe27243898 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa439aa5242
RDX: 0000000000000001 RSI: 00000000000c1918 RDI: 0000000000000000
RBP: 0000000000000802 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000802 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa439a790c0 R14: 00007ffe27243ca0 R15: 00000fffc4e48716
</TASK>
rcu: rcu_preempt kthread starved for 10502 jiffies! g9149 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt state:R running task stack:28664 pid:16 tgid:16 ppid:2 task_flags:0x208040 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5382 [inline]
__schedule+0x116f/0x5de0 kernel/sched/core.c:6767
__schedule_loop kernel/sched/core.c:6845 [inline]
schedule+0xe7/0x3a0 kernel/sched/core.c:6860
schedule_timeout+0x123/0x290 kernel/time/sleep_timeout.c:99
rcu_gp_fqs_loop+0x1ea/0xb00 kernel/rcu/tree.c:2046
rcu_gp_kthread+0x270/0x380 kernel/rcu/tree.c:2248
kthread+0x3c2/0x780 kernel/kthread.c:464
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
CPU: 1 UID: 0 PID: 65 Comm: kworker/u8:4 Not tainted 6.15.0-rc7-syzkaller-00175-g0f8c0258bf04 #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:csd_lock_wait kernel/smp.c:340 [inline]
RIP: 0010:smp_call_function_many_cond+0x4a5/0x1290 kernel/smp.c:885
Code: 89 ee e8 de 12 0c 00 85 ed 74 48 48 8b 44 24 20 49 89 c4 83 e0 07 49 c1 ec 03 48 89 c5 4d 01 f4 83 c5 03 e8 7d 17 0c 00 f3 90 <41> 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 de 0b 00 00 8b 43 08 31
RSP: 0018:ffffc90001567938 EFLAGS: 00000293
RAX: 0000000000000000 RBX: ffff8880b8441720 RCX: ffffffff81af2e99
RDX: ffff88801db90000 RSI: ffffffff81af2e73 RDI: 0000000000000005
RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffffed10170882e5
R13: 0000000000000001 R14: dffffc0000000000 R15: ffff8880b853b040
FS: 0000000000000000(0000) GS:ffff888124ada000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5422dddd58 CR3: 000000000e180000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
on_each_cpu_cond_mask+0x40/0x90 kernel/smp.c:1052
on_each_cpu include/linux/smp.h:71 [inline]
text_poke_sync arch/x86/kernel/alternative.c:2757 [inline]
text_poke_bp_batch+0x566/0x760 arch/x86/kernel/alternative.c:3050
text_poke_flush arch/x86/kernel/alternative.c:3158 [inline]
text_poke_flush arch/x86/kernel/alternative.c:3155 [inline]
text_poke_finish+0x30/0x40 arch/x86/kernel/alternative.c:3165
arch_jump_label_transform_apply+0x1c/0x30 arch/x86/kernel/jump_label.c:146
jump_label_update+0x376/0x550 kernel/jump_label.c:919
static_key_enable_cpuslocked+0x1b7/0x270 kernel/jump_label.c:210
static_key_enable+0x1a/0x20 kernel/jump_label.c:223
toggle_allocation_gate mm/kfence/core.c:850 [inline]
toggle_allocation_gate+0xfa/0x280 mm/kfence/core.c:842
process_one_work+0x9cf/0x1b70 kernel/workqueue.c:3238
process_scheduled_works kernel/workqueue.c:3319 [inline]
worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400
kthread+0x3c2/0x780 kernel/kthread.c:464
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>


---
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 syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

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-667729-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 B0E4941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:39: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 AEF121BC176F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:39:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3943E21770C;
Fri, 30 May 2025 07:38:26 +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="TwvbsS9d"
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 680A91DE896
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:38:23 +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=1748590705; cv=none; b=epkBLkmU3sHguUkgmQGrWDm/mOVmB48j1ea5YaEdhkfMza9nnOjpWgXXkWZZ3sVPX/FunLYQ5SxH8+OCQM0VPA0Lu5G8ukJtvyN38wLo5NQBB4XnQlkElY8ir8AeBc6mkXgGmg3bII1bRlNTcREyB9cXd6Vj4xcdrTabxTKNHb4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590705; c=relaxed/simple;
bh=iQgrvOqRA70LGQbw+GLCqJWS7MwZcGOXx4QpLJML8B4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=NhN712tChHeqUR4Sk68qXDPAGmnrSDk6pQqEUkYM7VY8fULZdvRr8RovASDllKY32WI40EBGdhInxOg/B/gqR5fnV6NVEZhCK4ZghtfMBsRwhbSAzwgdFhz/wEVMyGj6+QCmtYGLVDKeWu4fn5j6vnMzXy6sX2hjkQB8pOXk6eQ=
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=TwvbsS9d; arc=none smtp.client-ip=209.85.221.45
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-f45.google.com with SMTP id ffacd0b85a97d-3a37a243388so1417697f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:38:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1748590702; x=1749195502; 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=LfnbZiQbAmqPKSfMf+Mq18rGvap4moTa+Dp1DimkkJE=;
b=TwvbsS9d3VlOo3x6Q//jbKnLl5Vx4QDTxknbDZXit1vgjNBupa+rTyv9V6VEIT43tT
YZdImqytpkQBbO7cs5TPqbthDEj6MOsC0m3xzz39H3+juQJbXll1iU2a+/E5hma12GxV
7hTu/o+eqjw10KGJdF91MrJkn50gBgR9q5YsVw0CTintje57+ZisT38Ff+8lhsLiOUPY
ySHAF8DG7ZvdLn1F4z9gzenTSnXBnu1PXNSbjE1ApByfKuwZqsSVwkR4Ak7/3UI1GMgg
R5JZm2K6bHQsOzZeW6PJrVkgLGUMEG5HEsliGC+OERW1BV7cjCTz1yNVKKimTwvg/ugv
ayFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748590702; x=1749195502;
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=LfnbZiQbAmqPKSfMf+Mq18rGvap4moTa+Dp1DimkkJE=;
b=M57QgFC7lhwinraYlap8oid34Vjzb49IsYnXx/wCU7HoR5S5/LL9rBeeVwDN7Ettae
lY3ydmxlOHS6jyO/MLdUHyuzGcyxzTEgrI2ojJo3DSAhBKBH0j9BpufYnodiDpSVSSm8
LNYDUVLHLf+G84Q4OUPrLR//SQkrUKn9GOdxojtMDR9SKFBqbeU7BLTFBiOIopf6DZ/a
2rACiz6vK7W+VwCSlUFw3pWtIADtqTZBVFvY7WBBnKk1/ELt4LpQ5aBv3WAyEggxashF
ET3lfL/kXk3ao6mjaHIFWt7Wl450pFSI6btBNu/8HWGadH+QG6m7diuccubn7smrRJdT
2+rQ==
X-Forwarded-Encrypted: i=1; AJvYcCU1SUjb53WcaY7THmDNHA0HpuIqo90Vhr0HKrF1Hg9MEkEVdlw6WfVP62s6VjEe9eCINZjr1RAm7mZG25U=@vger.kernel.org
X-Gm-Message-State: AOJu0Yweh22cGKypGKOlyUSZQQ3X6/4TXWAlOqRq8IdME+lqn4uPAm2B
EM4iZCWueMqXJk7e7QFFbfhkVo9imbBRIA2NC2DgPboBJX1JcbaeVWrKC1KPqhaeXaElku9F9cx
DKlje
X-Gm-Gg: ASbGnctL6Lq648NhvfItha/GY2CNYSocBz8KRyHCYDmhyjxUKIg437Ci05Inwk773Vm
d+HiDkFkjk1dJVQ5g9+88v/8xIiW4Hwp4TtmgF7njZk6Re/fS/s/auKA+wWzEkOcjcHAXBa71QS
sZ0Wb5QNc7bxUyiOX52Mf8QpWzFGYATGYmij/HEixDo7zB5tSMG0jKdoTjpIFFJ0Xni6a5khZMI
sszWV3txA3+clJwdHi7YsV7QX5mFj2XQ/ykI8sJUT/pFCC3lgmQasfhdJeLaE1AHKCY3fDdKcIB
lrABCIetSOqLqVE2YyOrkWmdcqXOlG2KRFmzujfVG5Ejb353htHsSAFmitM+JVWm2MXrBNr/4cS
jjmWqGVwLstbAfDJ8fUyJrAY5kw4fow==
X-Google-Smtp-Source: AGHT+IE9MXHewsFsO65gOCbyBARWfhxCc3GiAp4JhYo92c97qkhscjKdSO1/x+TgAzn1ycE2rzPEIA==
X-Received: by 2002:a05:6000:4212:b0:3a4:e1d2:9a7a with SMTP id ffacd0b85a97d-3a4f7aa591fmr1586687f8f.46.1748590701612;
Fri, 30 May 2025 00:38:21 -0700 (PDT)
Received: from archlinux (host-80-116-51-117.pool80116.interbusiness.it. [80.116.51.117])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009758esm4057600f8f.75.2025.05.30.00.38.19
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 30 May 2025 00:38:20 -0700 (PDT)
Date: Fri, 30 May 2025 09:36:57 +0200
From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
To: Andy Shevchenko <andy@xxxxxxxxxx>, Jonathan Cameron <jic23@xxxxxxxxxx>
Cc: Jonathan Cameron <jic23@xxxxxxxxxx>,
David Lechner <dlechner@xxxxxxxxxxxx>, Nuno =?utf-8?B?U8Oh?= <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: <lj2jhnuggbpil5ogler7uruhf5uv5u6lnrs5jxgsvxiy5lq2fd@kwmvftbyozkl>
References: <20250526-wip-bl-ad7606-calibration-v7-0-b487022ce199@xxxxxxxxxxxx>
<20250526-wip-bl-ad7606-calibration-v7-1-b487022ce199@xxxxxxxxxxxx>
<aDbmTaX1d0HCx8V2@xxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <aDbmTaX1d0HCx8V2@xxxxxxxxxxxxxxxxxx>
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 Jonathan,

If all the rest is ok and there is no need for v8, could you maybe adjust
to 6.17 on acceptance ?

Thanks a lot,
regards
angelo

On 28.05.2025 13:32, Andy Shevchenko wrote:
> 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-667730-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 8379641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:40: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 C505816F306
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:40:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A844C20E6F9;
Fri, 30 May 2025 07:40:39 +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="sibxdDmV"
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 3B46C1A0728
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:40:36 +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=1748590839; cv=none; b=Xh0NGUiK0uEZKC/GUKCJt1kyr6o6QxBD1pL2USSKNLDU/aspz72VpB4hfYjZQAURqtvZyGHQ1u1uuh1A0zjes9wZ7y5rqaS6RPLzCuKn1xAzgoozW/shgfmdzIYYouZTn3ZZgl2OS6pfDLflSAe9sqjzixi2bNWlBSHxeFmNCN4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590839; c=relaxed/simple;
bh=+bSTfW0qZWsboO+3q3mk5MmMDncUVPODEtaeJN2kvfo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=T+BRkM52nDQUbJEYqZAlPmvO64cHtCU9fx3Eoqaebfntuzi3lThLCkVL4BQCDpgEDzLZ5zMtV8WjfMoGSQxAKH6F+1Mhjl0LT4+2HSpW2bHI22VKQfQAp3rjF2GT8CAiurOi4Xd2LeqYOv6IXER2NDbYo4exDobsYHDg7JvH9hI=
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=sibxdDmV; arc=none smtp.client-ip=209.85.128.44
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-wm1-f44.google.com with SMTP id 5b1f17b1804b1-450ccda1a6eso15268045e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:40:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1748590835; x=1749195635; 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=RvsDzEdeuDGjWO0lm4J7QVc99u01mGnvNVsg9qXGJ6c=;
b=sibxdDmVBZB8bQTrBKCjmoe5L8NyGOVjYWVi4Qw7IInkIxmiwAuuDwgs/A8OOwKOyL
4QNaVFUizkHD46Qqh/ku8f95FSHHE7s4e8AxCUKO3a3n77PMX+6fedgLx71M3YwrCzdt
Bi0JBBIlU8usBXeJ/j/GsVhSDMZV183A8Q650kbbqSUx5WXHz3zMvuz4ABNDchHPmN7G
GnFo42P+LZ8JTn7dEJKMO5UGyTQl6BmPhLePAFBpHre9IAr1k4vClhRQK8DJZHyt69sc
+NG1CY/o2nNHWwq622Yz9HOmeB9ONFv8QS9SugSAQ4GV/zPZcI4xh85XwsIxDAtsTZT9
kTTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748590835; x=1749195635;
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=RvsDzEdeuDGjWO0lm4J7QVc99u01mGnvNVsg9qXGJ6c=;
b=jIrVax14esT5Rk18i5QVrTKWuIxIIPkIcUXFeqYHgws9otaAlpYWqNKnYTCNwB1HbK
s3A4QheGeGcgZYWXQbtk3ds/p3zelhMOc9tL0OvOUab4A33Z61Tajtfpsbf+JotvVHyg
4xxFUsx0pDRkNIwJtyooJzz4SSSnIgq1G6q7JaxPMYdWYar97PbOkMHCiSmLObbWBJGc
ejigTzoZ6cZXuk8JDpg1dl+Fv4bF+BkCmr//TeuZqjuzwv4JrxVfHqDkpiua01np2Kue
KV4vf68WEPoUCH3S5K8fX+B+T5Xc2Tjw52P5vFnqthzRdNFy/Vzy7K0TgB3YypL2ZA47
K/rQ==
X-Forwarded-Encrypted: i=1; AJvYcCW6q7RR2NarIZJ0KtMx0xmjC6N1SxydvgbNiHyLKslqFJBHZtBvghlxCjfem5u/yI6BQOSgbIeIwEkR5xI=@vger.kernel.org
X-Gm-Message-State: AOJu0YzZXqEhWw+xQRda+EbNFVrGBhumn0oJ/fUXepVpDxzUJwjXHYtM
DQQtge/rZPOlfS1ibaTJYwqe+oA1p2kiIbpAU7cIrl3YziBrqk3xKBJA8ujhlBsMD6eIvKtffwA
b+nxt
X-Gm-Gg: ASbGncs8puYqbwk3MaBnJct29PFoeUBWMk51bmBCw+RXNpvqWcE7EedoGl9lXbBsBhd
kjNx7oDVEiloCoaZ9Ue2zY20CHHbqM+3cqL0o5lzAgx74hrIRLu4AqMXCYFZtehGPi4wTlFLs0/
1CVSW/SHBcdAORx7JxGcTYLFFoAPbgFRap1smHxoH9iqtLsQUYBHojheRYJgTOTJayzeJKhiP/N
kM//9+CzpJF8VWNpocWBky26nXtZN4u7gFGwevamBoe8IrcauiNPrExLZ2nnVofB705mn+HxujK
Cgp4Qgp/5u2F5OwYd9OPcYHBEXjPWoM4Hgt1u5Zm6Gxs1aabfzL1XfhrRHNBSOq4Y4+dw1c6SRx
1i8rc/PotyiIzX+uIWta3xvjgzDU2YQ==
X-Google-Smtp-Source: AGHT+IGjHYdSP9NzIcVp9qDzXHfmzguaFDJ8Wlu8Owbt0r83ig94jmYM/ZNsHYd/fb2Ac0iOC96QbQ==
X-Received: by 2002:a05:600c:314a:b0:43d:1b74:e89a with SMTP id 5b1f17b1804b1-450d880c950mr9802165e9.9.1748590835425;
Fri, 30 May 2025 00:40:35 -0700 (PDT)
Received: from archlinux (host-80-116-51-117.pool80116.interbusiness.it. [80.116.51.117])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d7fb80f6sm10212605e9.28.2025.05.30.00.40.33
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 30 May 2025 00:40:34 -0700 (PDT)
Date: Fri, 30 May 2025 09:39:10 +0200
From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
To: David Lechner <dlechner@xxxxxxxxxxxx>
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>,
Michael Hennerich <Michael.Hennerich@xxxxxxxxxx>, Jonathan Cameron <jic23@xxxxxxxxxx>,
Nuno =?utf-8?B?U8Oh?= <nuno.sa@xxxxxxxxxx>, Andy Shevchenko <andy@xxxxxxxxxx>, linux-iio@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/2] iio: adc: ad7606: add enabling of optional Vrefin
voltage
Message-ID: <dv72cvn7rihavqxg6wnybhedhunabo7bremwb5pkutqljwarcf@eo6zc7vi7fbu>
References: <20250529-wip-bl-ad7606-reference-voltages-v1-0-9b8f16ef0f20@xxxxxxxxxxxx>
<20250529-wip-bl-ad7606-reference-voltages-v1-2-9b8f16ef0f20@xxxxxxxxxxxx>
<521f5868-5836-47d9-9a68-88a9d4e843f6@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: <521f5868-5836-47d9-9a68-88a9d4e843f6@xxxxxxxxxxxx>
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 29.05.2025 12:52, David Lechner wrote:
> On 5/29/25 4:13 AM, Angelo Dureghello wrote:
> > From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> >
> > Add optional refin voltage enabling. The property "refin-supply" is
> > already available and optional in the current fdt dt_schema.
> >
> > Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> > ---
> > drivers/iio/adc/ad7606.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c
> > index 3bbe9c05b5edbc11e8016c995c6ab64104836e7b..21e63260965c32988d0ab3b8bb1201aa2396f1ba 100644
> > --- a/drivers/iio/adc/ad7606.c
> > +++ b/drivers/iio/adc/ad7606.c
> > @@ -1335,6 +1335,10 @@ int ad7606_probe(struct device *dev, int irq, void __iomem *base_address,
> > return dev_err_probe(dev, ret,
> > "Failed to enable Vdrive supply\n");
> >
> > + ret = devm_regulator_get_enable_optional(dev, "refin");
> > + if (ret < 0 && ret != -ENODEV)
>
> < 0 is probably not needed.
>
The above code looks correct to me. What is the issue ?

> > + return dev_err_probe(dev, ret, "failed to get refin voltage\n");
>
> We aren't reading the voltage, so the message doesn't make sense.
>
Is it better a
"failed to get refin-supply\n" or
"failed to enable refin voltage\n"

?

> > +
> > st->chip_info = chip_info;
> >
> > if (st->chip_info->oversampling_num) {
> >
>
Regards,
angelo

Return-Path: <linux-kernel+bounces-667731-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 CED4341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:41: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 D77313B8854
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:41:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BDF1A211297;
Fri, 30 May 2025 07:41:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="XoE6WR0G"
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 677A11A0728;
Fri, 30 May 2025 07:41:23 +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=1748590885; cv=none; b=cZYUdr7qSrRE8vgy+dd2VXlfB3EwPYZzukfjCFurVKdHqjHq42mIhJs0bXh7zTHq2t4LULknuSpibJlCKCotzZgwIhQKsYboQoQWG55YmdBl07dGAKqLEWyZGJmlXPKeO2KsDlsSG5FIOoCO0U5Uhu3h7YmWO5UPgMP9gg7UOH0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748590885; c=relaxed/simple;
bh=pBNA3dsaR/o0CK40JmO+2Oes1H+6BGMvYXHe9DWPr5g=;
h=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=Re/8LFklNgTGDf4ESizXpAm4e/7uiKIvMr9l0E30gjgqJtnmaQk57Dv+gHU1d91UqZXEcPXkQiOQyiaqO4lSdpjdxRfJBVqIDx1RZOk9duNpD4Fn2soKHTiSenGig6rce6j0a/zApOMBf/yfjJyhJhqHkX6bbt+76Wh44MM8+zg=
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=XoE6WR0G; arc=none smtp.client-ip=198.175.65.10
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=1748590884; x=1780126884;
h=from:date:to:cc:subject:in-reply-to:message-id:
references:mime-version;
bh=pBNA3dsaR/o0CK40JmO+2Oes1H+6BGMvYXHe9DWPr5g=;
b=XoE6WR0GdBnmKlvSdpBeAfWerdh/qADW8cxyIfJYluVW1gKIdLeHOSjv
BjUDrnw66psYGEXkwPPMovO2d+3Ec1g2fIJu5dU29+H+yJurnClEuD+8e
ieUx+xzSQVd0o424+DG1ukIPWBExReBt78gZXCN8q38RvWQpcXWuJmJUK
9MvkeE9/QFuhwzWNlFkJfk9SQIJye8ukTpRXF3T8gXPgfs47jQGbkpcO7
PZILyGHPNtPlTpLhwCWPyIGTFwDXXRHp/cOAfSUnVtUnDJEE8nsGzQBIv
jOXXMA/jaFROrYUw8SKmRhcVlL6HE5QM5SWzMIUEyINYBhu7wucdwp3qP
w==;
X-CSE-ConnectionGUID: CALPcmILQfm+sxKkmIljLA==
X-CSE-MsgGUID: vt2tkzdgRNCgUJKsNFhGDQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11448"; a="68100086"
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="68100086"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 00:41:23 -0700
X-CSE-ConnectionGUID: vVg2EkLTSeyOMHIgeWZguA==
X-CSE-MsgGUID: MZBgCgs2RCGMowl8TS3eWw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="174689548"
Received: from ijarvine-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.244.183])
by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 00:41:19 -0700
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 10:41:15 +0300 (EEST)
To: "Nirujogi, Pratap" <pnirujog@xxxxxxx>, Hans de Goede <hansg@xxxxxxxxxx>
cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>,
Pratap Nirujogi <pratap.nirujogi@xxxxxxx>,
Benjamin Chan <benjamin.chan@xxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
"open list:AMD HETERO CORE HARDWARE FEEDBACK DRIVER" <platform-driver-x86@xxxxxxxxxxxxxxx>
Subject: Re: linux-next: Tree for May 27
(drivers/platform/x86/amd/amd_isp4.c)
In-Reply-To: <b712a69d-e899-4286-b5f6-06d87d732ed8@xxxxxxx>
Message-ID: <e079d753-554e-7a42-11c6-a08cc095eb91@xxxxxxxxxxxxxxx>
References: <20250527203231.3c6c0b9d@xxxxxxxxxxxxxxxx> <04577a46-9add-420c-b181-29bad582026d@xxxxxxxxxxxxx> <d2ac901b-f7d2-46e6-b977-0ad90faa46f2@xxxxxxxxxx> <b712a69d-e899-4286-b5f6-06d87d732ed8@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
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, 27 May 2025, Nirujogi, Pratap wrote:
> On 5/27/2025 3:43 PM, Hans de Goede wrote:
> > Caution: This message originated from an External Source. Use proper caution
> > when opening attachments, clicking links, or responding.
> >
> >
> > Hi,
> >
> > On 27-May-25 8:56 PM, Randy Dunlap wrote:
> > >
> > >
> > > On 5/27/25 3:32 AM, Stephen Rothwell wrote:
> > > > Hi all,
> > > >
> > > > Changes since 20250526:
> > > >
> > >
> > > on x86_64, when
> > > # CONFIG_MODULES is not set
> > >
> > > ../drivers/platform/x86/amd/amd_isp4.c: In function 'is_isp_i2c_adapter':
> > > ../drivers/platform/x86/amd/amd_isp4.c:154:35: error: invalid use of
> > > undefined type 'struct module'
> > > 154 | return !strcmp(adap->owner->name,
> > > "i2c_designware_amdisp");
> > > | ^~
> >
> > Hmm, this should not check the owner->name at all.
> >
> > Instead the i2c_designware_amdisp should set adap->name to something
> > unique and then this should check adap->name.
> >
> I noticed the unique name set to "adap->name" in i2c_designware_amdisp is
> getting overwritten to the generic "Synopsys DesignWare I2C adapter" name in
> i2c_dw_probe_master().
>
> https://github.com/torvalds/linux/blob/master/drivers/i2c/busses/i2c-designware-master.c#L1046
>
> Inorder to use unique name to detect the specific adapter without making
> changes in i2c-designware-master.c, I used adap->owner->name.
>
> Since it is causing build issues when CONFIG_MODULES is not set, can I make a
> change in i2c-designware-master.c to initialize the generic "Synopsys
> DesignWare I2C adapter" name only when adap->name is NULL. This way I should
> be able to pass the unique name from i2c_designware_amdisp module.

How can you check that, it's char name[48]; not a pointer???

> Please suggest if this approach is okay?


--
i.


Return-Path: <linux-kernel+bounces-667732-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 A6EC741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:44: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 sy.mirrors.kernel.org (Postfix) with ESMTPS id CE4C47A23C6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:43:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A6ADD211297;
Fri, 30 May 2025 07:44:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="H6YHDQ5Q"
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 DF15E1898F8;
Fri, 30 May 2025 07:44: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=1748591066; cv=none; b=BQlHHYCN2Xaf0fQ2VdqAij2WRXE6zl95d9pbEskX8j6cEKjC/nseRd5FEuC0iYLWgj0jlgha6lDknhnceCP1djoPeevB8TyOR75Ijw0avwcqDT3yHcsX/0aqM6Bs4HRmQJptg9LacIYayFEdDPnFf98zhGlNkDu7DEF3+14Nic4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591066; c=relaxed/simple;
bh=8c1YIHEOyuZ64Oyvg+rqcARTrCsOO97Ri4WDAUf/M30=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Afck1FnUU5cPnR/EdvzGBWR9Wd2aTS5CLSlRe+u1NLr7ouyxTXPTaw+Jzox1o+4W9/ZxWh0dioNcl9+lmlA5dj3jPl0UVpn0GgTL+67wvLrqIwp5W8POdBSXNu5H7RMTC5AYzjDFrpQ/0lpTgGFPMH/u/BVZsoUaGAI0pm2k+a8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=H6YHDQ5Q; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A93BC4CEE9;
Fri, 30 May 2025 07:44:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748591065;
bh=8c1YIHEOyuZ64Oyvg+rqcARTrCsOO97Ri4WDAUf/M30=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=H6YHDQ5QVoqXtXRK+buaeNxZoI+pVT8pRdt9UpEb+oG1WmMh9BylSo2tukQpxVvDK
MQv1rtvuP3TjgoZAG1Y63P3EMgpR7UtVmcMsUB4e0Q6aWHvJ4yS/0hUaY1M2tBP3gQ
lO3HFMirCJBhxg9RsiHPTM//YrA2r8gVuoHD0tEUJdut7r6ap0v3YGB/1fAhr/uBGX
F3NMO6t5wFz2prkEsxgb2dGvGHzGy+9vtAa/2Z44Bt9PIFtCZntx4wTtrPk43eImba
gHrONh8jdqiPPHIbuYHzesZqH57onOOrUNCNmzAvJbwYeaF0sVd+fw3tvYviSEacn9
zendjYwUo4etw==
Message-ID: <f4b8657e-17c5-49d0-bee8-8621c811b6ca@xxxxxxxxxx>
Date: Fri, 30 May 2025 09:44: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: linux-next: Tree for May 27 (drivers/platform/x86/amd/amd_isp4.c)
To: =?UTF-8?Q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Nirujogi, Pratap" <pnirujog@xxxxxxx>
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>,
Pratap Nirujogi <pratap.nirujogi@xxxxxxx>,
Benjamin Chan <benjamin.chan@xxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
"open list:AMD HETERO CORE HARDWARE FEEDBACK DRIVER"
<platform-driver-x86@xxxxxxxxxxxxxxx>
References: <20250527203231.3c6c0b9d@xxxxxxxxxxxxxxxx>
<04577a46-9add-420c-b181-29bad582026d@xxxxxxxxxxxxx>
<d2ac901b-f7d2-46e6-b977-0ad90faa46f2@xxxxxxxxxx>
<b712a69d-e899-4286-b5f6-06d87d732ed8@xxxxxxx>
<e079d753-554e-7a42-11c6-a08cc095eb91@xxxxxxxxxxxxxxx>
Content-Language: en-US, nl
From: Hans de Goede <hansg@xxxxxxxxxx>
In-Reply-To: <e079d753-554e-7a42-11c6-a08cc095eb91@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

Hi,

On 30-May-25 9:41 AM, Ilpo Järvinen wrote:
> On Tue, 27 May 2025, Nirujogi, Pratap wrote:
>> On 5/27/2025 3:43 PM, Hans de Goede wrote:
>>> Caution: This message originated from an External Source. Use proper caution
>>> when opening attachments, clicking links, or responding.
>>>
>>>
>>> Hi,
>>>
>>> On 27-May-25 8:56 PM, Randy Dunlap wrote:
>>>>
>>>>
>>>> On 5/27/25 3:32 AM, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> Changes since 20250526:
>>>>>
>>>>
>>>> on x86_64, when
>>>> # CONFIG_MODULES is not set
>>>>
>>>> ../drivers/platform/x86/amd/amd_isp4.c: In function 'is_isp_i2c_adapter':
>>>> ../drivers/platform/x86/amd/amd_isp4.c:154:35: error: invalid use of
>>>> undefined type 'struct module'
>>>> 154 | return !strcmp(adap->owner->name,
>>>> "i2c_designware_amdisp");
>>>> | ^~
>>>
>>> Hmm, this should not check the owner->name at all.
>>>
>>> Instead the i2c_designware_amdisp should set adap->name to something
>>> unique and then this should check adap->name.
>>>
>> I noticed the unique name set to "adap->name" in i2c_designware_amdisp is
>> getting overwritten to the generic "Synopsys DesignWare I2C adapter" name in
>> i2c_dw_probe_master().
>>
>> https://github.com/torvalds/linux/blob/master/drivers/i2c/busses/i2c-designware-master.c#L1046
>>
>> Inorder to use unique name to detect the specific adapter without making
>> changes in i2c-designware-master.c, I used adap->owner->name.
>>
>> Since it is causing build issues when CONFIG_MODULES is not set, can I make a
>> change in i2c-designware-master.c to initialize the generic "Synopsys
>> DesignWare I2C adapter" name only when adap->name is NULL. This way I should
>> be able to pass the unique name from i2c_designware_amdisp module.
>
> How can you check that, it's char name[48]; not a pointer???

A NULL check indeed will not work, but we can check that (name[0] != 0).

Regards,

Hans



Return-Path: <linux-kernel+bounces-667733-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 9787841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:45: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 7ECA93ACF68
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 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 5443C20C02A;
Fri, 30 May 2025 07:45:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="OjuvM95V"
Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.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 9E8BF211460;
Fri, 30 May 2025 07:45:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.92.199
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591108; cv=none; b=ojbW8XQiWhOLfjj893Z+4zD1JM8e0i7+rBc52Gzv2uUIxrD//d7vaOj7mkmA07hk/ewL88n8xb0DUqv8s/qixKgiecy1P5D5181i/7x4VOwFd68beoAslJnsTn1mCien2bDESBOA0jj5h0K/7DvMNPRPJRrPTwnHzZBxVPDCuBM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591108; c=relaxed/simple;
bh=uGdOVtddhxaxBRd29KpCqAVkDSswK1sItiY62AIVya4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=VkIShQFOe6TyqgGlCzZqpgoR9StUOBw9bdgeDdyeuUUtedKzaJCjz1TPKl1WiZIqqZML257vurQSJrH+EOVsJ6nWt4uGbIQnzHfif3AgoAvVDpxDadKUm1wIwjCOlTJVa5idVZvqsF5echK1qp9/vWW9V4z9i8St4NfwiLNZXvM=
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=OjuvM95V; arc=none smtp.client-ip=90.155.92.199
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=desiato.20200630; 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=sDfVHR/wCQYqHHG+BTpVWxebqA5paftiQgcZz9s2BbI=; b=OjuvM95VpMa3VS4r8W2UEl/wY5
IMizMyyXbYaDdk+YlrOVlJL/K5AtkhIzVjIjBseZrbaMy9zHnxSj/kYAy/pZyvcpv/tZ4FHYO2ChC
sngFBX6JTxIH2XFEslq/QASqR0WeKiywh/AdINfTdCdMj5sAvlV5HxKcM8g9qJxOHwNXKw9c/ipJ/
Ge1kRYKvRVd8AarsUkjaygeh2n4YWndz1Qc70ZzlqHbUO56jjuNv7WE290f8rnKwpCcoeZhzIUDQ1
NFy9mQfae2+T/kC8TMwqseaZSWceWmcgOYhmo8eCGPpOdKiIVRr/qxbGYeJTY9+H2i2BHOgQ9mTmU
6GQLD3MQ==;
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net)
by desiato.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uKuQ9-00000000DjN-4BZP;
Fri, 30 May 2025 07:44:54 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id 643D530066A; Fri, 30 May 2025 09:44:53 +0200 (CEST)
Date: Fri, 30 May 2025 09:44:53 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Mike Rapoport <rppt@xxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, xin@xxxxxxxxx,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
Andy Lutomirski <luto@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>,
"H. Peter Anvin" <hpa@xxxxxxxxx>, stable@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 1/3] x86/execmem: don't use PAGE_KERNEL protection for
code pages
Message-ID: <20250530074453.GG39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250528123557.12847-1-jgross@xxxxxxxx>
<20250528123557.12847-2-jgross@xxxxxxxx>
<aDdHdwf8REvdu5FF@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: <aDdHdwf8REvdu5FF@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 08:27:19PM +0300, Mike Rapoport wrote:
> On Wed, May 28, 2025 at 02:35:55PM +0200, Juergen Gross wrote:
> > In case X86_FEATURE_PSE isn't available (e.g. when running as a Xen
> > PV guest), execmem_arch_setup() will fall back to use PAGE_KERNEL
> > protection for the EXECMEM_MODULE_TEXT range.
> >
> > This will result in attempts to execute code with the NX bit set in
> > case of ITS mitigation being applied.
> >
> > Avoid this problem by using PAGE_KERNEL_EXEC protection instead,
> > which will not set the NX bit.
> >
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Reported-by: Xin Li <xin@xxxxxxxxx>
> > Fixes: 5185e7f9f3bd ("x86/module: enable ROX caches for module text on 64 bit")
> > Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> > ---
> > arch/x86/mm/init.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> > index 7456df985d96..f5012ae31d8b 100644
> > --- a/arch/x86/mm/init.c
> > +++ b/arch/x86/mm/init.c
> > @@ -1089,7 +1089,7 @@ struct execmem_info __init *execmem_arch_setup(void)
> > pgprot = PAGE_KERNEL_ROX;
> > flags = EXECMEM_KASAN_SHADOW | EXECMEM_ROX_CACHE;
> > } else {
> > - pgprot = PAGE_KERNEL;
> > + pgprot = PAGE_KERNEL_EXEC;
>
> Please don't. Everything except ITS can work with PAGE_KENREL so the fix
> should be on ITS side.

Well, this is early vs post make_ro again.

Does something like so work for you?

---
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 7456df985d96..f5012ae31d8b 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -1089,7 +1089,7 @@ struct execmem_info __init *execmem_arch_setup(void)
pgprot = PAGE_KERNEL_ROX;
flags = EXECMEM_KASAN_SHADOW | EXECMEM_ROX_CACHE;
} else {
- pgprot = PAGE_KERNEL;
+ pgprot = PAGE_KERNEL_EXEC;
flags = EXECMEM_KASAN_SHADOW;
}

diff --git a/mm/execmem.c b/mm/execmem.c
index 6f7a2653b280..dbe2eedea0e6 100644
--- a/mm/execmem.c
+++ b/mm/execmem.c
@@ -258,6 +258,7 @@ static bool execmem_cache_rox = false;

void execmem_cache_make_ro(void)
{
+ struct execmem_range *module_text = &execmem_info->ranges[EXECMEM_MODULE_TEXT];
struct maple_tree *free_areas = &execmem_cache.free_areas;
struct maple_tree *busy_areas = &execmem_cache.busy_areas;
MA_STATE(mas_free, free_areas, 0, ULONG_MAX);
@@ -269,6 +270,9 @@ void execmem_cache_make_ro(void)

mutex_lock(mutex);

+ if (!(module_text->flags & EXECMEM_ROX_CACHE))
+ module_text->pgprot = PAGE_KERNEL;
+
mas_for_each(&mas_free, area, ULONG_MAX) {
unsigned long pages = mas_range_len(&mas_free) >> PAGE_SHIFT;
set_memory_ro(mas_free.index, pages);

Return-Path: <linux-kernel+bounces-667734-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 F2B4E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:45: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 am.mirrors.kernel.org (Postfix) with ESMTPS id 2E7CB1BA6DF8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:45:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5B0111FF1B4;
Fri, 30 May 2025 07:45:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dfRovX3e"
Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174])
(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 50AD01F5425;
Fri, 30 May 2025 07:45:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591128; cv=none; b=WJJkA+oe3j6tuyg7Fp5d/tlA5deOBwjY/gKcVKAInshR7FuqsH6QtYTlYwoAS862tvLh5C5vVwzdZSLl24uF8DQBPYF91NgeCCgr1CmBqliqEN+PgxzlxEAwveYUA5XY0C/o6fSALGh+nG6xmY2UUqGNv4hbFkszMlUksnj2Uxg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591128; c=relaxed/simple;
bh=pzOa/UgrS9Umku7hdGQ7ovp+X/tJyw92DDjRJCHRzbI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=AS2XLBXnNWEjzq3vBhv9cYhYJ4ukt5h15Qb3BKNjAzwiNoNEDDYypykcNSwLdpD4i87unMOf9O0PB+EgdKQ6GOoo0dLB7sH0eKWZ3zOVqXLfRAoDgKESCFgEWW/u3akD8xFMnRa62IfdyY3EaEFs4JjVg0Bj39NXTvDr4XdQs0s=
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=dfRovX3e; arc=none smtp.client-ip=209.85.210.174
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-f174.google.com with SMTP id d2e1a72fcca58-7424ccbef4eso1382804b3a.2;
Fri, 30 May 2025 00:45:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748591126; x=1749195926; 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=pzOa/UgrS9Umku7hdGQ7ovp+X/tJyw92DDjRJCHRzbI=;
b=dfRovX3eRH15CCuKXzCizPQsfv5XiNtB0ETr6VzZTVI8hKhyYMFG2IZ6QfnrTXl3CQ
u8sCNMxTwKAVibz7yfchW3Q42BTOBQyg1s5KYKzGSEcGasRq5N41UX+F7dE5E4zuC977
OphFsn2dSmnLn4rXZFMpfDSI/1jDRGtFatKtHkBaEEcMi3t18lnR/wA4v3DSex+M/2ka
NbnbFy9KwAXBIRsoOT5LgYQDTlz4gJj3eRD+hJoZ09WpZWNkwpcHaTwRvsH42A+nc4HG
tWGYaQbe4LGHZpHO9fW3lIPxlOKlFfR4kfBkxCl4sEJoW03+Tcf6gNixy2i1C0KAmv2w
n5+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748591126; x=1749195926;
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=pzOa/UgrS9Umku7hdGQ7ovp+X/tJyw92DDjRJCHRzbI=;
b=vqIZmA5opWnKaftTNfzNEjtGFcWNcROjLnG5Jg/+LJRsje6EgOlz0UXErgIRjSp3PH
Z4J68VPufHMObOI7Pauzvw8ni0BXNlC8dL8orOHfcv+hU8LJjkxtY3LTEQxydK1bZfvE
jv5ups3GnYea4dmugeXPHy0obGMHzioXNG37CORJIbr7vkKWbw8HvcIXmJGg5gkF1694
/N2LBdxXHiIHJ+g9ZyUm1R+8C8iv+Uvax6LScG+n1wLFgK9ZqD1za+aKJrSynDxjGLj7
80dx6Xr2UnPCjn5glrhBYCK8xfg/9nEfkRIerABjyyC+u912CuvTWun6eJRe9WKTAX7a
0byA==
X-Forwarded-Encrypted: i=1; AJvYcCVojGy/NP+ACg1Z5A8hSiM020wUpI5eRzMeuUJazCAzUmRvLTgDilOgLkcK3ThjSEiBM/9u4ABnQ11ibHk=@vger.kernel.org, AJvYcCWL8yuNZKun1HrApYtbD8NJMFY8Ia/cKyXp4qVpJTXoFr2kXvb4U51U9U2OWsBwKj/HOQQArcp6puRIx7EiAT58@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YyEhVjf3TB0kNjhM1uRRGT6efDdEIvRw5j50U//HhD4zIT0nsEA
jpZs6hr0Ojjk9vQSkL5HCDNxxwCwEqvzg0I8PVqgYXCeIft5tg7zIqOwRnTCpeiUwGSwKSnYz4g
lWI443LNr1t5yKDkwaJ8Xug0XUI4mcljcbtuPsQ==
X-Gm-Gg: ASbGncvqC820+JMqTiSO0aqSQqiLxLg5pyuWylQD6WwHA4fW+R07foT+Dql3aP1QPSp
baJaBvdqUzTW7Rhg8Vof0SLeZNvvb3q0rApfiyahWJjLrjfTDX8uZGh9xSiQUVOAP24LKtVvNJ+
tHPbF7iW5brcf7uAvC04mkC9SzEGr6Tq/EefwROjKlcW2uudNQzKtmvuvHpBftNhVFsZFtPujvP
II=
X-Google-Smtp-Source: AGHT+IGjkyt+5maMLA3DqnIou9TTiHmTo5+xl6kXpbOGFBDFFRIUaD90grOdP2fLlk7ybBrIk+t94W9pQB2C97dcVy0=
X-Received: by 2002:a05:6a00:a29:b0:746:2a0b:3dc8 with SMTP id
d2e1a72fcca58-747bd9ed7c6mr2995642b3a.17.1748591126498; Fri, 30 May 2025
00:45:26 -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: <20250501163827.2598-1-ujwal.kundur@xxxxxxxxx> <20250510160335.1898-1-ujwal.kundur@xxxxxxxxx>
<D9V0UTL5BCLM.1WHR6F4UN14QQ@xxxxxxxxxx> <CALkFLLLfxT1pQ_ySB1NU4KXOEGLd2wB8pbhpBG2HfK3_mLOYAQ@xxxxxxxxxxxxxx>
<DA0VHZ6KE96B.XOYNEFMGWD58@xxxxxxxxxx> <CALkFLLK19Uqr2veWCn79cbLLgde5f+otf9Qx0xSPGdhdnekGrw@xxxxxxxxxxxxxx>
<DA5Z38N5WHO5.2FFOQZYC6WKMI@xxxxxxxxxx>
In-Reply-To: <DA5Z38N5WHO5.2FFOQZYC6WKMI@xxxxxxxxxx>
From: Ujwal Kundur <ujwal.kundur@xxxxxxxxx>
Date: Fri, 30 May 2025 13:15:14 +0530
X-Gm-Features: AX0GCFvl1t3aZ635dE3UAXR9Vmuz_M0u8DD3KfxntZ3wNAPx5Iro3jK1qTCBrQU
Message-ID: <CALkFLLKc30TGwsZ6Ntw9UwKthJ0cW9BMfrHRJjgT_y+zAu1Ftg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v3 1/1] selftests/mm/uffd: Refactor non-composite global
vars into struct
To: Brendan Jackman <jackmanb@xxxxxxxxxx>
Cc: akpm@xxxxxxxxxxxxxxxxxxxx, peterx@xxxxxxxxxx, shuah@xxxxxxxxxx,
linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
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

> Sorry I don't have an opinion on which of these is the best (I can try
> to find some time to form an opionion on this later!), but:
>
> Fixing the flakiness sounds great, but I would suggest decoupling that
> from the refactoring. If it's practical, focus on removing the globals
> first, while leaving the fundamental logic the same, even if it's bad.
> Then as a separate series, fix the logic.

Thanks, much appreciated. I'll send a patch with the refactoring + a comment
regarding this variable left-in and follow-up with a fix.

Return-Path: <linux-kernel+bounces-667735-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 BFBF041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03: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 AE1E3A23FB9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:45:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 869B4212D97;
Fri, 30 May 2025 07:45:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Jvcu5Axg"
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 9CF6A1F0E4F;
Fri, 30 May 2025 07:45:52 +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=1748591154; cv=none; b=ZgIhIHYCmsAeNaJBp+BbfTspd1Ah9eqOH1MYPFVFdEu0XboYNtRvEBYeYZL4pu4QEUhIZeUc8P1e0aY8axxRLkqfzOVIN9BejS32+r2XywrY7gFRGSPGkgUI/sLjt8y4xjSpTA1uEVAAcaqDMkufJAeXd5KwT3XkYd+x02UxPkg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591154; c=relaxed/simple;
bh=ikASRT0QeP4Xa705LQ9zxm5dzUW7u5CAdIoYKbpZd9s=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=pcfiEPNjEFaQtBw1uBAj8HZcqXOc02jRbPFtMdbOcVOtiXtZJQkTavRfikFLLuoJZhItvHahcj74IMIHf36zyaOCk2/Jy4kjp+PQd+vN8Gl0kIxOJ01PZl2nQWwmTVbms+cXjAA4orvSeZPIoLdYRpPmH/My8XrVaMEOqI5GCzI=
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=Jvcu5Axg; 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: 15e8144e3d2a11f082f7f7ac98dee637-20250530
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=tUjyCWk78nrbNtIdynsQ7wKlp/qy1AJHyD8Mcd0RHgk=;
b=Jvcu5Axg/DO9suNIwAR4dYFqfr08qctNzixDCcZyrXFR//bLqyJQFvfLFTJIG+pDb1GYcwmgn+/mzsQkqa0azOu1eX26MgYZgEjSRILaWQA7kQpcsiYLSHROOi8ZLp0vKm/emqnFgoZhLEu/IUi2eXTHJ2MKK9Z7vtXnATHNP6Q=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:b7021b44-d78f-47dc-acc7-e44a8e719aaa,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:46b3e547-ee4f-4716-aedb-66601021a588,B
ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0|50,EDM:-3,IP:ni
l,URL:99|1,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_ULS,TF_CID_SPAM_SNR
X-UUID: 15e8144e3d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 380165037; Fri, 30 May 2025 15:45:41 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:39 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:38 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 00/12] Enable jpeg enc & dec multi-hardwares for MT8196
Date: Fri, 30 May 2025 15:45:25 +0800
Message-ID: <20250530074537.26338-1-kyrie.wu@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-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

This series adds support for mt8196 multi-hardwares jpeg enc & dec,
by first adding mt8196 jpegdec and jpegenc compatible to install
kernel driver. Add smmu setting to support smmu and iommu at the
same time.
Secondly refactor buffer and clock setting to support multi-hw jpeg
working.
Lastly, fix some bugs, including resolution change handleing, stop
streaming sw flow and others.

This series has been tested with MT8196 tast test.
Encoding and decoding worked for this chip.

Patches 1-3 Adds jpeg encoder and decoder compatible.
Patches 4 add jpeg smmu sid setting.
Patches 5 fix jpeg hw count setting to support different chips.
Patches 6 refactor jpeg buffer payload setting to handle buffer
size bug while resolution changed.
Patches 7 reconstruct jpeg dst buffer layout.
Patches 8 fix multi-core stop streaming flow
Patches 9 refactor multi-core clk suspend/resume setting
Patches 10 fix decoding buffer number setting timing issue
Patches 11 refactor decoding resolution change operation
Patches 12 fix remove buffer operation

---
This series patches dependent on:
[1]
https://patchwork.linuxtv.org/project/linux-media/patch/20250424090824.5309-1-jianhua.lin@xxxxxxxxxxxx/

Changes compared with v4:
--fix kernel robot build errors for patch 4.
--add reviewer for patch 1 and patch 2.

Changes compared with v3:
--change patch subject of jpeg encoder and decoder compatible.

Changes compared with v2:
--refactor smmu sid setting function interface
--Some modifications for patch v2's review comments.

Changes compared with v1:
--refine jpeg dt-bindings for MT8196
--optimize software code to manage jpeg HW count
--refactor smmu sid setting function interface
--Some modifications for patch v1's review comments.

Kyrie Wu (12):
media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgdec
compatible
media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgenc
compatible
media: mediatek: jpeg: add jpeg compatible
media: mediatek: jpeg: add jpeg smmu sid setting
media: mediatek: jpeg: fix jpeg hw count setting
media: mediatek: jpeg: refactor jpeg buffer payload setting
media: mediatek: jpeg: refactor jpeg dst buffer layout
media: mediatek: jpeg: fix stop streaming flow for multi-core
media: mediatek: jpeg: refactor multi-core clk suspend and resume
setting
media: mediatek: jpeg: fix decoding buffer number setting timing issue
media: mediatek: jpeg: refactor decoding resolution change operation
media: mediatek: jpeg: fix remove buffer operation for multi-core

.../media/mediatek,mt8195-jpegdec.yaml | 8 +-
.../media/mediatek,mt8195-jpegenc.yaml | 8 +-
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 169 +++++++++++++-----
.../platform/mediatek/jpeg/mtk_jpeg_core.h | 21 ++-
.../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 112 +++++++++++-
.../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 112 +++++++++++-
6 files changed, 377 insertions(+), 53 deletions(-)

--
2.46.0


Return-Path: <linux-kernel+bounces-667736-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 D197E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:46: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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 4642DA2420C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:45:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 158192185AA;
Fri, 30 May 2025 07:45:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="tWWUViUT"
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 493F41F5425;
Fri, 30 May 2025 07:45:53 +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=1748591156; cv=none; b=PFOBirr7l4dtVQGUFvSWLhUIPgAOAtxnw0FxKg+ZWqdysBSSrE2SBc3GEuJLknoPTB0BB60pz8vvGVboDp69FEMkT+QQIO/nBmvZ9oP3O0DH8+gb4wQMoIr3bQmlruSYUPKRmEWCW3FpcQ/A2cvA6pczUcldP4ApE0+5FQVTwM8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591156; c=relaxed/simple;
bh=pWzwjgQ2f/53kmF5n7c7UlKrqztnmqHU0+OyfCWG1ss=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=NzOP2NQq6Q8UJZf/ieyNGgXY7UGKrXPVBszjEdMwd++JrP0VJMnHwWZVQAeqTSZjSlAnW6ZlMVQk60HFhDnWQANtNZyrEdQJWOci5uQxN7mNZJbQAbcvL03UGVQXFq1PJKNzT/uEIziOQ0QkWTKuiKpAvd4B6uTuMRQsGzR00lI=
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=tWWUViUT; 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: 19084a363d2a11f082f7f7ac98dee637-20250530
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=MafHlrK67o/d3FGCy1u+Y7qasnBcS5mIW6WlhV/wvWA=;
b=tWWUViUT+dqLhysXSwyRQcUw5YbwiYp6R0L6MEwguOvS/mKYznMtC9hPT/lN4e6MPy4LAxnQtoZoF/l30DEw9oEaxF5Edih6VGNGdIOG+GKhbb8gb+2pY+Mt1CUAmvciBBbqvvSnet2F4zWyC8gpUnuX8VA6kaGEUijGG7nZrq8=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:b6f2e4b3-63d0-4d85-b9b3-81b4e29eaa48,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:33cf2458-abad-4ac2-9923-3af0a8a9a079,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
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 19084a363d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 441385511; Fri, 30 May 2025 15:45:46 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) 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; Fri, 30 May 2025 15:45:44 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:44 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 06/12] media: mediatek: jpeg: refactor jpeg buffer payload setting
Date: Fri, 30 May 2025 15:45:31 +0800
Message-ID: <20250530074537.26338-7-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

1. for multi-core jpegdec:
core0: |<-------- decoding buffer0 and resolution changed to smaller
core1: |<-------- decoding buffer1
core0: |<- handling resolution changing
core0: |<- vb2_set_plane_payload
2. the payload size is changed on the step of set format. Because core1
is running and streaming has not been stopped, the format cannot be
set again, resulting in no change in the payload size.
3. at this time, the payload size is bigger than buffer length,
it will print a warnning call trace
4. set payload size must less than buffer length

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 0074d1edb534..52d59bb5c9ad 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -720,10 +720,22 @@ static int mtk_jpeg_buf_prepare(struct vb2_buffer *vb)
plane_fmt = q_data->pix_mp.plane_fmt[i];
if (ctx->enable_exif &&
q_data->fmt->fourcc == V4L2_PIX_FMT_JPEG)
- vb2_set_plane_payload(vb, i, plane_fmt.sizeimage +
- MTK_JPEG_MAX_EXIF_SIZE);
+ if (vb->planes[i].length > (plane_fmt.sizeimage +
+ MTK_JPEG_MAX_EXIF_SIZE))
+ vb2_set_plane_payload(vb, i,
+ plane_fmt.sizeimage +
+ MTK_JPEG_MAX_EXIF_SIZE);
+ else
+ vb2_set_plane_payload(vb, i,
+ vb->planes[i].length);
+
else
- vb2_set_plane_payload(vb, i, plane_fmt.sizeimage);
+ if (vb->planes[i].length > plane_fmt.sizeimage)
+ vb2_set_plane_payload(vb, i,
+ plane_fmt.sizeimage);
+ else
+ vb2_set_plane_payload(vb, i,
+ vb->planes[i].length);
}

return 0;
--
2.46.0


Return-Path: <linux-kernel+bounces-667737-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 7793A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:46: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 EC219A2416B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:46:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B45C821A451;
Fri, 30 May 2025 07:45:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="sK81kQsm"
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 493951F4727;
Fri, 30 May 2025 07:45:53 +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=1748591156; cv=none; b=LOiygGWaarIUhj7JkdVr71uKwia1oGWDTcqpNZ3cvjAtB80zNymlhFGrjdsO4r3dNzzipw44XMfMXEDwAGWRJMyn2J4JgZbvjC5TfCjeTZeyrZjbGY+86VLDV3dPqPUv+V+Og+RoJaAS3rjIGVCDRqYUMCa5J30WgZVao5xO0Og=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591156; c=relaxed/simple;
bh=TLUr6dcQzFcECKCw7Q3MJHUAYPWDbLtTEgBaXxj4XBs=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=YPy/izrrR+vORqiauo6xNd59LCTGqkqwi2LajwlNTwaI1QyTQToOzLPArVT7voJWGO2D8HxooeDlL9cwsA/x0IoIpHLOGrrdAy4eaOSmhhCGeMGaWLYjqWbnuORtJAIA8gkTaNreLsXritH4jcyrWba0yMROp6tNN02hp5SmFVw=
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=sK81kQsm; 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: 1a09171c3d2a11f082f7f7ac98dee637-20250530
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=f5u3C3vJexH/Z9E/1nApu2EDOd8g2oB9zr+KugCEuXA=;
b=sK81kQsmZrNdw3a/FhkHn2ufENsfE0nInV4EUscwOkjVfYRpvj3EBnIzlrUaocmInmUrG5FVk+mmtuFpXC1ARoiSOZ+K7zZEY8PrZ3T5jN7vib1/6MBssL+B7wZrYWQLOtmDVJhXu7iw/SuVo+F8Gsq4c+fDa9Lf/NOlCiHIp9U=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:df555379-92d9-4754-b5b1-bea7a7c9dd45,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:32ef4759-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
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 1a09171c3d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1836933711; Fri, 30 May 2025 15:45:48 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
MTKMBS09N2.mediatek.inc (172.21.101.94) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:46 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:45 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 08/12] media: mediatek: jpeg: fix stop streaming flow for multi-core
Date: Fri, 30 May 2025 15:45:33 +0800
Message-ID: <20250530074537.26338-9-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

1. For multi-core jpegdec, the all hws may run at the same time,
if one hw decoded firstly, the function of mtk_jpeg_dec_stop_streaming
would be called, but others input buffers are decoding, this will
cause some running buffers to be buffer done, causing errors;
2. add a parameter to calculate the decoding buffer counts, it
wil decrease to 0 until the all buffers decoded and the
mtk_jpeg_dec_stop_streaming could continue to be executed.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
.../media/platform/mediatek/jpeg/mtk_jpeg_core.c | 16 ++++++++++++++++
.../media/platform/mediatek/jpeg/mtk_jpeg_core.h | 2 ++
.../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 9 +++++++++
.../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 9 +++++++++
4 files changed, 36 insertions(+)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 7e3509be6f69..1d3df1230191 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -861,8 +861,12 @@ static struct vb2_v4l2_buffer *mtk_jpeg_buf_remove(struct mtk_jpeg_ctx *ctx,
static void mtk_jpeg_enc_stop_streaming(struct vb2_queue *q)
{
struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(q);
+ struct mtk_jpeg_dev *jpeg = ctx->jpeg;
struct vb2_v4l2_buffer *vb;

+ if (jpeg->variant->multi_core)
+ wait_event(jpeg->hw_wq, (atomic_read(&ctx->buf_list_cnt) == 0));
+
while ((vb = mtk_jpeg_buf_remove(ctx, q->type)))
v4l2_m2m_buf_done(vb, VB2_BUF_STATE_ERROR);
}
@@ -870,6 +874,7 @@ static void mtk_jpeg_enc_stop_streaming(struct vb2_queue *q)
static void mtk_jpeg_dec_stop_streaming(struct vb2_queue *q)
{
struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(q);
+ struct mtk_jpeg_dev *jpeg = ctx->jpeg;
struct vb2_v4l2_buffer *vb;

/*
@@ -877,6 +882,9 @@ static void mtk_jpeg_dec_stop_streaming(struct vb2_queue *q)
* Before STREAMOFF, we still have to return the old resolution and
* subsampling. Update capture queue when the stream is off.
*/
+ if (jpeg->variant->multi_core)
+ wait_event(jpeg->hw_wq, (atomic_read(&ctx->buf_list_cnt) == 0));
+
if (ctx->state == MTK_JPEG_SOURCE_CHANGE &&
V4L2_TYPE_IS_CAPTURE(q->type)) {
struct mtk_jpeg_src_buf *src_buf;
@@ -1186,6 +1194,7 @@ static int mtk_jpeg_open(struct file *file)
v4l2_fh_init(&ctx->fh, vfd);
file->private_data = &ctx->fh;
v4l2_fh_add(&ctx->fh);
+ atomic_set(&ctx->buf_list_cnt, 0);

ctx->jpeg = jpeg;
ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(jpeg->m2m_dev, ctx,
@@ -1568,6 +1577,11 @@ static int mtk_jpegdec_set_hw_param(struct mtk_jpeg_ctx *ctx,
return 0;
}

+static void jpeg_buf_queue_inc(struct mtk_jpeg_ctx *ctx)
+{
+ atomic_inc(&ctx->buf_list_cnt);
+}
+
static irqreturn_t mtk_jpeg_enc_done(struct mtk_jpeg_dev *jpeg)
{
struct mtk_jpeg_ctx *ctx;
@@ -1693,6 +1707,7 @@ static void mtk_jpegenc_worker(struct work_struct *work)
&src_buf->vb2_buf);
mtk_jpeg_set_enc_params(ctx, comp_jpeg[hw_id]->reg_base);
mtk_jpeg_enc_start(comp_jpeg[hw_id]->reg_base);
+ jpeg_buf_queue_inc(ctx);
v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx);
spin_unlock_irqrestore(&comp_jpeg[hw_id]->hw_lock, flags);

@@ -1825,6 +1840,7 @@ static void mtk_jpegdec_worker(struct work_struct *work)
&bs,
&fb);
mtk_jpeg_dec_start(comp_jpeg[hw_id]->reg_base);
+ jpeg_buf_queue_inc(ctx);
v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx);
spin_unlock_irqrestore(&comp_jpeg[hw_id]->hw_lock, flags);

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
index 186cd1862028..6e8304680393 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
@@ -303,6 +303,7 @@ struct mtk_jpeg_q_data {
* @dst_done_queue: encoded frame buffer queue
* @done_queue_lock: encoded frame operation spinlock
* @last_done_frame_num: the last encoded frame number
+ * @buf_list_cnt: the frame buffer count own by jpeg driver
*/
struct mtk_jpeg_ctx {
struct mtk_jpeg_dev *jpeg;
@@ -321,6 +322,7 @@ struct mtk_jpeg_ctx {
/* spinlock protecting the encode done buffer */
spinlock_t done_queue_lock;
u32 last_done_frame_num;
+ atomic_t buf_list_cnt;
};

#endif /* _MTK_JPEG_CORE_H */
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index 2200f3b628dc..2e6da8617484 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -522,6 +522,11 @@ static void mtk_jpegdec_put_buf(struct mtk_jpegdec_comp_dev *jpeg)
spin_unlock_irqrestore(&ctx->done_queue_lock, flags);
}

+static void jpeg_buf_queue_dec(struct mtk_jpeg_ctx *ctx)
+{
+ atomic_dec(&ctx->buf_list_cnt);
+}
+
static void mtk_jpegdec_timeout_work(struct work_struct *work)
{
enum vb2_buffer_state buf_state = VB2_BUF_STATE_ERROR;
@@ -530,9 +535,11 @@ static void mtk_jpegdec_timeout_work(struct work_struct *work)
job_timeout_work.work);
struct mtk_jpeg_dev *master_jpeg = cjpeg->master_dev;
struct vb2_v4l2_buffer *src_buf, *dst_buf;
+ struct mtk_jpeg_ctx *ctx;

src_buf = cjpeg->hw_param.src_buffer;
dst_buf = cjpeg->hw_param.dst_buffer;
+ ctx = cjpeg->hw_param.curr_ctx;
v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, true);

mtk_jpeg_dec_reset(cjpeg->reg_base);
@@ -543,6 +550,7 @@ static void mtk_jpegdec_timeout_work(struct work_struct *work)
wake_up(&master_jpeg->hw_wq);
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegdec_put_buf(cjpeg);
+ jpeg_buf_queue_dec(ctx);
}

static irqreturn_t mtk_jpegdec_hw_irq_handler(int irq, void *priv)
@@ -583,6 +591,7 @@ static irqreturn_t mtk_jpegdec_hw_irq_handler(int irq, void *priv)
buf_state = VB2_BUF_STATE_DONE;
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegdec_put_buf(jpeg);
+ jpeg_buf_queue_dec(ctx);
pm_runtime_put(ctx->jpeg->dev);
clk_disable_unprepare(jpeg->jdec_clk.clks->clk);

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index 4c264c14ad83..ff73393a2417 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -251,6 +251,11 @@ static void mtk_jpegenc_put_buf(struct mtk_jpegenc_comp_dev *jpeg)
spin_unlock_irqrestore(&ctx->done_queue_lock, flags);
}

+static void jpeg_buf_queue_dec(struct mtk_jpeg_ctx *ctx)
+{
+ atomic_dec(&ctx->buf_list_cnt);
+}
+
static void mtk_jpegenc_timeout_work(struct work_struct *work)
{
struct delayed_work *dly_work = to_delayed_work(work);
@@ -261,9 +266,11 @@ static void mtk_jpegenc_timeout_work(struct work_struct *work)
struct mtk_jpeg_dev *master_jpeg = cjpeg->master_dev;
enum vb2_buffer_state buf_state = VB2_BUF_STATE_ERROR;
struct vb2_v4l2_buffer *src_buf, *dst_buf;
+ struct mtk_jpeg_ctx *ctx;

src_buf = cjpeg->hw_param.src_buffer;
dst_buf = cjpeg->hw_param.dst_buffer;
+ ctx = cjpeg->hw_param.curr_ctx;
v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, true);

mtk_jpeg_enc_reset(cjpeg->reg_base);
@@ -274,6 +281,7 @@ static void mtk_jpegenc_timeout_work(struct work_struct *work)
wake_up(&master_jpeg->hw_wq);
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegenc_put_buf(cjpeg);
+ jpeg_buf_queue_dec(ctx);
}

static irqreturn_t mtk_jpegenc_hw_irq_handler(int irq, void *priv)
@@ -307,6 +315,7 @@ static irqreturn_t mtk_jpegenc_hw_irq_handler(int irq, void *priv)
buf_state = VB2_BUF_STATE_DONE;
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegenc_put_buf(jpeg);
+ jpeg_buf_queue_dec(ctx);
pm_runtime_put(ctx->jpeg->dev);
clk_disable_unprepare(jpeg->venc_clk.clks->clk);

--
2.46.0


Return-Path: <linux-kernel+bounces-667738-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 0A18C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:46: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 ny.mirrors.kernel.org (Postfix) with ESMTPS id BF56C4A6124
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:46:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 25ABA21C19B;
Fri, 30 May 2025 07:45:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Cd0RsXmj"
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 30B8621170D;
Fri, 30 May 2025 07:45:55 +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=1748591157; cv=none; b=tbF0hwLwPqiEgviErZp0bKk0emdrXieMeZqct/ns1PboIqfjQk8SbWnstxfcW4UJnHPociyCiiVXygED3qvWspYuRah5MbQRtiF+YjauCGf0zzFni92eTOJGSznu6rsyWibkcRGi+OCfmOOWqVLBEvm4NVB2Tq9OOnKtbE/07xs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591157; c=relaxed/simple;
bh=WbuLiynWujGvmB8DLZCSZXSoK4mcPAGIbfDFH/YsvXs=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=TPKmTyT1BjZlfexogZF+wEcYOO/IjC/seJ1Mivli9uu9cgXc2sTtfNZyy2Wbp6Pl8qyVhraldn1CLJZ7zEIdUWDtViv9sr03DbTkVI+CjtwdwW93+FEJ8VUsKM1I6nhsUKs2t+9b/iDVx3u/TaRUCRNP2K2ixPLyVj4VMxluUcI=
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=Cd0RsXmj; 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: 1b934de63d2a11f082f7f7ac98dee637-20250530
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=N0tPegYoongyaCY6bs5X+PjA8xXy8hsIicZmNQUSMw8=;
b=Cd0RsXmjZx8naoG2lcsLyQJO2NHGqWGzCF0tIS6h3F3J2oGp8nQhVGkBTMWKG6yLBtNQJ+wHl9P2sJ0Ps5uZqNic4P3NNnT3V4PbojQRB1NAys4p5NgxsyHVO32sMsjOPZFZ6Ja4s2HbztFwACsRcIHXg+z9584XCsbIsN6xDfU=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:bd6ac303-9956-4854-b8e1-648c8ebca034,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:93b3e547-ee4f-4716-aedb-66601021a588,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
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 1b934de63d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 588569593; Fri, 30 May 2025 15:45:50 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:49 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:48 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 11/12] media: mediatek: jpeg: refactor decoding resolution change operation
Date: Fri, 30 May 2025 15:45:36 +0800
Message-ID: <20250530074537.26338-12-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

For multi-core:
1.if there are only two src buffers, hw0 and hw1 are decoding
at the same time. When resolution change occurred on one hw,
the src buffer cannot be got in the stop streaming function,
which will cause a crash.
2.When a resolution change occurs, immediately set the new
resolution parameter to save the new resolution;
3.After a resolution change occurred, decoding should not continue,
needs to wait until new buffers are ready and the state machine
changed.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 795916206c7c..eba9f58b9198 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -891,7 +891,8 @@ static void mtk_jpeg_dec_stop_streaming(struct vb2_queue *q)

vb = v4l2_m2m_next_src_buf(ctx->fh.m2m_ctx);
src_buf = mtk_jpeg_vb2_to_srcbuf(&vb->vb2_buf);
- mtk_jpeg_set_queue_data(ctx, &src_buf->dec_param);
+ if (!IS_ERR_OR_NULL(src_buf))
+ mtk_jpeg_set_queue_data(ctx, &src_buf->dec_param);
ctx->state = MTK_JPEG_RUNNING;
} else if (V4L2_TYPE_IS_OUTPUT(q->type)) {
ctx->state = MTK_JPEG_INIT;
@@ -1785,11 +1786,15 @@ static void mtk_jpegdec_worker(struct work_struct *work)

if (mtk_jpeg_check_resolution_change(ctx,
&jpeg_src_buf->dec_param)) {
- mtk_jpeg_queue_src_chg_event(ctx);
+ mtk_jpeg_set_queue_data(ctx, &jpeg_src_buf->dec_param);
ctx->state = MTK_JPEG_SOURCE_CHANGE;
+ mtk_jpeg_queue_src_chg_event(ctx);
goto getbuf_fail;
}

+ if (ctx->state == MTK_JPEG_SOURCE_CHANGE)
+ goto getbuf_fail;
+
mtk_jpegdec_set_hw_param(ctx, hw_id, src_buf, dst_buf);
ret = pm_runtime_resume_and_get(comp_jpeg[hw_id]->dev);
if (ret < 0) {
--
2.46.0


Return-Path: <linux-kernel+bounces-667739-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 A7ACC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:46: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 B4FA01BA78A9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:46:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 863A621CFF6;
Fri, 30 May 2025 07:45:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="HmeTY8uI"
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 6F9BA211A2A;
Fri, 30 May 2025 07:45:55 +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=1748591157; cv=none; b=DC4pNLRD+E4HETvMOJPJw/qPmir8THySpGpavsHwGC3sLFwmnJUVVkY+gsgtXLL30DNLsoRxEv7qDC914h2yZrq1d0e9QDHuiTCOCpu6lwEbrxPNm3MgmynSS7ZDjhioGsCfrG+mluDAKvOZei8aPDJiGIDwR0K0f2PQ+NsNYDE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591157; c=relaxed/simple;
bh=0ic9nSHJIEU67IPNZMKfWmVwcxHXiqKoAMZ7l2TeF3M=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=LIX3w9vrFpRUpD+44di3lZ5L9DjHQVtQ6aL1tyizSfZvLYUzS+T92iKdP00YgipfY+3DXIsuRyRQ2npyftHv6KGQxxu78whSZaPk+elJi/5hHkV2mzae9fKSPgb8IcMg6zApcKQlujPoUIPjA48R0HytDy7foR6DEiP4BLmZwfY=
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=HmeTY8uI; 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: 175c76da3d2a11f082f7f7ac98dee637-20250530
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=u6xY90hU6nu3Tth8oHF+kYJGFxaM/O8gw2OGN1LI5xc=;
b=HmeTY8uIAQv7Rb7JXwj3xWSz7v8x905mJf4z8aXhgdp2JLpre64Ny7RIF+4bpMK+I1e0d+oKljIugxRm0rV4nWmDGNgAZtyY3w+IJ8R+Logc1o7s6U2oS5MmAm+wkb/vtSXWW3ALqGuI2VcDPDIzbWfqHZQTg59XazDokxljqdM=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:d863a1fa-2f1a-40df-ace8-5a59079330f9,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:f0f372f1-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: 175c76da3d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs14n2.mediatek.inc [(172.21.101.76)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1441152333; Fri, 30 May 2025 15:45:43 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:42 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:41 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 03/12] media: mediatek: jpeg: add jpeg compatible
Date: Fri, 30 May 2025 15:45:28 +0800
Message-ID: <20250530074537.26338-4-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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 jpeg dec and enc compatible for mt8196

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 34 +++++++++++++++++++
.../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 3 ++
.../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 3 ++
3 files changed, 40 insertions(+)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 7eb12449b63a..e89ccb8c904c 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1918,6 +1918,19 @@ static struct mtk_jpeg_variant mtk8195_jpegenc_drvdata = {
.jpeg_worker = mtk_jpegenc_worker,
};

+static struct mtk_jpeg_variant mtk8196_jpegenc_drvdata = {
+ .formats = mtk_jpeg_enc_formats,
+ .num_formats = MTK_JPEG_ENC_NUM_FORMATS,
+ .qops = &mtk_jpeg_enc_qops,
+ .m2m_ops = &mtk_jpeg_multicore_enc_m2m_ops,
+ .dev_name = "mtk-jpeg-enc",
+ .ioctl_ops = &mtk_jpeg_enc_ioctl_ops,
+ .out_q_default_fourcc = V4L2_PIX_FMT_YUYV,
+ .cap_q_default_fourcc = V4L2_PIX_FMT_JPEG,
+ .multi_core = true,
+ .jpeg_worker = mtk_jpegenc_worker,
+};
+
static const struct mtk_jpeg_variant mtk8195_jpegdec_drvdata = {
.formats = mtk_jpeg_dec_formats,
.num_formats = MTK_JPEG_DEC_NUM_FORMATS,
@@ -1931,6 +1944,19 @@ static const struct mtk_jpeg_variant mtk8195_jpegdec_drvdata = {
.jpeg_worker = mtk_jpegdec_worker,
};

+static const struct mtk_jpeg_variant mtk8196_jpegdec_drvdata = {
+ .formats = mtk_jpeg_dec_formats,
+ .num_formats = MTK_JPEG_DEC_NUM_FORMATS,
+ .qops = &mtk_jpeg_dec_qops,
+ .m2m_ops = &mtk_jpeg_multicore_dec_m2m_ops,
+ .dev_name = "mtk-jpeg-dec",
+ .ioctl_ops = &mtk_jpeg_dec_ioctl_ops,
+ .out_q_default_fourcc = V4L2_PIX_FMT_JPEG,
+ .cap_q_default_fourcc = V4L2_PIX_FMT_YUV420M,
+ .multi_core = true,
+ .jpeg_worker = mtk_jpegdec_worker,
+};
+
static const struct of_device_id mtk_jpeg_match[] = {
{
.compatible = "mediatek,mt8173-jpgdec",
@@ -1952,6 +1978,14 @@ static const struct of_device_id mtk_jpeg_match[] = {
.compatible = "mediatek,mt8195-jpgdec",
.data = &mtk8195_jpegdec_drvdata,
},
+ {
+ .compatible = "mediatek,mt8196-jpgenc",
+ .data = &mtk8196_jpegenc_drvdata,
+ },
+ {
+ .compatible = "mediatek,mt8196-jpgdec",
+ .data = &mtk8196_jpegdec_drvdata,
+ },
{},
};

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index e78e1d11093c..20553bf541df 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -45,6 +45,9 @@ static const struct of_device_id mtk_jpegdec_hw_ids[] = {
{
.compatible = "mediatek,mt8195-jpgdec-hw",
},
+ {
+ .compatible = "mediatek,mt8196-jpgdec-hw",
+ },
{},
};
MODULE_DEVICE_TABLE(of, mtk_jpegdec_hw_ids);
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index 9ab27aee302a..69c95113f205 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -52,6 +52,9 @@ static const struct of_device_id mtk_jpegenc_drv_ids[] = {
{
.compatible = "mediatek,mt8195-jpgenc-hw",
},
+ {
+ .compatible = "mediatek,mt8196-jpgenc-hw",
+ },
{},
};
MODULE_DEVICE_TABLE(of, mtk_jpegenc_drv_ids);
--
2.46.0


Return-Path: <linux-kernel+bounces-667741-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 B33B841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:47: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 4B66C4A705D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:47:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5C36121CC41;
Fri, 30 May 2025 07:45:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="rfkFU6Rf"
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 3BAD5213E65;
Fri, 30 May 2025 07:45:55 +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=1748591158; cv=none; b=ZC+NG4Oa5qEXr7LQDW6/twIj14reTdKnl5U6u61MGajmskKwcK9reHapm076v9QZtOgZJKgV4EzVDpjN8NYpfdBmI08Qzi5VcFl7NW5rbc1nrXZJtDWSV579n26deIKghu+n10HmYeK6lLV/uOjv0o9i/vQQRk8Zgr0WNAEI9gM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591158; c=relaxed/simple;
bh=t7T36+aS2GeJqejYEIccq9Itr8Vs/sc1LJeOGRTyTF8=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=UWBvqHc3pyqHWefFE3QMR9xe3EXZkMX7QAE4MKn3Rqk4uze/p3fdRp49ei/gZVyXN58gw8Xt/RGx4YaUIzLUULMhCvf849TIT6FPsW0CNGUb4PRu1UPgXjfcxpV7j7t9Z9llsUk2cc77mVh+LxMh7vUiyn1Y7wzolftvxgp6mEk=
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=rfkFU6Rf; 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: 16fe281e3d2a11f0813e4fe1310efc19-20250530
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=ZDLZCzUcSEipwZUBlZNpOSHF9zSJJP09jJDWRftbWCE=;
b=rfkFU6RfR70IAAL23iJoAJJM35sUu//ATeL6CrZvg96uuoqkENOw6W381OZVfPs7TtLv9R5Wd978x0ao10zuRKmLIBgmOOdzxiZDiZYX41+0gUUi/PuMRiZq5ufWouPoXJdqu4mJpHVVA/oid9r5vGJMLhzCoCtwAVx4NF4aZ1I=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:0d7943c1-1581-4a8a-820a-f36c1ca9bea8,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:16cf2458-abad-4ac2-9923-3af0a8a9a079,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: 16fe281e3d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1249093576; Fri, 30 May 2025 15:45:43 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) 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; Fri, 30 May 2025 15:45:41 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:40 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH v5 02/12] media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgenc compatible
Date: Fri, 30 May 2025 15:45:27 +0800
Message-ID: <20250530074537.26338-3-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

Compared to the previous generation IC, the MT8196 uses SMMU
instead of IOMMU and supports features such as dynamic voltage
and frequency scaling. Therefore, add "mediatek,mt8196-jpgenc"
compatible to the binding document.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
.../bindings/media/mediatek,mt8195-jpegenc.yaml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml
index 596186497b68..e2d772ea0fb0 100644
--- a/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml
+++ b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml
@@ -14,7 +14,9 @@ description:

properties:
compatible:
- const: mediatek,mt8195-jpgenc
+ enum:
+ - mediatek,mt8195-jpgenc
+ - mediatek,mt8196-jpgenc

power-domains:
maxItems: 1
@@ -44,7 +46,9 @@ patternProperties:

properties:
compatible:
- const: mediatek,mt8195-jpgenc-hw
+ enum:
+ - mediatek,mt8195-jpgenc-hw
+ - mediatek,mt8196-jpgenc-hw

reg:
maxItems: 1
--
2.46.0


Return-Path: <linux-kernel+bounces-667742-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 D6E2F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:47: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 808424A6D9A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:47:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 872EF22170B;
Fri, 30 May 2025 07:45:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Q01ks5ZJ"
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 3BB34213E69;
Fri, 30 May 2025 07:45:55 +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=1748591158; cv=none; b=mAczjVUWBKI983WrH4LdjLT5cY+kiJPpArfI/aQluTyuJb7UGCL7V0Ra/vdl+w3yIfN0O7cOxXHbe8nsBJ056lUYj+xmdSEDvbtYixM4nayLYUxV9mJfiOlnpxLsojG7Jp/fS6cD2o+AH5IWgq5qwtkalrewqJsLmjeCrkxy54A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591158; c=relaxed/simple;
bh=3DiVAe57LUwiCPzRAh1b7CUUya4e9UiZP0o+dFhDLDY=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=TOtCJOdwiM+l5LDGCxegAB6vNGSiyrGc/81arY1OqYFr2WROzycs1a1bj9gIuJnrYQZwLdf1jn3RPteHRTfRkLz8s9I8/n61sSE9cha4MatVK3LFI7B5r7n5G3VTzSWrI2qxML4BccUgtCY0j2BNNF6T0gSoBlgqHcDqVPbktFM=
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=Q01ks5ZJ; 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: 1aa6c6ec3d2a11f0813e4fe1310efc19-20250530
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=uU9QMJ8ywTOzIUiYj/jV85pg0KLsvi3NIz7nyLtfR3U=;
b=Q01ks5ZJLxZjkg40sSQ4bGbGiaJ6UhkX4/3BoFHNxjmJiQH0Bq8koVWynKnmdPswu2jB8nIueU7ALOW7b0MU9mcbZCbExM4wmcz0fN3qY56AOUWy5SRYOCJp/izhbREUeqbQUqVQJh4vRaKQVWlPWNQeVIS+rUIAhGSyJ8DKEYk=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:7e7fe6c5-b4bc-4f28-8eb6-dc4b863b6fb0,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:4def4759-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: 1aa6c6ec3d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 273158392; Fri, 30 May 2025 15:45:49 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:48 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:47 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 10/12] media: mediatek: jpeg: fix decoding buffer number setting timing issue
Date: Fri, 30 May 2025 15:45:35 +0800
Message-ID: <20250530074537.26338-11-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

move decoding buffer increase code into spinlock
protecting aera for multi-core

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 9 +++------
drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 1 +
drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 1 +
3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index c1d2de92f125..795916206c7c 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1782,7 +1782,6 @@ static void mtk_jpegdec_worker(struct work_struct *work)

v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, true);
jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(&src_buf->vb2_buf);
- jpeg_dst_buf = mtk_jpeg_vb2_to_srcbuf(&dst_buf->vb2_buf);

if (mtk_jpeg_check_resolution_change(ctx,
&jpeg_src_buf->dec_param)) {
@@ -1791,11 +1790,6 @@ static void mtk_jpegdec_worker(struct work_struct *work)
goto getbuf_fail;
}

- jpeg_src_buf->curr_ctx = ctx;
- jpeg_src_buf->frame_num = ctx->total_frame_num;
- jpeg_dst_buf->curr_ctx = ctx;
- jpeg_dst_buf->frame_num = ctx->total_frame_num;
-
mtk_jpegdec_set_hw_param(ctx, hw_id, src_buf, dst_buf);
ret = pm_runtime_resume_and_get(comp_jpeg[hw_id]->dev);
if (ret < 0) {
@@ -1820,6 +1814,9 @@ static void mtk_jpegdec_worker(struct work_struct *work)
msecs_to_jiffies(MTK_JPEG_HW_TIMEOUT_MSEC));

spin_lock_irqsave(&comp_jpeg[hw_id]->hw_lock, flags);
+ jpeg_dst_buf = mtk_jpeg_vb2_to_srcbuf(&dst_buf->vb2_buf);
+ jpeg_dst_buf->curr_ctx = ctx;
+ jpeg_dst_buf->frame_num = ctx->total_frame_num;
ctx->total_frame_num++;
mtk_jpeg_dec_reset(comp_jpeg[hw_id]->reg_base);

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index db2afc5151ad..da753a636eaa 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -516,6 +516,7 @@ static void mtk_jpegdec_put_buf(struct mtk_jpegdec_comp_dev *jpeg)
v4l2_m2m_buf_done(&tmp_dst_done_buf->b,
VB2_BUF_STATE_DONE);
ctx->last_done_frame_num++;
+ break;
}
}
}
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index 27da2a9922a6..5e8a5cb4850e 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -245,6 +245,7 @@ static void mtk_jpegenc_put_buf(struct mtk_jpegenc_comp_dev *jpeg)
v4l2_m2m_buf_done(&tmp_dst_done_buf->b,
VB2_BUF_STATE_DONE);
ctx->last_done_frame_num++;
+ break;
}
}
}
--
2.46.0


Return-Path: <linux-kernel+bounces-667740-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 A3D7D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:47: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 8EB861BC0B0F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:47:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5C3FA22127D;
Fri, 30 May 2025 07:45:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="idMfOeh2"
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 A6AC2213252;
Fri, 30 May 2025 07:45:55 +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=1748591158; cv=none; b=m9s4d3NE5I8l+5nrdWrK8jhJlrtmhtOXrf67w1GpVslaNJWzmrQIhr/JOe3ar8o1RA7c6hjv5Du1mkMHzyJsdG+/hFevVsSJ1SfuF2jf/T6jxSsO6823znBB9XHHG/+qgJxJ7zqubsJZl7QDsE0hcV1ToG8iCm4DEN+jNsM61cA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591158; c=relaxed/simple;
bh=IFm8wdOlIIRruORWX4B639189gQKtjW4W1qnL4GmuWQ=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=G3WD+ABWx4pe3i7oQXF/rIWmoiK1AbfE9zwDGvCkoVOhPjsYK3AL2M4ahQXvIG9v0weVj/iHWCqZHsojHQO9RfGC23WEgvq7KaW8BRkKVq838Q45kQgtNJJsNd4NHHVToRh70+YXKA0Te5nbSmoP1scNCXMDwBY4X6GjwAGe5XE=
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=idMfOeh2; 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: 1673a0543d2a11f0813e4fe1310efc19-20250530
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=UUiHorZ2b+H0g7M8FPcVvqonKj3X+eMHTIPcEBNa148=;
b=idMfOeh21/5A6EoyS9CS9xDkdzC6pSDVhSVoHP4CepnQ3HPLHR+r0MERILtuf1rswpCoqWVe3gAKZZKZfBncwXM7qVtGfxwIxp7myKVpI4RQZqdgGAPfQxX5DLiHkWzYbqJzc9VbnO/nGWXKREf28FOCn1EaPF745KEZD2PZK8A=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:c3c50b4b-b849-4398-9e33-160c634f6e46,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:17cf2458-abad-4ac2-9923-3af0a8a9a079,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: 1673a0543d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 201685046; Fri, 30 May 2025 15:45:42 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:40 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:39 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH v5 01/12] media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgdec compatible
Date: Fri, 30 May 2025 15:45:26 +0800
Message-ID: <20250530074537.26338-2-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

Compared to the previous generation IC, the MT8196 uses SMMU
instead of IOMMU and supports features such as dynamic voltage
and frequency scaling. Therefore, add "mediatek,mt8196-jpgdec"
compatible to the binding document.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
.../bindings/media/mediatek,mt8195-jpegdec.yaml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegdec.yaml b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegdec.yaml
index e5448c60e3eb..28a9a9bfdbf8 100644
--- a/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegdec.yaml
+++ b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegdec.yaml
@@ -14,7 +14,9 @@ description:

properties:
compatible:
- const: mediatek,mt8195-jpgdec
+ enum:
+ - mediatek,mt8195-jpgdec
+ - mediatek,mt8196-jpgdec

power-domains:
maxItems: 1
@@ -44,7 +46,9 @@ patternProperties:

properties:
compatible:
- const: mediatek,mt8195-jpgdec-hw
+ enum:
+ - mediatek,mt8195-jpgdec-hw
+ - mediatek,mt8196-jpgdec-hw

reg:
maxItems: 1
--
2.46.0


Return-Path: <linux-kernel+bounces-667744-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 E118B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:48: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 72595189D1F2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:48:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C92C02253BD;
Fri, 30 May 2025 07:46:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="PtIAXbe7"
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 382E12135DD;
Fri, 30 May 2025 07:45:55 +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=1748591159; cv=none; b=ANCxuvcqzGU2orHt1IbXnNICf4A/+5pXrubQnBvA/zu3E90LZISgH8G3gvsdyyDxIjVCbz+oOav0trehbm6tXRuCtZ/AVDgfkBs9qtakPyhSxSE69RV0/5XeNp9iizf0O8MOt6bjHUYm/oe9t/KzrBxdw9hoCKM6D0ubC5l0Vkw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591159; c=relaxed/simple;
bh=vbgGqaUjmC7X3jr8emhPQRlwWfsREiCDK2Qcp0HoCw0=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=huGNsb8kPxSLm5UHL4ED80kQihcsNwPX+mfDkLdi4YMMYkPiW+3jdv/KgK8rYM6D6k+aJ+8L7uWWbZYKZ1ytMHuf0Vh9QauCmfgoKdQzBTqi8QmYzChcQS3B4x9qoz9fVyovA00oUHGIChm2Z0E5RmQnejn9yf4YMSM99Ehi248=
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=PtIAXbe7; 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: 1c1c1d063d2a11f082f7f7ac98dee637-20250530
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=voJtxz07cvFdIZAVC3CJIYYyf2kty3bRZc+zfXUZii8=;
b=PtIAXbe7g2jcPVV/7rOGfKYD/9sYPafVPcHUEMvHfyLGwBKHFeXI+MjAd7WVwL1T0WG5E5ngvMD+eFmTTrJHCDWH0c30yrWtkwZxALnbo3JZLElUGq07mRUShN/R3w9Z0ienzYEYpQW3pD1V3+LnLnEQ2UTXwvKoGPf0IrVgY+I=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:012563c9-f9f2-4575-95aa-125cd1def60e,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:50ef4759-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: 1c1c1d063d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1778189780; Fri, 30 May 2025 15:45:51 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:49 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:49 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 12/12] media: mediatek: jpeg: fix remove buffer operation for multi-core
Date: Fri, 30 May 2025 15:45:37 +0800
Message-ID: <20250530074537.26338-13-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

move remove buffer code to spinlock protect area for multi-core

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index eba9f58b9198..34fa03bcfdd3 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1684,9 +1684,6 @@ static void mtk_jpegenc_worker(struct work_struct *work)
goto enc_end;
}

- v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
- v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);
-
schedule_delayed_work(&comp_jpeg[hw_id]->job_timeout_work,
msecs_to_jiffies(MTK_JPEG_HW_TIMEOUT_MSEC));

@@ -1707,6 +1704,8 @@ static void mtk_jpegenc_worker(struct work_struct *work)
&src_buf->vb2_buf);
mtk_jpeg_set_enc_params(ctx, comp_jpeg[hw_id]->reg_base);
mtk_jpeg_enc_start(comp_jpeg[hw_id]->reg_base);
+ v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
+ v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);
jpeg_buf_queue_inc(ctx);
v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx);
spin_unlock_irqrestore(&comp_jpeg[hw_id]->hw_lock, flags);
@@ -1803,9 +1802,6 @@ static void mtk_jpegdec_worker(struct work_struct *work)
goto dec_end;
}

- v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
- v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);
-
mtk_jpeg_set_dec_src(ctx, &src_buf->vb2_buf, &bs);
if (mtk_jpeg_set_dec_dst(ctx,
&jpeg_src_buf->dec_param,
@@ -1833,6 +1829,8 @@ static void mtk_jpegdec_worker(struct work_struct *work)
jpeg_src_buf->bs_size,
&bs,
&fb);
+ v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
+ v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);
mtk_jpeg_dec_start(comp_jpeg[hw_id]->reg_base);
jpeg_buf_queue_inc(ctx);
v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx);
--
2.46.0


Return-Path: <linux-kernel+bounces-667743-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 714EE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:48: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 34EBB1881F3C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:48:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E3518225A37;
Fri, 30 May 2025 07:46:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="GWs8Ot8e"
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 53678213E76;
Fri, 30 May 2025 07:45:55 +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=1748591158; cv=none; b=dX2+dYLWlRn8lH992UexYDDterWwEHHuD/Y2fINywxamJ0UgdpxM61zx113W0XLC/nQ6f65pOTQg5Q628QePoxmXrBZd6ibJJoiZbODaMx13Ws+aEldPzw41iWkl5JBEI01Ullq1gbEAltZNfnewdje593nZF9WWG/lRNYiyr7I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591158; c=relaxed/simple;
bh=HiwSoLDLZ+lOIYbotKILmqRbsJPCWCrItnP9nLizs64=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=GzAA7OwzdhjGZZhs879bo+sW0XS0YClEaJB4Fy0krCxcyTcLfztOrOlM8njKaS2EkgHnv10r+0p/r4YfnvCfV6m7sgp8oC6o/dHd1rTEWhWGzF/1diLWgh3FHhrWCEbDHo250XZBbpgu7c/36tqZ2BFL9UP0QEqYktOkhN5mR74=
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=GWs8Ot8e; 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: 188be91e3d2a11f082f7f7ac98dee637-20250530
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=xMgaRbZL3KC1x9EIoAGRT74ory9j3L2Lhi0zHJzEvQA=;
b=GWs8Ot8e0RKQaspUEf3Qy0kUjN0XhqgFh/yPrdIhFCC4e9PQX8o4fftTynrFqxZMVbjtklq+cnbgmQzxfMSuSXrz5GUlSSDFNzN9HxbKA9+HKzhbTKL00VEvJaLtwL1HeoxBOcC5Pnk2A1TfYaJvhWiqlESx8EW5T2lK+CWzulI=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:deb3ec52-d8a9-452b-bb81-a5dce70d6223,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:62b3e547-ee4f-4716-aedb-66601021a588,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: 188be91e3d2a11f082f7f7ac98dee637-20250530
Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw02.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 433634220; Fri, 30 May 2025 15:45:45 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:44 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:43 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 05/12] media: mediatek: jpeg: fix jpeg hw count setting
Date: Fri, 30 May 2025 15:45:30 +0800
Message-ID: <20250530074537.26338-6-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

1. different IC has different hw core;
2. use a parameter to set jpeg hw count.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 8 ++++----
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h | 2 ++
drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 1 +
drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 1 +
4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index ea890f01fa9e..0074d1edb534 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1469,7 +1469,7 @@ static int mtk_jpegenc_get_hw(struct mtk_jpeg_ctx *ctx)
int i;

spin_lock_irqsave(&jpeg->hw_lock, flags);
- for (i = 0; i < MTK_JPEGENC_HW_MAX; i++) {
+ for (i = 0; i < jpeg->max_hw_count; i++) {
comp_jpeg = jpeg->enc_hw_dev[i];
if (comp_jpeg->hw_state == MTK_JPEG_HW_IDLE) {
hw_id = i;
@@ -1516,7 +1516,7 @@ static int mtk_jpegdec_get_hw(struct mtk_jpeg_ctx *ctx)
int i;

spin_lock_irqsave(&jpeg->hw_lock, flags);
- for (i = 0; i < MTK_JPEGDEC_HW_MAX; i++) {
+ for (i = 0; i < jpeg->max_hw_count; i++) {
comp_jpeg = jpeg->dec_hw_dev[i];
if (comp_jpeg->hw_state == MTK_JPEG_HW_IDLE) {
hw_id = i;
@@ -1613,7 +1613,7 @@ static void mtk_jpegenc_worker(struct work_struct *work)
jpeg_work);
struct mtk_jpeg_dev *jpeg = ctx->jpeg;

- for (i = 0; i < MTK_JPEGENC_HW_MAX; i++)
+ for (i = 0; i < jpeg->max_hw_count; i++)
comp_jpeg[i] = jpeg->enc_hw_dev[i];
i = 0;

@@ -1725,7 +1725,7 @@ static void mtk_jpegdec_worker(struct work_struct *work)
struct mtk_jpeg_fb fb;
unsigned long flags;

- for (i = 0; i < MTK_JPEGDEC_HW_MAX; i++)
+ for (i = 0; i < jpeg->max_hw_count; i++)
comp_jpeg[i] = jpeg->dec_hw_dev[i];
i = 0;

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
index 46899512a5e6..655dc9c3280c 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
@@ -227,6 +227,7 @@ struct mtk_jpegdec_comp_dev {
* @reg_decbase: jpg decode register base addr
* @dec_hw_dev: jpg decode hardware device
* @hw_index: jpg hw index
+ * @max_hw_count: jpeg hw-core count
*/
struct mtk_jpeg_dev {
struct mutex lock;
@@ -249,6 +250,7 @@ struct mtk_jpeg_dev {
void __iomem *reg_decbase[MTK_JPEGDEC_HW_MAX];
struct mtk_jpegdec_comp_dev *dec_hw_dev[MTK_JPEGDEC_HW_MAX];
atomic_t hw_index;
+ u32 max_hw_count;
};

/**
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index 2538c49f8eda..2200f3b628dc 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -686,6 +686,7 @@ static int mtk_jpegdec_hw_probe(struct platform_device *pdev)
master_dev->dec_hw_dev[i] = dev;
master_dev->reg_decbase[i] = dev->reg_base;
dev->master_dev = master_dev;
+ master_dev->max_hw_count++;

ret = mtk_jpegdec_smmu_init(dev);
if (ret)
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index fc7b7d404253..4c264c14ad83 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -408,6 +408,7 @@ static int mtk_jpegenc_hw_probe(struct platform_device *pdev)
master_dev->enc_hw_dev[i] = dev;
master_dev->reg_encbase[i] = dev->reg_base;
dev->master_dev = master_dev;
+ master_dev->max_hw_count++;

ret = mtk_jpegenc_smmu_init(dev);
if (ret)
--
2.46.0


Return-Path: <linux-kernel+bounces-667746-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 88ACE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:48: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 1C11D16CC52
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:48:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 103EE22A4FA;
Fri, 30 May 2025 07:46:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Fq+wB7cY"
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 7FACF21931E;
Fri, 30 May 2025 07:45:57 +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=1748591160; cv=none; b=LyT79COg1I9BlNpJZjCEgZGVUvDMU/r47iVE5L5Ctaoss/BstyZPrWXJh8c1cVaJU5hzPZBI9ahBuk7VdehGY9Fn2wCZcLmxEeqjxJssQBmmEl7zF6jLV/8fQhMobWtzI+8LXmbtW+THwUYt3dtg39t0/H5nHR//p8a9D7A9MGs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591160; c=relaxed/simple;
bh=8naJ1eGVJfxO0se+BuJWQcoT8umxZPNwrD9QaiVNL8I=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=qGDhV+0PCJLsOQkmxUJumcYg+9dQoqUFkXqrSQwFSP3TApKwS86/fYeyzdGDaTFP/A1tTbAWQaiwvnSha9eGA3RdrDy2MjNX1V8PfAHW28kDd+ACxxecTeYMYmGNqscHD5X+oIYH+M4xO0+eEr8FxY9YdzwhokShjQ01i//u1WI=
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=Fq+wB7cY; 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: 180b326a3d2a11f0813e4fe1310efc19-20250530
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=ZDRLimDbs9/PQIMRCR8xauR9P2awDFwieoj2KQ6S5yg=;
b=Fq+wB7cY+djRQXp3PyvE+mADKJyM33o73P1zITXHG1BQrqzp+1l89cHOXJIOYcwPs8a7PGhK+GkasTprHOJl7qZ+8I83adjz/2ID+QgYZpcacN5W/zeM6AaPdDFXRT0ZD940kQVJg70MVwVDG004w9SpM7B/kz+qA9L03KpGbWE=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:8f431b29-489e-4a72-92f1-537068819766,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:18ef4759-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: 180b326a3d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 758297339; Fri, 30 May 2025 15:45:44 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:41 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:42 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 04/12] media: mediatek: jpeg: add jpeg smmu sid setting
Date: Fri, 30 May 2025 15:45:29 +0800
Message-ID: <20250530074537.26338-5-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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 a configuration to set jpeg dec & enc smmu sid

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 37 +++++++++++++++++++
.../platform/mediatek/jpeg/mtk_jpeg_core.h | 15 ++++++++
.../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 23 ++++++++++++
.../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 23 ++++++++++++
4 files changed, 98 insertions(+)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index e89ccb8c904c..ea890f01fa9e 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -15,6 +15,7 @@
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
+#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <media/v4l2-event.h>
@@ -1584,6 +1585,20 @@ static irqreturn_t mtk_jpeg_enc_done(struct mtk_jpeg_dev *jpeg)
return IRQ_HANDLED;
}

+static void mtk_jpeg_enc_set_smmu_sid(struct mtk_jpegenc_comp_dev *jpeg)
+{
+ struct mtk_jpeg_dev *mjpeg = jpeg->master_dev;
+
+ if (!mjpeg->variant->support_smmu || !jpeg->smmu_regmap)
+ return;
+
+ regmap_update_bits(jpeg->smmu_regmap, JPEG_ENC_SMMU_SID,
+ JPG_REG_GUSER_ID_MASK <<
+ JPG_REG_ENC_GUSER_ID_SHIFT,
+ JPG_REG_GUSER_ID_ENC_SID <<
+ JPG_REG_ENC_GUSER_ID_SHIFT);
+}
+
static void mtk_jpegenc_worker(struct work_struct *work)
{
struct mtk_jpegenc_comp_dev *comp_jpeg[MTK_JPEGENC_HW_MAX];
@@ -1655,6 +1670,9 @@ static void mtk_jpegenc_worker(struct work_struct *work)
jpeg_dst_buf->frame_num = ctx->total_frame_num;
ctx->total_frame_num++;
mtk_jpeg_enc_reset(comp_jpeg[hw_id]->reg_base);
+
+ mtk_jpeg_enc_set_smmu_sid(comp_jpeg[hw_id]);
+
mtk_jpeg_set_enc_dst(ctx,
comp_jpeg[hw_id]->reg_base,
&dst_buf->vb2_buf);
@@ -1679,6 +1697,20 @@ static void mtk_jpegenc_worker(struct work_struct *work)
v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx);
}

+static void mtk_jpeg_dec_set_smmu_sid(struct mtk_jpegdec_comp_dev *jpeg)
+{
+ struct mtk_jpeg_dev *mjpeg = jpeg->master_dev;
+
+ if (!mjpeg->variant->support_smmu || !jpeg->smmu_regmap)
+ return;
+
+ regmap_update_bits(jpeg->smmu_regmap, JPEG_DEC_SMMU_SID,
+ JPG_REG_GUSER_ID_MASK <<
+ JPG_REG_DEC_GUSER_ID_SHIFT,
+ JPG_REG_GUSER_ID_DEC_SID <<
+ JPG_REG_DEC_GUSER_ID_SHIFT);
+}
+
static void mtk_jpegdec_worker(struct work_struct *work)
{
struct mtk_jpeg_ctx *ctx = container_of(work, struct mtk_jpeg_ctx,
@@ -1771,6 +1803,9 @@ static void mtk_jpegdec_worker(struct work_struct *work)
spin_lock_irqsave(&comp_jpeg[hw_id]->hw_lock, flags);
ctx->total_frame_num++;
mtk_jpeg_dec_reset(comp_jpeg[hw_id]->reg_base);
+
+ mtk_jpeg_dec_set_smmu_sid(comp_jpeg[hw_id]);
+
mtk_jpeg_dec_set_config(comp_jpeg[hw_id]->reg_base,
jpeg->variant->support_34bit,
&jpeg_src_buf->dec_param,
@@ -1929,6 +1964,7 @@ static struct mtk_jpeg_variant mtk8196_jpegenc_drvdata = {
.cap_q_default_fourcc = V4L2_PIX_FMT_JPEG,
.multi_core = true,
.jpeg_worker = mtk_jpegenc_worker,
+ .support_smmu = true,
};

static const struct mtk_jpeg_variant mtk8195_jpegdec_drvdata = {
@@ -1955,6 +1991,7 @@ static const struct mtk_jpeg_variant mtk8196_jpegdec_drvdata = {
.cap_q_default_fourcc = V4L2_PIX_FMT_YUV420M,
.multi_core = true,
.jpeg_worker = mtk_jpegdec_worker,
+ .support_smmu = true,
};

static const struct of_device_id mtk_jpeg_match[] = {
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
index 02ed0ed5b736..46899512a5e6 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
@@ -11,6 +11,7 @@

#include <linux/clk.h>
#include <linux/interrupt.h>
+#include <linux/mfd/syscon.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fh.h>
@@ -34,6 +35,14 @@

#define MTK_JPEG_MAX_EXIF_SIZE (64 * 1024)

+#define JPEG_DEC_SMMU_SID 0
+#define JPEG_ENC_SMMU_SID 0
+#define JPG_REG_GUSER_ID_MASK 0x7
+#define JPG_REG_GUSER_ID_DEC_SID 0x4
+#define JPG_REG_GUSER_ID_ENC_SID 0x5
+#define JPG_REG_DEC_GUSER_ID_SHIFT 8
+#define JPG_REG_ENC_GUSER_ID_SHIFT 4
+
#define MTK_JPEG_ADDR_MASK GENMASK(1, 0)

/**
@@ -65,6 +74,7 @@ enum mtk_jpeg_ctx_state {
* @multi_core: mark jpeg hw is multi_core or not
* @jpeg_worker: jpeg dec or enc worker
* @support_34bit: flag to check support for 34-bit DMA address
+ * @support_smmu: flag to check if support smmu
*/
struct mtk_jpeg_variant {
struct clk_bulk_data *clks;
@@ -82,6 +92,7 @@ struct mtk_jpeg_variant {
bool multi_core;
void (*jpeg_worker)(struct work_struct *work);
bool support_34bit;
+ bool support_smmu;
};

struct mtk_jpeg_src_buf {
@@ -150,6 +161,7 @@ struct mtk_jpegdec_clk {
* @hw_param: jpeg encode hw parameters
* @hw_state: record hw state
* @hw_lock: spinlock protecting the hw device resource
+ * @smmu_regmap: SMMU registers mapping
*/
struct mtk_jpegenc_comp_dev {
struct device *dev;
@@ -163,6 +175,7 @@ struct mtk_jpegenc_comp_dev {
enum mtk_jpeg_hw_state hw_state;
/* spinlock protecting the hw device resource */
spinlock_t hw_lock;
+ struct regmap *smmu_regmap;
};

/**
@@ -177,6 +190,7 @@ struct mtk_jpegenc_comp_dev {
* @hw_param: jpeg decode hw parameters
* @hw_state: record hw state
* @hw_lock: spinlock protecting hw
+ * @smmu_regmap: SMMU registers mapping
*/
struct mtk_jpegdec_comp_dev {
struct device *dev;
@@ -190,6 +204,7 @@ struct mtk_jpegdec_comp_dev {
enum mtk_jpeg_hw_state hw_state;
/* spinlock protecting the hw device resource */
spinlock_t hw_lock;
+ struct regmap *smmu_regmap;
};

/**
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index 20553bf541df..2538c49f8eda 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -616,6 +616,25 @@ static int mtk_jpegdec_hw_init_irq(struct mtk_jpegdec_comp_dev *dev)
return 0;
}

+static int mtk_jpegdec_smmu_init(struct mtk_jpegdec_comp_dev *dev)
+{
+ struct mtk_jpeg_dev *master_dev = dev->master_dev;
+
+ if (!master_dev->variant->support_smmu)
+ return 0;
+
+ dev->smmu_regmap =
+ syscon_regmap_lookup_by_phandle(dev->plat_dev->dev.of_node,
+ "mediatek,smmu-config");
+ if (IS_ERR(dev->smmu_regmap)) {
+ return dev_err_probe(dev->dev, PTR_ERR(dev->smmu_regmap),
+ "mmap smmu_base failed(%ld)\n",
+ PTR_ERR(dev->smmu_regmap));
+ }
+
+ return 0;
+}
+
static int mtk_jpegdec_hw_probe(struct platform_device *pdev)
{
struct mtk_jpegdec_clk *jpegdec_clk;
@@ -668,6 +687,10 @@ static int mtk_jpegdec_hw_probe(struct platform_device *pdev)
master_dev->reg_decbase[i] = dev->reg_base;
dev->master_dev = master_dev;

+ ret = mtk_jpegdec_smmu_init(dev);
+ if (ret)
+ return ret;
+
platform_set_drvdata(pdev, dev);
pm_runtime_enable(&pdev->dev);

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index 69c95113f205..fc7b7d404253 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -340,6 +340,25 @@ static int mtk_jpegenc_hw_init_irq(struct mtk_jpegenc_comp_dev *dev)
return 0;
}

+static int mtk_jpegenc_smmu_init(struct mtk_jpegenc_comp_dev *dev)
+{
+ struct mtk_jpeg_dev *master_dev = dev->master_dev;
+
+ if (!master_dev->variant->support_smmu)
+ return 0;
+
+ dev->smmu_regmap =
+ syscon_regmap_lookup_by_phandle(dev->plat_dev->dev.of_node,
+ "mediatek,smmu-config");
+ if (IS_ERR(dev->smmu_regmap)) {
+ return dev_err_probe(dev->dev, PTR_ERR(dev->smmu_regmap),
+ "mmap smmu_base failed(%ld)\n",
+ PTR_ERR(dev->smmu_regmap));
+ }
+
+ return 0;
+}
+
static int mtk_jpegenc_hw_probe(struct platform_device *pdev)
{
struct mtk_jpegenc_clk *jpegenc_clk;
@@ -390,6 +409,10 @@ static int mtk_jpegenc_hw_probe(struct platform_device *pdev)
master_dev->reg_encbase[i] = dev->reg_base;
dev->master_dev = master_dev;

+ ret = mtk_jpegenc_smmu_init(dev);
+ if (ret)
+ return ret;
+
platform_set_drvdata(pdev, dev);
pm_runtime_enable(&pdev->dev);

--
2.46.0


Return-Path: <linux-kernel+bounces-667745-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 0DB6941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:48: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 ny.mirrors.kernel.org (Postfix) with ESMTPS id B79F417186A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:48:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 234E722A7E6;
Fri, 30 May 2025 07:46:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="KfmOmPX5"
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 2F923218838;
Fri, 30 May 2025 07:45:56 +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=1748591159; cv=none; b=aKxeyqs2f3TL33UoNfUp4T+BcMkX/BLyAfk0p+h9Eqgj/Fo2hkx+eyYn44bykIXKnRQNhQG4+PHRvbH+DYkWxRYd+a9dkLKruixXWi511k1Lqn4y4oxTqyMJXS2cayJ8MW24klpprfTjmEwjlivZ9ry/lws1NEFg2zsEQVI1UkQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591159; c=relaxed/simple;
bh=KwPVcx4duUTkQUrpSYx/63/vbCXlLVwNsf65rXBt30o=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=VRSjpXf8yfR9NFEm5OJzLdjlfxaTxPkcO0dGpyP895m9t5v6wasgcvpAyzrzy9/J2avmmsULu6niKBY/LolUMDcpzqOA9gaEKLldk5yRXipSYL0uhPhZcUhdzuf4s5Zb76TiMq2KewFByUyUy6bfqU79VxbW5ljEAKH75m7kK9o=
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=KfmOmPX5; 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: 1a976b483d2a11f0813e4fe1310efc19-20250530
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=BbyVd+fF3e4kxod0ujcjJ4RkaIgpjSecbhyLfYVcfiU=;
b=KfmOmPX5Hx6HlaoMD3bAA/gdQK/VNppiuIwa1aUKcKPeq0TTsY6caXL43X2ge2gt9DMsJFLDNTzVMvUW60Lu8ucmasHVQz1i/ssWm0+ZZN3tyI2g75KXWy0i6kfsBbsRxwyqFbZkH/fNnbvDN2YW3/iF5WUO78NHTiyO1v8Hygs=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:66bfd0f9-f095-4c51-b290-fd3ff655cc21,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:8fb3e547-ee4f-4716-aedb-66601021a588,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: 1a976b483d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1086735013; Fri, 30 May 2025 15:45:49 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:47 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:46 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 09/12] media: mediatek: jpeg: refactor multi-core clk suspend and resume setting
Date: Fri, 30 May 2025 15:45:34 +0800
Message-ID: <20250530074537.26338-10-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

refactor jpeg clk suspend and resume setting for multi-core

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
.../platform/mediatek/jpeg/mtk_jpeg_core.c | 28 +++----
.../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 75 ++++++++++++++++++-
.../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 75 ++++++++++++++++++-
3 files changed, 151 insertions(+), 27 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 1d3df1230191..c1d2de92f125 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1126,6 +1126,9 @@ static void mtk_jpeg_clk_on(struct mtk_jpeg_dev *jpeg)
{
int ret;

+ if (jpeg->variant->multi_core)
+ return;
+
ret = clk_bulk_prepare_enable(jpeg->variant->num_clks,
jpeg->variant->clks);
if (ret)
@@ -1134,6 +1137,9 @@ static void mtk_jpeg_clk_on(struct mtk_jpeg_dev *jpeg)

static void mtk_jpeg_clk_off(struct mtk_jpeg_dev *jpeg)
{
+ if (jpeg->variant->multi_core)
+ return;
+
clk_bulk_disable_unprepare(jpeg->variant->num_clks,
jpeg->variant->clks);
}
@@ -1677,13 +1683,6 @@ static void mtk_jpegenc_worker(struct work_struct *work)
goto enc_end;
}

- ret = clk_prepare_enable(comp_jpeg[hw_id]->venc_clk.clks->clk);
- if (ret) {
- dev_err(jpeg->dev, "%s : %d, jpegenc clk_prepare_enable fail\n",
- __func__, __LINE__);
- goto enc_end;
- }
-
v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);

@@ -1798,20 +1797,13 @@ static void mtk_jpegdec_worker(struct work_struct *work)
jpeg_dst_buf->frame_num = ctx->total_frame_num;

mtk_jpegdec_set_hw_param(ctx, hw_id, src_buf, dst_buf);
- ret = pm_runtime_get_sync(comp_jpeg[hw_id]->dev);
+ ret = pm_runtime_resume_and_get(comp_jpeg[hw_id]->dev);
if (ret < 0) {
dev_err(jpeg->dev, "%s : %d, pm_runtime_get_sync fail !!!\n",
__func__, __LINE__);
goto dec_end;
}

- ret = clk_prepare_enable(comp_jpeg[hw_id]->jdec_clk.clks->clk);
- if (ret) {
- dev_err(jpeg->dev, "%s : %d, jpegdec clk_prepare_enable fail\n",
- __func__, __LINE__);
- goto clk_end;
- }
-
v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);

@@ -1821,7 +1813,7 @@ static void mtk_jpegdec_worker(struct work_struct *work)
&dst_buf->vb2_buf, &fb)) {
dev_err(jpeg->dev, "%s : %d, mtk_jpeg_set_dec_dst fail\n",
__func__, __LINE__);
- goto setdst_end;
+ goto set_dst_fail;
}

schedule_delayed_work(&comp_jpeg[hw_id]->job_timeout_work,
@@ -1846,9 +1838,7 @@ static void mtk_jpegdec_worker(struct work_struct *work)

return;

-setdst_end:
- clk_disable_unprepare(comp_jpeg[hw_id]->jdec_clk.clks->clk);
-clk_end:
+set_dst_fail:
pm_runtime_put(comp_jpeg[hw_id]->dev);
dec_end:
v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx);
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
index 2e6da8617484..db2afc5151ad 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
@@ -543,14 +543,13 @@ static void mtk_jpegdec_timeout_work(struct work_struct *work)
v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, true);

mtk_jpeg_dec_reset(cjpeg->reg_base);
- clk_disable_unprepare(cjpeg->jdec_clk.clks->clk);
- pm_runtime_put(cjpeg->dev);
cjpeg->hw_state = MTK_JPEG_HW_IDLE;
atomic_inc(&master_jpeg->hw_rdy);
wake_up(&master_jpeg->hw_wq);
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegdec_put_buf(cjpeg);
jpeg_buf_queue_dec(ctx);
+ pm_runtime_put(cjpeg->dev);
}

static irqreturn_t mtk_jpegdec_hw_irq_handler(int irq, void *priv)
@@ -592,12 +591,11 @@ static irqreturn_t mtk_jpegdec_hw_irq_handler(int irq, void *priv)
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegdec_put_buf(jpeg);
jpeg_buf_queue_dec(ctx);
- pm_runtime_put(ctx->jpeg->dev);
- clk_disable_unprepare(jpeg->jdec_clk.clks->clk);

jpeg->hw_state = MTK_JPEG_HW_IDLE;
wake_up(&master_jpeg->hw_wq);
atomic_inc(&master_jpeg->hw_rdy);
+ pm_runtime_put(jpeg->dev);

return IRQ_HANDLED;
}
@@ -703,15 +701,84 @@ static int mtk_jpegdec_hw_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, dev);
pm_runtime_enable(&pdev->dev);
+ ret = devm_clk_bulk_get(dev->dev,
+ jpegdec_clk->clk_num,
+ jpegdec_clk->clks);
+ if (ret) {
+ dev_err(&pdev->dev, "Failed to init clk\n");
+ return ret;
+ }
+
+ return 0;
+}
+
+static void mtk_jpeg_clk_on(struct mtk_jpegdec_comp_dev *jpeg)
+{
+ int ret;
+
+ ret = clk_bulk_prepare_enable(jpeg->jdec_clk.clk_num,
+ jpeg->jdec_clk.clks);
+ if (ret)
+ dev_err(jpeg->dev, "%s : %d, jpegdec clk_prepare_enable fail\n",
+ __func__, __LINE__);
+}
+
+static void mtk_jpeg_clk_off(struct mtk_jpegdec_comp_dev *jpeg)
+{
+ clk_bulk_disable_unprepare(jpeg->jdec_clk.clk_num,
+ jpeg->jdec_clk.clks);
+}
+
+static __maybe_unused int mtk_jpegdec_pm_suspend(struct device *dev)
+{
+ struct mtk_jpegdec_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ mtk_jpeg_clk_off(jpeg);

return 0;
}

+static __maybe_unused int mtk_jpegdec_pm_resume(struct device *dev)
+{
+ struct mtk_jpegdec_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ mtk_jpeg_clk_on(jpeg);
+
+ return 0;
+}
+
+static __maybe_unused int mtk_jpegdec_suspend(struct device *dev)
+{
+ struct mtk_jpegdec_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ v4l2_m2m_suspend(jpeg->master_dev->m2m_dev);
+ return pm_runtime_force_suspend(dev);
+}
+
+static __maybe_unused int mtk_jpegdec_resume(struct device *dev)
+{
+ struct mtk_jpegdec_comp_dev *jpeg = dev_get_drvdata(dev);
+ int ret;
+
+ ret = pm_runtime_force_resume(dev);
+ if (ret < 0)
+ return ret;
+
+ v4l2_m2m_resume(jpeg->master_dev->m2m_dev);
+ return ret;
+}
+
+static const struct dev_pm_ops mtk_jpegdec_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS(mtk_jpegdec_suspend, mtk_jpegdec_resume)
+ SET_RUNTIME_PM_OPS(mtk_jpegdec_pm_suspend, mtk_jpegdec_pm_resume, NULL)
+};
+
static struct platform_driver mtk_jpegdec_hw_driver = {
.probe = mtk_jpegdec_hw_probe,
.driver = {
.name = "mtk-jpegdec-hw",
.of_match_table = mtk_jpegdec_hw_ids,
+ .pm = &mtk_jpegdec_pm_ops,
},
};

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
index ff73393a2417..27da2a9922a6 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_enc_hw.c
@@ -274,14 +274,13 @@ static void mtk_jpegenc_timeout_work(struct work_struct *work)
v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, true);

mtk_jpeg_enc_reset(cjpeg->reg_base);
- clk_disable_unprepare(cjpeg->venc_clk.clks->clk);
- pm_runtime_put(cjpeg->dev);
cjpeg->hw_state = MTK_JPEG_HW_IDLE;
atomic_inc(&master_jpeg->hw_rdy);
wake_up(&master_jpeg->hw_wq);
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegenc_put_buf(cjpeg);
jpeg_buf_queue_dec(ctx);
+ pm_runtime_put(cjpeg->dev);
}

static irqreturn_t mtk_jpegenc_hw_irq_handler(int irq, void *priv)
@@ -316,12 +315,11 @@ static irqreturn_t mtk_jpegenc_hw_irq_handler(int irq, void *priv)
v4l2_m2m_buf_done(src_buf, buf_state);
mtk_jpegenc_put_buf(jpeg);
jpeg_buf_queue_dec(ctx);
- pm_runtime_put(ctx->jpeg->dev);
- clk_disable_unprepare(jpeg->venc_clk.clks->clk);

jpeg->hw_state = MTK_JPEG_HW_IDLE;
wake_up(&master_jpeg->hw_wq);
atomic_inc(&master_jpeg->hw_rdy);
+ pm_runtime_put(jpeg->dev);

return IRQ_HANDLED;
}
@@ -425,15 +423,84 @@ static int mtk_jpegenc_hw_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, dev);
pm_runtime_enable(&pdev->dev);
+ ret = devm_clk_bulk_get(dev->dev,
+ jpegenc_clk->clk_num,
+ jpegenc_clk->clks);
+ if (ret) {
+ dev_err(&pdev->dev, "Failed to init clk\n");
+ return ret;
+ }
+
+ return 0;
+}
+
+static void mtk_jpeg_clk_on(struct mtk_jpegenc_comp_dev *jpeg)
+{
+ int ret;
+
+ ret = clk_bulk_prepare_enable(jpeg->venc_clk.clk_num,
+ jpeg->venc_clk.clks);
+ if (ret)
+ dev_err(jpeg->dev, "%s : %d, jpegenc clk_prepare_enable fail\n",
+ __func__, __LINE__);
+}
+
+static void mtk_jpeg_clk_off(struct mtk_jpegenc_comp_dev *jpeg)
+{
+ clk_bulk_disable_unprepare(jpeg->venc_clk.clk_num,
+ jpeg->venc_clk.clks);
+}
+
+static __maybe_unused int mtk_jpegenc_pm_suspend(struct device *dev)
+{
+ struct mtk_jpegenc_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ mtk_jpeg_clk_off(jpeg);

return 0;
}

+static __maybe_unused int mtk_jpegenc_pm_resume(struct device *dev)
+{
+ struct mtk_jpegenc_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ mtk_jpeg_clk_on(jpeg);
+
+ return 0;
+}
+
+static __maybe_unused int mtk_jpegenc_suspend(struct device *dev)
+{
+ struct mtk_jpegenc_comp_dev *jpeg = dev_get_drvdata(dev);
+
+ v4l2_m2m_suspend(jpeg->master_dev->m2m_dev);
+ return pm_runtime_force_suspend(dev);
+}
+
+static __maybe_unused int mtk_jpegenc_resume(struct device *dev)
+{
+ struct mtk_jpegenc_comp_dev *jpeg = dev_get_drvdata(dev);
+ int ret;
+
+ ret = pm_runtime_force_resume(dev);
+ if (ret < 0)
+ return ret;
+
+ v4l2_m2m_resume(jpeg->master_dev->m2m_dev);
+ return ret;
+}
+
+static const struct dev_pm_ops mtk_jpegenc_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS(mtk_jpegenc_suspend, mtk_jpegenc_resume)
+ SET_RUNTIME_PM_OPS(mtk_jpegenc_pm_suspend, mtk_jpegenc_pm_resume, NULL)
+};
+
static struct platform_driver mtk_jpegenc_hw_driver = {
.probe = mtk_jpegenc_hw_probe,
.driver = {
.name = "mtk-jpegenc-hw",
.of_match_table = mtk_jpegenc_drv_ids,
+ .pm = &mtk_jpegenc_pm_ops,
},
};

--
2.46.0


Return-Path: <linux-kernel+bounces-667747-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 5AF7141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:49: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 703ADA2406E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:48:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 522B322A80E;
Fri, 30 May 2025 07:46:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="OBxSEatE"
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 83C9721CC68;
Fri, 30 May 2025 07:45:58 +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=1748591160; cv=none; b=XoGVYmNef+/Y4weMufUUpIEzSJP8BAp/hgNX1GZxgb0RDnaUoic6SJhK6ZxOgpKKjK9xgrumVzRGUIs7PrJAfB5cfYtRuAeDYPJHawAYDv61XwAG7bs+BbD3PFzxpb59tB8lGpOLRNgDBT59gK/fhmbN5lYwn5PWYeasJQ0kvOw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591160; c=relaxed/simple;
bh=KBxHNpyU83jVkDLAPtttL1X52bt5xNuqeSlFI0PkCNs=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=a5EfVJfNBTQVyYd9niOvn+N4UYAp3MbGOsoM1Vl9L2yBRSkqYjVKCaKi3Pog/p6EAoEVDIqjLcfVf8yc+GW3pH7yavgng19EE1k9l0X8bxhd2YU+BwbPlAZoNdJRdVnTGJK0vKaFJNYLMMInIfA348qqB8+iRYuuA3gjkqKcx5A=
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=OBxSEatE; 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: 1993afea3d2a11f0813e4fe1310efc19-20250530
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=OZgJlLqonv38l5RGHoperSGRC6MB1OzkzkEVVzcVj6A=;
b=OBxSEatEehJ7qHeCbGFizpUb82ZibskdsfL1B4j47yMyyNMJXqQvF64zUyvFy+CeB7wE3RIDgyuRn65wlK6wobAr5b6z26KzcazR98aqcpaJ5ONPFugP7tCrwdvBHG3OSYprAsav89aFGaIiOaw2bRYsoap9iuKHb2HwzyCnLcA=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:0442ddce-a742-44d1-bccf-ffb9a44d4bbe,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:0df472f1-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: 1993afea3d2a11f0813e4fe1310efc19-20250530
Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw01.mediatek.com
(envelope-from <kyrie.wu@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 100093922; Fri, 30 May 2025 15:45:47 +0800
Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by
MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Fri, 30 May 2025 15:45:45 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:45 +0800
From: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
To: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>, Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>,
<linux-media@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: <srv_heupstream@xxxxxxxxxxxx>
Subject: [PATCH v5 07/12] media: mediatek: jpeg: refactor jpeg dst buffer layout
Date: Fri, 30 May 2025 15:45:32 +0800
Message-ID: <20250530074537.26338-8-kyrie.wu@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250530074537.26338-1-kyrie.wu@xxxxxxxxxxxx>
References: <20250530074537.26338-1-kyrie.wu@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-MTK: N
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

1. change dst buffer size to same as struct mtk_jpeg_src_buf
to make sure all params of mtk_jpeg_src_buf could get a memory.
2. For memory alloc operation:
the v4l2 framework malloc a memory, the base addr is vb2_buffer and
the size is sizeof(struct mtk_jpeg_src_buf), mtk_jpeg_src_buf could get
itself addr by container_of like that:
vb2_buffer -> vb2_v4l2_buffer -> mtk_jpeg_src_buf.
vb2_v4l2_buffer must keep on the top of mtk_jpeg_src_buf.

Signed-off-by: Kyrie Wu <kyrie.wu@xxxxxxxxxxxx>
---
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 2 +-
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
index 52d59bb5c9ad..7e3509be6f69 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
@@ -1103,7 +1103,7 @@ static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
dst_vq->io_modes = VB2_DMABUF | VB2_MMAP;
dst_vq->drv_priv = ctx;
- dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
+ dst_vq->buf_struct_size = sizeof(struct mtk_jpeg_src_buf);
dst_vq->ops = jpeg->variant->qops;
dst_vq->mem_ops = &vb2_dma_contig_memops;
dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
index 655dc9c3280c..186cd1862028 100644
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.h
@@ -96,10 +96,10 @@ struct mtk_jpeg_variant {
};

struct mtk_jpeg_src_buf {
- u32 frame_num;
struct vb2_v4l2_buffer b;
struct list_head list;
u32 bs_size;
+ u32 frame_num;
struct mtk_jpeg_dec_param dec_param;

struct mtk_jpeg_ctx *curr_ctx;
--
2.46.0


Return-Path: <linux-kernel+bounces-667748-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 6E63641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:49: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 A41001BC537A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:49:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 43F46217722;
Fri, 30 May 2025 07:46:39 +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="O/mKfuQB"
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 6254A213E6D;
Fri, 30 May 2025 07:46:34 +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=1748591198; cv=none; b=fzrDYBiLR4e5ewANl9mGxdmXXWkLgRtj1ImtVKNuhxgAoP2RE08pVDtJiM/w3tmeekmbMOIiKU0eNKyzr/pv/Y1TgDty/LSHDm5aHZTYuwyhdv0wrOUmxAerjR4zEM/cbzrl0pEASCmRDu0xLoURAdlWvUlP5gcDpGhH0FI1eOc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591198; c=relaxed/simple;
bh=C/gy27BDlYkIDsDi2lK2NXljjmhG5IvM8N89F5XHS3M=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=REoS21j7QnCTXl/QT9aZ6FjkyYngocj/tHd9G3l+rtvjx27sj1oQyE7lp2FUE/TcYTXPh/lN2gUxuEK64rH+1bPsY3wfammLAwclYL2r0Paz6Mxvw41IWs7Qz1bQV1wrEWPen0uqtnKHy1l3M/6ziQo4bP95ZeR7Io1wNEsEZGU=
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=O/mKfuQB; 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=Ut2tpuuqRAyjo9B+qNNd6yMUFNVjo/29ecFKGIED0ig=; b=O/mKfuQB0BUcNmKRdmWHnd9iSG
YG+hJVA3Yn5K2Cyf7t9KIzf9KxAnua8o59fak2AfljqKfB8sgaL/fJtW/VJHi+0FT0XD14AO/yh0h
WBYb4GNg8RPO6rM8zhtWY1VqZe77B8ZTC6DS34hH2Lje4+TY59ss4FN9jqBaXeyHrHMS089dZy7IO
v6tIHTswLxoPoyt4C75BFzlOtlJqTBYYKJ+BuahW0po4IZOKX596tYectV7YVC0scKjOZXFK9o3uM
Du8yGWMTEI5Wq0NzmCH2n21bMfmg6tTQ/LbkC/7mjUgqnyIKNEpS0AlTSXjs1pNNCiYYZTfoCFKxs
d4ZMt7sg==;
Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:40490)
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 1uKuRe-00027t-2K;
Fri, 30 May 2025 08:46:26 +0100
Received: from linux by shell.armlinux.org.uk with local (Exim 4.96)
(envelope-from <linux@xxxxxxxxxxxxxxxxxxxxx>)
id 1uKuRX-0004Rl-1d;
Fri, 30 May 2025 08:46:19 +0100
Date: Fri, 30 May 2025 08:46:19 +0100
From: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
To: Romain Gantois <romain.gantois@xxxxxxxxxxx>
Cc: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>, 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>,
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>,
=?iso-8859-1?Q?K=F6ry?= Maincent <kory.maincent@xxxxxxxxxxx>,
Marek =?iso-8859-1?Q?Beh=FAn?= <kabel@xxxxxxxxxx>,
Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>,
=?iso-8859-1?Q?Nicol=F2?= 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: <aDliS9uMFaLf2lCV@xxxxxxxxxxxxxxxxxxxxx>
References: <20250507135331.76021-1-maxime.chevallier@xxxxxxxxxxx>
<13770694.uLZWGnKmhe@fw-rgant>
<aDhfyiSOnyA709oX@xxxxxxxxxxxxxxxxxxxxx>
<6159237.lOV4Wx5bFT@fw-rgant>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-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: <6159237.lOV4Wx5bFT@fw-rgant>
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 Fri, May 30, 2025 at 09:28:11AM +0200, Romain Gantois wrote:
> On Thursday, 29 May 2025 15:23:22 CEST Russell King (Oracle) wrote:
> > On Wed, May 28, 2025 at 09:35:35AM +0200, Romain Gantois wrote:
> > > > 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.
> >
> > 1000BASE-X is exactly what is described in IEEE 802.3. It's a PHY
> > interface mode because PHYs that use SerDes can connect to the host
> > using SGMII or 1000BASE-X over the serial link.
> >
> > 1000BASE-X's purpose in IEEE 802.3 is as a protocol for use over
> > fibre links, as the basis for 1000BASE-SX, 1000BASE-LX, 1000BASE-EX
> > etc where the S, L, E etc are all to do with the properties of the
> > medium that the electrical 1000BASE-X is sent over. It even includes
> > 1000BASE-CX which is over copper cable.
>
> Ah makes sense, thanks for the explanation. I guess my mistake was assuming
> that MAC/PHY interface modes were necessarily strictly at the reconciliation
> sublayer level, and didn't include PCS/PMA functions.

When a serdes protocol such as SGMII, 1000BASE-X, or 10GBASE-R is being
used with a PHY, the IEEE 802.3 setup isn't followed exactly - in
effect there are more layers.

On the SoC:

MAC
Reconciliation (RS)
PCS
SerDes (part of the PMA layer)

On the PHY side of the SerDes host-to-phy link:

SerDes
PCS (which may or may not be exposed in the PHY register set,
and is normally managed by the PHY itself)
(maybe other layers, could include MACs back-to-back)
PCS
PMA
PMD

Hope that helps explain what's going on a little more.

Another way to look at it is that with SGMII, 1000BASE-X etc between
the PHY and host, the PHY is a media converter.

--
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-667749-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 3B5CB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:50: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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 7C19516880B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:50:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 95AF221423C;
Fri, 30 May 2025 07:50:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XtVKjHMv"
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 CC2D32AE6F;
Fri, 30 May 2025 07:50:28 +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=1748591428; cv=none; b=p43wsagDwPzzP/nnzlpHHWcxeDkwvzPbcjIaeRwG25p79C3HF9XUArpbfHtsL6q7h5dHS/XbTl5qwTsB9UNkxg61kPXmJS6dSb8tsYFuZ+45be5Sjfv3K+gpM8tPf6NsRHVyAAnYRfP5W9O8ksI2xZcD/Om7fNGYRKLshlDRgcI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591428; c=relaxed/simple;
bh=R/xRZCH14sMPQAqiO3CcAxy1OeVARVf6uPlM2WeOh40=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=AuiHuj4pi89SYR2Geq7F2NWLxAl1B9G5TuiQsXV23R1QV8W+Z15K060kl9PH787XqaQf7nO/KCJsSYzITBEbeDbNd7zJ8mGimbLnXP3bu84vICdksR/L5ZGtN/iJ39FiiCo/Pn4buaSvJZ1SkBDRtAnHeCK7lkg86JRLNxxEFv4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XtVKjHMv; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADBCBC4CEE9;
Fri, 30 May 2025 07:50:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748591428;
bh=R/xRZCH14sMPQAqiO3CcAxy1OeVARVf6uPlM2WeOh40=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=XtVKjHMvVjeZipMH2I69ghfgUOEMm0PtMSWpQ1BlDghOBjTmu6w5V/KDYw4wKb8fA
eMm4pGiksMyCd+Bzxnkbv/TZRxD0NMPQWUDbH9V4ihh3EtbbPRtKJQiziMFSFL9vZO
JjMpX7ob2hTwv1htsjnoWhFd9G3GNEWxPpuku9BnCZXP7vZbcWSsdobvKMB4CeFkOy
pkZF8hOgXadFTwF1XFfdcS3oTFBXAQ1pjTpiKh+bIgSwj5Mw/tGf3HvEBqv99dm8Af
YpJcPU68lNkyt9dqmwhYSP9MVZkz+E5QrbLC0NK6AEftuFamYhZlydWTUyKxCbQdNb
V87xroUjne0dg==
Date: Fri, 30 May 2025 09:50:25 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>
To: Longbin Li <looong.bin@xxxxxxxxx>
Cc: 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>, linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, sophgo@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH v5 3/3] pwm: sophgo: add driver for SG2044
Message-ID: <azf5lzfkegr6wt3mratxra2mlfah45dc3comtkjbrbdzf4x5xc@tlzxp7oqtcfl>
References: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
<20250528101139.28702-4-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-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="ekb2tmeniacut2mz"
Content-Disposition: inline
In-Reply-To: <20250528101139.28702-4-looong.bin@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


--ekb2tmeniacut2mz
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH v5 3/3] pwm: sophgo: add driver for SG2044
MIME-Version: 1.0

Hello,

On Wed, May 28, 2025 at 06:11:38PM +0800, Longbin Li wrote:
> Add PWM controller for SG2044 on base of SG2042.
>=20
> Signed-off-by: Longbin Li <looong.bin@xxxxxxxxx>
> Reviewed-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
> Tested-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>

Nitpick: Make your S-o-b line the last line. This way you document that
it was you who added the tags for Chen Wang.

> [...]
> +static int pwm_sg2044_apply(struct pwm_chip *chip, struct pwm_device *pw=
m,
> + const struct pwm_state *state)
> +{
> + struct sg2042_pwm_ddata *ddata =3D 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);

I'm astonished that checkpatch doesn't spot the wrong indention here.

> +
> + 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 =3D {
> .ops =3D {
> .apply =3D pwm_sg2042_apply,
> @@ -142,11 +215,22 @@ static const struct sg2042_chip_data sg2042_chip_da=
ta =3D {
> }
> };
>=20
> +static const struct sg2042_chip_data sg2044_chip_data =3D {
> + .ops =3D {
> + .apply =3D pwm_sg2044_apply,
> + .get_state =3D pwm_sg2042_get_state,
> + }

Missing , after }.

If you're ok, I'll pick up this version and fixup the two code changes
and the order of the tags in the commit log.

Best regards
Uwe

--ekb2tmeniacut2mz
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmg5Yz4ACgkQj4D7WH0S
/k6d8gf9EA6hIB2KVuUHwQKu4wMvhPhW35TEI1CVTR9L04YSgFP6CudQ407fy/Aa
IYUnsov4TI+hKOpz0/Tb05+czeAgWU6wBoi2OSBEAB3nszVZ2xQq1PcYd2l/xtHg
ifvgWm9LWghQRH4lwb9VvHyxowfKejMZpVTeysRB6B4mcTKOUt4VFLX6mktCdHFc
pUedFaagWDocC+OuToPxA1f9havIw9hu56PBVJUFmq3RZ9m02QBjRs2PkOTVcMJQ
ydtu4p+MtY+s7qYAsxBqEZlrM/CCrrRFeoBmRF22OhWOOzzNOIqcJZ19BC1uowum
YglxYBkxgm8pY8XGGJkIkAVa3rktDw==
=oO4S
-----END PGP SIGNATURE-----

--ekb2tmeniacut2mz--

Return-Path: <linux-kernel+bounces-667750-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 64B6C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:51: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 821F01883B52
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:51:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D5EFD213252;
Fri, 30 May 2025 07:50:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="OHj5DcMh"
Received: from TYPPR03CU001.outbound.protection.outlook.com (mail-japaneastazon11012019.outbound.protection.outlook.com [52.101.126.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 8FFF62AE6F;
Fri, 30 May 2025 07:50:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.126.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591449; cv=fail; b=fcGFbv8W8rU8jwQc8PQv34bvLWhSFLOQc4jdBrc7SyigP/AoAG5eNKhzZc8xn7SiTq66Dy0NGsJXoJ/8XONu9divllDnYS++6EIT4HTtrZoz2HoCWPG74+0EzV/SrIXBKAPfg9UyDuyq7ezONuG9DEkpHDdX3MyQn4NT3fL4+BU=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591449; c=relaxed/simple;
bh=ErcfisMGyspcZx5geFYqaeh8d70+JBJcTOwq2reAJqw=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=mh2p7WkV324jtUaTIyfsLSzXOvUHLyA0ZSzd98h3HQQ3CqlJ7dr7MAQxAsaQGv8sJ4sExQ73FpsRFXCrwgt9cczjmsnVTm4gJTf7TOju/Dt7t82/9akEekrSfSrGDm+8CDNeVMdf24JDHciIet9lyBHtfxnE5F0FqgEG2WZYTso=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=OHj5DcMh; arc=fail smtp.client-ip=52.101.126.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=CNyd8dgKiSAnujKl8aE80BAl4HqO36cypvOlL8JbKJ637o9GeFnLpU1rEoysCflLwpfVBywIHmE6KJRH7ycVtDQoY9UF1R4abWSYv3m/WFHk1yvePwVq/O3E3RSGMcdXX/Usa0BsDisU7ndGEeyJ2Yy+h7BLaB5ufAsz5onfGAJ2rrRzz851Xq0ZgJva3PArXOD7BLHRpdW+5Ilb/O1ZRIOIDdtDTH4eoPnOyEs8KwsqbBXsj+eZLqh/SaCxpcdRXTAIz7kwL5QlI+TwPqYEQKJGkwzbTaIF/ZwYEjuW/0FD8IiXuflGqvL2w8dM0Uizn9xi60IEOwFHOAe0S18lqg==
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=GBxCyEtGefEvMUlYiN381Qq76phmheQ++jelHwJnVFI=;
b=OGKq/enXuh8w9YGX3vf6ro0+9F3ivUWQJrtGmu4qiM7Cawa3s3xk0KLkJdxxkeOhjC3gWpk3O+tbWaNue+CThnqTJE6WzupcCYslO11U7jsroyAJYb5PxkKGIqPR4fqkSJXcnnH+OEJ40A4AV6UuiuCa1Rds3XKqtgSAeiAlO/rxAU/AlwQTafrHn3nZSoO4TsPjiwyA+c8qgPbsH6zkz22hEUcRh/yguGTYabYMXyzAOkPbOas2YluUzY+TGIu2PS4BOBfsgWfvn8Ue37yycEgfPZRQ9t2LLUbeFk2P2tP4ZNy3VwAuaVMVK9bOe75RfOVPcPLI2EPDHSaHo2spjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com;
dkim=pass header.d=vivo.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=GBxCyEtGefEvMUlYiN381Qq76phmheQ++jelHwJnVFI=;
b=OHj5DcMhQH7iebxbRNiaOxAu0xCjWs+HRAu90a0fIDhD3mN3xTRTcTOiZ5onta9ddecfgXf3LkbXuofoOCa6KKF0dScl7biJ4u+tcPJSqaQUeHDVRJ8fW3pfaulx3nhmFL4bHEiWqCQNqAhFUvLo0WTbK6v1YmPmcs6Yq15lrmjulJXjXaqm9rLTvgWwJsXYPEP4s4NyJw3L1bWRdktV1EPPykdIxFKkaTp+8pCIJyigGWAlKfI1GzkGeLRKgmxP702HhDzzTfkdmWS+O7cFmUTDY57vz27etIRMwNK9b9KGF5qHlCgjCVqBNR2xiQzI/pDQ13slnOaR3oiFmsSTsw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=vivo.com;
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6)
by JH0PR06MB6415.apcprd06.prod.outlook.com (2603:1096:990:14::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May
2025 07:50:43 +0000
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535%5]) with mapi id 15.20.8769.022; Fri, 30 May 2025
07:50:42 +0000
Message-ID: <86fbfa10-df44-45d8-93af-fa8f3cb0a391@xxxxxxxx>
Date: Fri, 30 May 2025 15:50:38 +0800
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] hfs: correct superblock flags
To: Christian Brauner <brauner@xxxxxxxxxx>
Cc: Viacheslav Dubeyko <Slava.Dubeyko@xxxxxxx>,
"glaubitz@xxxxxxxxxxxxxxxxxxx" <glaubitz@xxxxxxxxxxxxxxxxxxx>,
"slava@xxxxxxxxxxx" <slava@xxxxxxxxxxx>,
"linux-fsdevel@xxxxxxxxxxxxxxx" <linux-fsdevel@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250519165214.1181931-1-frank.li@xxxxxxxx>
<20250519165214.1181931-2-frank.li@xxxxxxxx>
<ca3b43ff02fd76ae4d2f2c2b422b550acadba614.camel@xxxxxxxxxxx>
<SEZPR06MB5269D12DE8D4F48AF96E7409E867A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<e388505b98a96763ea8b5d8197a9a2a17ec08601.camel@xxxxxxx>
<7deb63a4-1f5f-4d6c-9ff4-0239464bd691@xxxxxxxx>
<20250530-gutmachen-pudding-d69332f92e08@brauner>
Content-Language: en-US
From: Yangtao Li <frank.li@xxxxxxxx>
In-Reply-To: <20250530-gutmachen-pudding-d69332f92e08@brauner>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SI1PR02CA0056.apcprd02.prod.outlook.com
(2603:1096:4:1f5::7) To SEZPR06MB5269.apcprd06.prod.outlook.com
(2603:1096:101:78::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: SEZPR06MB5269:EE_|JH0PR06MB6415:EE_
X-MS-Office365-Filtering-Correlation-Id: ca39ce50-0d3e-4180-ede5-08dd9f4eacee
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?cmxBS0lzSDAwRlRzY2o5UXc4L3cxRC9MRDNBeG9aVjdnZGE5L3FPUjgwei9G?=
=?utf-8?B?ZFd5WTIwaXBzLzZUbERzbWhsc1pxS0FqU1BXcjNkUHU1L2QyUVAzY0VBbmRX?=
=?utf-8?B?Y3hueEhCL1BHb3YzWE1qaDNrQUdubzJkR0NwbVhaZXdZOEg1amo2alNaNTdw?=
=?utf-8?B?QlJyQmJ6MFE2MVVPV3FlRXVmZnQrT1gzcWtYbGR1aHpaazNtemx1eURCdW9o?=
=?utf-8?B?UEc2dmRaT3lEYW5oRzIrMndFUmFEZVpWUnlzeEpkeFFCcnFLZmwrN29sUlg5?=
=?utf-8?B?cGREb1Axb3g0RzdNMzBZMmQvd2M4OW5ERVI3b3ZtNWoxZFpNMGZUbG1Ib3lR?=
=?utf-8?B?dEMwWm1iemM5WFhsVkUycXMwd2NhY1BTcjFJNXdvNmxwTjFleUZiMm5PMHFs?=
=?utf-8?B?cWt1ajlkb09DbzQ3ZjRRTXhhVlJPbEppUStDTXRlVEZnM2t5RS9QelViWWR1?=
=?utf-8?B?L0ZMSFZFS0hrRnowRStmOTFONnIwM2lMRndCMHI1OVIyOTRWdm01Z0hQTVBo?=
=?utf-8?B?d0lhVjBJQ0NDMGNzcDBBdGtDMXNrUWkvQmpzaTlKYzRDK3V2eGV0dW84UVJT?=
=?utf-8?B?Q1o5RGJld3RKZmtQWkJ1aXdEKzQzbkZvQ3RTRnA0VjJOeExuMUpvUExnaGp6?=
=?utf-8?B?TTBmOU16QTdnNEs2WG1kUTlhc0lkRTFJVE9tR1JNMitFQUtybHViT1R4Q2g0?=
=?utf-8?B?Q2QzaDZ5c1B0NTJYOXRwRjNnaWRnZW81QlBDS1pMV0pjekM4ekZldXMyWEEw?=
=?utf-8?B?SnFLVDR6d2R5czAydWRsMEJ5WS9OeXRucjFvN2tOL1Jxb2ExYXBZRFRCNTFK?=
=?utf-8?B?RCtPOEp1NDg1T1hjODhzN2h0UndnY1ZuRjlaSUJLSmcrQXRPYXVqSlN5NzZF?=
=?utf-8?B?SUt1ZzF0dGdNanhlRVg0MWIxRUJhTjZDWUZlTDRMRThsdTBFUEZKS1QzMGRK?=
=?utf-8?B?b2VNUm1xc1RDWlpXYzhNVGlzTnd0cG1QNXpHUjg0dkE3TURSa2pxbkNleUk4?=
=?utf-8?B?WkNVc04zMlRuZVY0QkhRRXo2RVp2ZlFjS0d6MUZ3Rmp5MDVnUkRuTzRmb0ZG?=
=?utf-8?B?YUJZdjQ1dzYvTWJmNzd4aVFtVktwdGx3WkxKSzRocGxraElFRlFqM1RRbWNm?=
=?utf-8?B?L2ExY0EzTDdPSDVJcHlVSUJGR3Q3UTdqbWpUT1hraHNLaHJOQURDVUxnOUt6?=
=?utf-8?B?bVB5S0Vtbi8yNVd4UGR0NlUydkhMRHdjaGRlSWJMNXhxeHRzOC9NNHk0RHFl?=
=?utf-8?B?V240YWhZVU1OY25sdTBwelpDbEZBR3N6ZVNPSklabi90cTJzOUtpV0ZDZWdR?=
=?utf-8?B?NmltaWR5RXBEVDMvZ20yVGxkMFMvbFdJazNhV0ExRjZxbXlYTXc1QlVLZEov?=
=?utf-8?B?eDc1VUcvK1NtYlZHSGVzZklBUVo2SFlzZlJrdXFUaUNsN0VxRzl5bGJjYjh6?=
=?utf-8?B?VGcya1ZIbllKTDQ2SUVJZGQvOGtmR3FlV2xwNUxOcVMra2NwYjA1TVdMeVhp?=
=?utf-8?B?WUN4elB6dG05Z3ZwdGVvRlE0dGZXRktBazN4SDdveXFqTEdHOW55YmJxRmhy?=
=?utf-8?B?dVlaMjZPWGdsY1lCbnRvd1Vza0dibm81cXJZUndWMjNYaUJSM0ZvVGd6ZWM1?=
=?utf-8?B?MXhiWFJNQTNSSmhEUnpOZW4vMm51ZVRrK1JlWldVRHp0UXF6a2V4c254S3ph?=
=?utf-8?B?bUppVlFOZ0JmcnZrOFBQdnpvakRJY2E5ejFDZ0RLeCsrVG40U21OdUkzYU5j?=
=?utf-8?B?b1JsVDRuQnlPc05sTmhsMElRU0w0dWlnZmFJNllmanJySFFYa0lsNkxueExU?=
=?utf-8?B?cU1iODZ1dXY1N1ozblpQN2thY2svbUhOTXJoTXVicGRwdUtzYnpkRkZRS0Qx?=
=?utf-8?B?SEF0MEhESFdQbThUeVN2M3RkM0xqanBqdkZubUNmdlg5TkVoc3BoMUVkZ1po?=
=?utf-8?Q?9dwKl3Drp1s=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.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?eGdmNlNFNktUNmRodzZCL2Z6eE9mTm5QemhLRzc0bUlCUDY2YmpFcE9lNlVT?=
=?utf-8?B?cUZTMnJRVnBjdXMrV3NQb0hWVi9BSkRMWlFSYzZkSC9nSC85NkFvZ0tVVmtG?=
=?utf-8?B?c0dYZm5NZFNSWExPZThHVjF3S1RkVmIxZzEwK1ZuYXdYZWp2NGdYdkhyRWVO?=
=?utf-8?B?Q3BwTG5qR1F5NGh0aHhJcCtZeWpPenpSTTlRN0tCMHd3d1FDMkxzeDBqRXYz?=
=?utf-8?B?Ky9XWEYrUzVmdU1YNFlqV21SdGxtUU9WSXY3RE0vQ1JWYVdId2dReEtZTU9l?=
=?utf-8?B?SitRaFpVYVdySVI1blJFQjNKNCtacWxMWDJReVlkYjR0VmZ1RFN4QjFBcys5?=
=?utf-8?B?UXpXVUcrYmM0ZDZaeVEyVHZyZDNQM0V1ZURGaVdVbml1bUdaME8waFRFN2JJ?=
=?utf-8?B?bldsZVZjUmp6dTN5dXgrVEpBMlFHRGMwRlhBcTdnNksyaXpjRHU0ckNhbDR6?=
=?utf-8?B?aG9XU2QzZVV1cit1T1p4WHU0ZnRZQVU3dTR4bDJoSG5BUG1tdGRTRXBvQWtT?=
=?utf-8?B?SDhkZTRScTZiK2FZSUtTVzlyUWIrRmlWQUFTdTA2S1hjcFRGSS8zc0djWjVa?=
=?utf-8?B?YVlWWm5PUFRLYnltbUxKTHBkOXROLzE4aTBMaXlBTUQ2N09WK1M3WWg2T25X?=
=?utf-8?B?T1JXUXFCbU0wMTh4aEhNeVRCN1piandTRTB6UzNhQXdqb3RkTk5BSDRLd0Z1?=
=?utf-8?B?UjROcVorN3R5UjhQUytqV01BeFBpUnoxZXNITS9Xd0xKNVBxSFVYTk1XSDRm?=
=?utf-8?B?OGxNeHBHQXJsZ1NrZ3R1WTRXY3c0QkNWcEdEZytEL1pvUHUzQmFKK1VrVkpo?=
=?utf-8?B?MlBTRGFQRFhXcjVmdXBhUjdBZHg1cmRyRy8yNEZ6WWphM1VhSllBMkNHQ09r?=
=?utf-8?B?cEdIMW1ING9aVjJDT0kxQ3ZoSVV3MlBaald0NzJTSDJEODdXTndsaVF0bWRC?=
=?utf-8?B?R0lKYmNFNCsyOURrYXIrUVYzTXc2ZWowOUh0TVBBemNIOHd3TWkvNVRUTnFj?=
=?utf-8?B?YWtYTC82OUFWVEJYRGhrcFlMS0pnMnJGLzlrVk1jWThTaHlFSTdJQ0EzVWJ6?=
=?utf-8?B?akFZOGlnM3JkcDY3NDBPY0s5YjZsN3VxVEZQTHhqY2xyZzNhbWJxN0JRWDNn?=
=?utf-8?B?cmFVTnM4SWJEVFM4UWxPRHBpekU0a3V4M2M3T2hibU1QbUR5RUN5M1BpeEFr?=
=?utf-8?B?OHF1ZG9DUVdtVEF6U09vazlWOWpMVGV3UmhKKzNmMWFFVTgwdC9FSHhFN2p6?=
=?utf-8?B?V2t4bXE4MVBGbmIzcUs1VUJPVDROU2YzMmhZQnMzaWxNaEtDUnhmT1hiMXdW?=
=?utf-8?B?UUMzWGRxcUkzT21KZlZCeFowelVpN0x3bU1abUoxVjNhRVpMMDlDWHZrQTVG?=
=?utf-8?B?YjlHdkR3WUNUN3FSekJySjhYQzQ3WWhxTWlYR3pWdW1GeDY3dnJGK2pacm1K?=
=?utf-8?B?RWd5ZnNEbWVLVForYWRQMUFXWC96QktLYjJaZVY5QU5vblBSMWdGbHltMWhN?=
=?utf-8?B?dWJOL1JpemREN2w0M0tXL1owaGtYbEYwa01lV2dTNmQ5RmJZQmRuRHEyY2Ro?=
=?utf-8?B?amdqbEtmcmo1Q056cGRHSEpaeVdOTUlsWUM1SkpLUUdBQWh3bGxPSUV1WWVU?=
=?utf-8?B?QlZDKzNoUU95azlXVlFxMjZUQzdsaTBZeW0zdGhnaXJxbEVRRXNZUWZYVzVY?=
=?utf-8?B?NGNJN2lZejFsTWkrMlhBVWprSEZDbkw1TTRaN08rSjNnR2F6bDdPS3BldFJp?=
=?utf-8?B?TXdROEgxQzl2R2JZK2lTaFZEMlprZWtUVmpsaGNiZEJ5VkxibTVxd1lqK2Vr?=
=?utf-8?B?RjluN20vU1ZnVzZnaU9MTHRkKzFySHNHRTh4RzV0aXRRdGtOUjdDaWd1aVQ4?=
=?utf-8?B?YTRuZWN0djFCM2pKR2U3cEtIcWpGeWN6VTVCR2U4eHQwTm9PUGpVL3hUZWdj?=
=?utf-8?B?S0piR1NBNXVNclhIcnlyaCtXVUtpZXB3N3hjM0NFc2hFcmJMV1BwcFRNcUlw?=
=?utf-8?B?a1RpVVh4d2F5NHZxN2ZMMmZaYWJ3c1dRNXQ4ZUxaNVNpWVAyV0xsYmNKS3Ex?=
=?utf-8?B?ZGJObmMxTDNIUlZBazJ3NnVkdmZiWktNcnhNcElocG9vNDdkL3pJRkhiTHF0?=
=?utf-8?Q?G6Mpr/dIgKU9cDNHDfW58s7a0?=
X-OriginatorOrg: vivo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca39ce50-0d3e-4180-ede5-08dd9f4eacee
X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:50:41.7464
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Hr6gIvCjBntu6s4K3/9r0mxHLwH1FnFbzSsAckvxSXKXZx8nHiVj99pmV+dt1sv6WhicC41mj61wI457QF25Rw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6415
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

å?¨ 2025/5/30 13:21, Christian Brauner å??é??:
> On Thu, May 29, 2025 at 10:25:02AM +0800, Yangtao Li wrote:
>> +cc Christian Brauner
>>
>> å?¨ 2025/5/29 05:26, Viacheslav Dubeyko å??é??:
>>> On Wed, 2025-05-28 at 16:37 +0000, æ??æ?¬é?¬ wrote:
>>>> Hi Slava,
>>>>
>>>>> I am slightly confused by comment. Does it mean that the fix introduces more errors? It looks like we need to have more clear explanation of the fix here.
>>>>
>>>> I'll update commit msg.
>>>>
>>>>> s->s_flags |= SB_NODIRATIME | SB_NOATIME;
>>>>
>>>> IIUC, SB_NOATIME > SB_NODIRATIME.
>>>>
>>>
>>> Semantically, it's two different flags. One is responsible for files and another
>>> one is responsible for folders. So, this is why I believe it's more safe to have
>>> these both flags.
>>
>> To be honest, from my point of view, SB_NOATIME is more like disabling atime
>> updates for all types of files, not just files. I would like to know what
>> vfs people think, whether we need to use both flags at the same time.
>
> SB_NODIRATIME should be a subset of SB_NOATIME. So all you should need
> is SB_NOATIME to disable it for all files.

Thx to point itï¼?I think I'll correct the incorrect usage in other file
systems later.

MBRï¼?
Yangtao

Return-Path: <linux-kernel+bounces-667751-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 0612041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:51: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 45EDB174E86
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:51:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 24F0D213254;
Fri, 30 May 2025 07:51:26 +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 B43C52AE6F;
Fri, 30 May 2025 07:51:23 +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=1748591485; cv=none; b=kATe9Ynn/xe1bLMxifm5r/CiaRE82VPPsL0LCAAzK7wYKsYiFQyaqs/a+re5fWPzqZx1lErt1k5eJcp6TAkDJVIkvgIYM/2nYMWtjkUqroX77xK2cltrKCZcXQ2xp4g9vMne/KJxJxQ0VzJg6JbD31R4CXrIuO7HWvR9mIwzNOU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591485; c=relaxed/simple;
bh=kg16i4Orfl2Vn03xor4gIQua0MLqSkj3tvVWVzEOlc4=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=jzCFIvNMlWOUTIMASdtiU2mD5a2FHEh8wYXSUQLiP7/tJYWSA4j8QL/OpmCod7x+8GaDQRMqK69ZmGfKeCoynabQ4p+CDRrjsoBerc4gt9PoE+gpaGmEcDJKWG0v+2qpk7eB5QGuGESUSB6SnFbd3W8GDIPsfEUx6xMbv1WnI2E=
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-5240764f7c1so522309e0c.2;
Fri, 30 May 2025 00:51:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748591480; x=1749196280;
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=X2WzxSo6sYbiM6b0F2XSBjn+T4nA2ds5QVgGNEvrhj8=;
b=xHsdA8/Rj7+wsUYEeR2PT8FPGDb22RcZSvHw8IA9DM5WrptQemciadUn6WuHZGbOGm
qyOzbP+dTTh0JLKwkIGizybAiKjvO7CZy9TG+jlO8bdIPFs6QYz9bajzhfW2inhYNNyi
+tiwOIah2LQoLdtCa7nYnhcT+XhqgczrhjDx/hwrCpaK5CUzUEHNDDuBsUmd7uS0gUCo
HD5BdiQ3FvopP0iE/tOavE+7VRDuUXF/f1WZl+vCU+YDF3IHgIM3jU0MRFzePXNsT6pF
EEeWwtpnjSJZRzPkkqu2ZMgYllybgS8BxY5FPMr+xTAjEQzCoog8/HCmruaMBjdX44EO
3gjA==
X-Forwarded-Encrypted: i=1; AJvYcCU13Y1UDUtMmrV/v3GFfVLb3YkVTCW8OOsFPFNTionOH/4cnq1ElQTi4/OKaXjXi6BCJVx7KftQzmGY8cOpIT8EfbQ=@vger.kernel.org, AJvYcCV8BN3XDxsBNjwbUbNeoMaXf8GcuM2cFMf7uvtAE1JEnIz0MsuBjoG9fcUIDGcr+c2oJkTqVdjs0Gi0@xxxxxxxxxxxxxxx, AJvYcCWHfn42hJK4zUh5OLFzw9haNwtZacLFMp6TOIIwNI3HJw6di7nz7Wyu2Qt2o7bQswQnzYIxh+iSTpJhMuUvgQ==@vger.kernel.org, AJvYcCWhwFEE5Y2w/4ZG9bFnZgUT3uussrkUsO3/Zs6J9qPRuEV0ewiXtLcxadoGQA+TKN0xQFHhZfUxg+WWcVxx@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxPARXJzmjdNayBbkLQXWpOX1+yzOOkIqNfOn3mh8JaNaPyONlK
1MZC+m+XEW9Njxi7gDSB+mguxN7z9ftwj33y4HbnBtjLiPMT0KpjFPjD801UQwOl
X-Gm-Gg: ASbGncuiiGFswlZc+q/P9nbzL2CXIYfZHaUTJ15Jx/8QRVrKhxyhpiAF35DFE9NFy+B
t33vqpGGa+Lh/Mfa0ZPF6QH1PaKwNUN9pFyF4fzQFQJq7lTWT5gWnXk+m5HVpDvflDGiNX2Fwnn
OBhJlJ/ODLMn8xbRrtDFdhl1YVvEXScoZHhqqzUHIrLbF9I5EHt4OksLSoPk6SuI3E5qfrbipRm
aO/FEmphIOzQAfBPYOrwypkSSllNlpyn30i89CRxsJRy0Qm5rqTvnFWNpGe+WaQgGRxAQL1cvNF
evwSVq3KduVF/MEFMg/6Hx5nHN94derMiEXythBlrmok/4heip0vvUcOzSzVK4jIUB7caeM9WdU
89JivQUGjkJdLVTn9Qw==
X-Google-Smtp-Source: AGHT+IEstrrA3la+AiH30C5AF1WySOXn/Q6K3Bzx4bhaCAWauhSzpbx/Egb8H0qdLRUFoLvIGGaq3w==
X-Received: by 2002:a05:6122:1acd:b0:530:52d0:d021 with SMTP id 71dfb90a1353d-530810e3e2cmr2158145e0c.7.1748591480032;
Fri, 30 May 2025 00:51:20 -0700 (PDT)
Received: from mail-vk1-f170.google.com (mail-vk1-f170.google.com. [209.85.221.170])
by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53074b09342sm2670817e0c.28.2025.05.30.00.51.18
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 00:51:18 -0700 (PDT)
Received: by mail-vk1-f170.google.com with SMTP id 71dfb90a1353d-52ee2242b24so488930e0c.0;
Fri, 30 May 2025 00:51:18 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCU0ipy2s4Ef++Lc0kvAFzIj1gvy7iS17f+h5raFDHRbD2wh7rleROmhRRpN0ZuAp+SzDrETEvQMJXryqsCj/A==@vger.kernel.org, AJvYcCUNpyUWzfUprmCtR7rs6XWMrUezDio6hLSxLrTs+DhESwxnAFVphdisgs3bRclGP/Bhj2bxOGoZP9N3b86vZRumssA=@vger.kernel.org, AJvYcCUqpjln3kms1QRa6AWFbYNM5JGW9CwrnXq68B/tFL0Sn5lxSnA+uqzv3C55TQIH93GhirlxCqr375Itc72/@vger.kernel.org, AJvYcCVrEfxDwzR0H9/LJaYVDGFZuZojZSB1ELmQbCxq5KJ2h7tF+FPpnDh9/Kif1Nr4BiXqLkSGR9LpKeEx@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6122:2188:b0:52f:724a:c748 with SMTP id
71dfb90a1353d-53080f5955bmr1748247e0c.1.1748591478153; Fri, 30 May 2025
00:51:18 -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: <20250529112423.484232-1-j-choudhary@xxxxxx>
In-Reply-To: <20250529112423.484232-1-j-choudhary@xxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 09:51:05 +0200
X-Gmail-Original-Message-ID: <CAMuHMdVFrPanoO4CcRKVWhDsXCUm6ty3oayZ6yLs6AksZZJaBg@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFu5SrfJ6XEYDFBe1Hbl2dYZBDrGAQ09XF6wFfWGxGH0eSYgcybRaCFnqRc
Message-ID: <CAMuHMdVFrPanoO4CcRKVWhDsXCUm6ty3oayZ6yLs6AksZZJaBg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] arm64: dts: Add no-hpd property for all ti-sn65dsi86
bridge consumers
To: Jayesh Choudhary <j-choudhary@xxxxxx>
Cc: robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx,
neil.armstrong@xxxxxxxxxx, khilman@xxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
jbrunet@xxxxxxxxxxxx, martin.blumenstingl@xxxxxxxxxxxxxx, shawnguo@xxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxx, festevam@xxxxxxxxx,
cros-qcom-dts-watchers@xxxxxxxxxxxx, andersson@xxxxxxxxxx,
konradybcio@xxxxxxxxxx, geert+renesas@xxxxxxxxx, magnus.damm@xxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-amlogic@xxxxxxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx, dianders@xxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, max.krummenacher@xxxxxxxxxxx,
ernestvanhoecke@xxxxxxxxx
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 Jayesh,

Thanks for your patch!

On Thu, 29 May 2025 at 13:24, Jayesh Choudhary <j-choudhary@xxxxxx> wrote:
> In the SN65DSI86 DSI-2-eDP bridge, HPD is not supported as of now.
> But DisplayPort connector_type usecases does need hpd to be enabled.
> In order not to break any platform from those driver changes, add
> "no-hpd" property to all the existing sn65dsi86 nodes (that don't
> have it already) as hpd is not being used there anyways.
>
> Signed-off-by: Jayesh Choudhary <j-choudhary@xxxxxx>

DT bindings day:

no-hpd:
type: boolean
description:
Set if the HPD line on the bridge isn't hooked up to anything or is
otherwise unusable.

On all Renesas platforms listed below, the DP bridge's HPD pin is wired
to the HPD pin on the mini-DP connector. What am I missing?

> Upcoming driver changes that will break platforms if we do not have this
> property in all the existing sn65dsi86 nodes that assumes hpd is disabled:
> <https://lore.kernel.org/all/20250529110418.481756-1-j-choudhary@xxxxxx/>

Breaking backwards-compatibility with existing DTBs is definitely a no-go.
I'll reply there, too...

> .../boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts | 1 +
> arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts | 1 +
> arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 1 +
> arch/arm64/boot/dts/renesas/r8a779a0-falcon-cpu.dtsi | 1 +
> arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts | 1 +
> arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts | 1 +
> arch/arm64/boot/dts/renesas/white-hawk-cpu-common.dtsi | 1 +
> 7 files changed, 7 insertions(+)

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-667752-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 C1EBC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:51: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 9BD343B6EB6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:51:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1976E213245;
Fri, 30 May 2025 07:51:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="GfsvqX8O"
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 4E965211460
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:51:47 +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=1748591510; cv=none; b=WkMMG8uL0VJ77UXSbOjYknoKCQB9BfnqEtb+13cBKXLIk1QpvynvjGRrP7ukjzFph43WkGdvasbO2W8vajgwQEN0+T5HObvITIe+ft3QgxSuQq4Frcm3i92b0G3tboPiLyDBxvm1+90sttPTONTQlJfPVXHXneUitlm6thF8v5o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591510; c=relaxed/simple;
bh=heeIOL6qrwWqY0Nmtg7onezs8AdPiDAwyThpEMRCb9g=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=WK++1wjRXdcR6EL9ZYlfbURcQX+CcZAYgQA5N1HPfttd2qa6z4IgpVyc8K2R7V1OGcwipKJ9Zq1nSb4/2VMU+WaBwM8Oci5opFx1vFM1+QmRcvMazB4mFLEEONQAunARx+grbj4ZwCfi/UNqd2Ao2mjJb1Bltl/RzWjn6WXJVJE=
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=GfsvqX8O; 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=1748591507;
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=9DYj1nT/97zCT+d8x1OHPDM3aXSO963AXfenW8dTS4c=;
b=GfsvqX8Ojl+XmRvaYZk2zdeec1gGpy0FQFYuq+fn1DxCw7sx0bmg6W0ObXiV5c/+OmGTem
hYnfTABtdJqYL21w+dtxKJSsFmW6tcuRaq1n9PQ16/Dbey2k6L82HL0vhgiw4B6MqiCD4n
lX7j0RAVhj/EzqEqSt1lOlgx/VAxxBo=
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-137-I-xfwfSWNeijiu42a9oRiA-1; Fri,
30 May 2025 03:51:45 -0400
X-MC-Unique: I-xfwfSWNeijiu42a9oRiA-1
X-Mimecast-MFC-AGG-ID: I-xfwfSWNeijiu42a9oRiA_1748591504
Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40])
(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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 80080180045B;
Fri, 30 May 2025 07:51:44 +0000 (UTC)
Received: from virtlab1023.lab.eng.rdu2.redhat.com (virtlab1023.lab.eng.rdu2.redhat.com [10.8.1.187])
by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2D87E19560B7;
Fri, 30 May 2025 07:51:37 +0000 (UTC)
From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
kvm@xxxxxxxxxxxxxxx
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Subject: [PATCH] rtmutex_api: remove definition of mutex_lock_killable_nested
Date: Fri, 30 May 2025 03:51:36 -0400
Message-ID: <20250530075136.11842-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
Content-Type: text/plain
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40
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

Commit fb49f07ba1d9 ("locking/mutex: implement mutex_lock_killable_nest_lock")
removed the "extern" declaration of mutex_lock_killable_nested from
include/linux/mutex.h, and replaced it with a macro since it could be
treated as a special case of _mutex_lock_killable. It also removed a
definition of the function in kernel/locking/mutex.c.

However, it left the definition in place in kernel/locking/rtmutex_api.c,
which causes a failure when building with CONFIG_RT_MUTEXES=y. Drop it as
well now.

Fixes: fb49f07ba1d9 ("locking/mutex: implement mutex_lock_killable_nest_lock")
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
---
kernel/locking/rtmutex_api.c | 7 -------
1 file changed, 7 deletions(-)

diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c
index 191e4720e546..0c26b52dd417 100644
--- a/kernel/locking/rtmutex_api.c
+++ b/kernel/locking/rtmutex_api.c
@@ -544,13 +544,6 @@ int __sched mutex_lock_interruptible_nested(struct mutex *lock,
}
EXPORT_SYMBOL_GPL(mutex_lock_interruptible_nested);

-int __sched mutex_lock_killable_nested(struct mutex *lock,
- unsigned int subclass)
-{
- return __mutex_lock_common(lock, TASK_KILLABLE, subclass, NULL, _RET_IP_);
-}
-EXPORT_SYMBOL_GPL(mutex_lock_killable_nested);
-
void __sched mutex_lock_io_nested(struct mutex *lock, unsigned int subclass)
{
int token;
--
2.43.5


Return-Path: <linux-kernel+bounces-667753-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 C5FC241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:52: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 EA6101703DA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:52:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 59146211460;
Fri, 30 May 2025 07:52:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cgi2AZCl"
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 8A6992AE6F
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:52:40 +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=1748591562; cv=none; b=hcap0/ahJbaioXAnEa1r6FijNQwvMwEMzs9mELmEEzMpOWFC1+sP5CaFmGIFi2EKLzgVyv0V8+ZAJieBVz2zveqKIUzPrVz3jaWQp5V2xbFsldwvDjqPqUEnXPh+q0PQkfa8/O0GBtGIepVY9fSjZcqAPjpT3eo6auZ+kOmNevA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591562; c=relaxed/simple;
bh=G7T/l+SD9ggtZyaAliggeCOwfSM27hsQMoMmxA00zko=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=LyyivIB1SPHc3Km8oHJIswSEcQz0xxEH+YnRbi6k+Fyee46lh6T4Gbx0RJ0HQQtnjiPyCa2T/ZcR+i/R1BfYPSzA9FUOMLpbiUkeBxcC+c9B6zsP2lCAZbMFKf6C/a9uxHEYeayvHRy4Ov+A3GJxkzzE96zzBQ4F2zAc6DD5VQk=
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=cgi2AZCl; 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=1748591559;
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=dXme6NLsCN/6JumBzv0W754qfhIz6/enEzzfyphIa0E=;
b=cgi2AZCl2lBqCQilxK3mZgp9525Sf3BYMVZdWWlo6QFg/aEZbjieAvIpL4Ey1ezy4oMEU1
5R/zj+DviJaEh4kSBcoP2lQze5SwD3Ui28+FXRSoADuDwqMZMyQ1SmDZyJLjppXL00gGTK
69a2GCz+ULLk2eANK4MDprHNW0BlDi0=
Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com
[209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-547-b_0YqXyeOWGUkEf8xSzrDQ-1; Fri, 30 May 2025 03:52:38 -0400
X-MC-Unique: b_0YqXyeOWGUkEf8xSzrDQ-1
X-Mimecast-MFC-AGG-ID: b_0YqXyeOWGUkEf8xSzrDQ_1748591557
Received: by mail-ed1-f70.google.com with SMTP id 4fb4d7f45d1cf-602df3e7adcso1916892a12.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 00:52:38 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748591557; x=1749196357;
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=dXme6NLsCN/6JumBzv0W754qfhIz6/enEzzfyphIa0E=;
b=RJRbqYBFN3GwfWHKGF016c5XyqKf20IZ2fFIvYgUa2ANtjD8PdizId08zeWGWUqxFQ
BeSDMb6xfMr/Efdkyo6540522SaFB8GatlLQGs4QBUeH422RHle5DD6X0y4/6ZJeFZ/W
wrqzQm4qBLSuEs1JJ3mrKt/l25oHwL6O9Ni61r62nY1xDuNCVRWGvKPzBBkOd5UUckaX
xkrzvYDLplpJn+L86A6uTbqcJCnaeHREmWqPM8MrueSxALDzBU7rQ9Mom+TNmRY6dXOb
qg6SIfIGUZ6onOy6ZaMu15XraLCCOrFhe/4n3jpH4Z4U/K81Fe/iZV0JJp/09YeQvdl3
6W/w==
X-Gm-Message-State: AOJu0Yyr5+AsjRIyGb1GIuis6Hkgs+2E5mw4FJ4RBNuTYWIv5Wuc/Kn1
Lqe/S3/8bgDi8hK+UsgibTKJqJAKXWG2ys1EOSq3AGzo802wAFyx6cv+qufqN59kbDQ+QTTcIXo
RhofwfIyNxbNoKgNeX22KcgHy1BoF3x92Al342SndEnTQg6yF8CnqTuvrO0bZ487+aQ==
X-Gm-Gg: ASbGncvrLugMAGXH/HOHDKZoSTniWFSKj/3Pb+r5LU2JSbiC5Q3Zom35caGWKDXzaLZ
6gxWMiXEoA7d6Oso+emgTnNQSAL6yKvL5d7QXcp70pH4YvzCiNinCc8+OcPslbBdsii9qWebbkJ
4lZUpntjUwVUjrBuPnPsb806AezPeDPcoV5T2w3VZzCyYAqKYe4JLGiQmZZ2zYi465u+VmWlwAM
ox9/uOckwt9aQBqY9UqbMwE5M525CBbiNw75zpJc8ls1gDVJrPP3N9VD67ScE9SiQEiP4K7loXH
pRxXqAldKP3M3A==
X-Received: by 2002:a05:6402:2813:b0:5fb:87a2:5ef9 with SMTP id 4fb4d7f45d1cf-6057c621ee7mr948145a12.23.1748591556916;
Fri, 30 May 2025 00:52:36 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGWrvvdA9UB3dms/gjMEl+Cd773vHH5XoMNH/OJN8Qpd3i0iyiTFpV0kUVwOV/w6O9TdD8GEg==
X-Received: by 2002:a05:6402:2813:b0:5fb:87a2:5ef9 with SMTP id 4fb4d7f45d1cf-6057c621ee7mr948131a12.23.1748591556503;
Fri, 30 May 2025 00:52:36 -0700 (PDT)
Received: from [192.168.10.48] ([151.49.64.79])
by smtp.googlemail.com with ESMTPSA id 4fb4d7f45d1cf-60566c5c222sm1235068a12.27.2025.05.30.00.52.35
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 00:52:35 -0700 (PDT)
Message-ID: <a283a171-7c74-4e05-bdb1-dd28f1fe6a6e@xxxxxxxxxx>
Date: Fri, 30 May 2025 09:52: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: linux-next: Tree for May 29 (kernel/locking/rtmutex_api.c)
To: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>
Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Maxim Levitsky <mlevitsk@xxxxxxxxxx>
References: <20250529165801.6dcb3fcf@xxxxxxxxxxxxxxxx>
<2d9429d0-e76c-429b-80d4-780052e0907c@xxxxxxxxxxxxx>
From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=pbonzini@xxxxxxxxxx; keydata=
xsEhBFRCcBIBDqDGsz4K0zZun3jh+U6Z9wNGLKQ0kSFyjN38gMqU1SfP+TUNQepFHb/Gc0E2
CxXPkIBTvYY+ZPkoTh5xF9oS1jqI8iRLzouzF8yXs3QjQIZ2SfuCxSVwlV65jotcjD2FTN04
hVopm9llFijNZpVIOGUTqzM4U55sdsCcZUluWM6x4HSOdw5F5Utxfp1wOjD/v92Lrax0hjiX
DResHSt48q+8FrZzY+AUbkUS+Jm34qjswdrgsC5uxeVcLkBgWLmov2kMaMROT0YmFY6A3m1S
P/kXmHDXxhe23gKb3dgwxUTpENDBGcfEzrzilWueOeUWiOcWuFOed/C3SyijBx3Av/lbCsHU
Vx6pMycNTdzU1BuAroB+Y3mNEuW56Yd44jlInzG2UOwt9XjjdKkJZ1g0P9dwptwLEgTEd3Fo
UdhAQyRXGYO8oROiuh+RZ1lXp6AQ4ZjoyH8WLfTLf5g1EKCTc4C1sy1vQSdzIRu3rBIjAvnC
tGZADei1IExLqB3uzXKzZ1BZ+Z8hnt2og9hb7H0y8diYfEk2w3R7wEr+Ehk5NQsT2MPI2QBd
wEv1/Aj1DgUHZAHzG1QN9S8wNWQ6K9DqHZTBnI1hUlkp22zCSHK/6FwUCuYp1zcAEQEAAc0j
UGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT7CwU0EEwECACMFAlRCcBICGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRB+FRAMzTZpsbceDp9IIN6BIA0Ol7MoB15E
11kRz/ewzryFY54tQlMnd4xxfH8MTQ/mm9I482YoSwPMdcWFAKnUX6Yo30tbLiNB8hzaHeRj
jx12K+ptqYbg+cevgOtbLAlL9kNgLLcsGqC2829jBCUTVeMSZDrzS97ole/YEez2qFpPnTV0
VrRWClWVfYh+JfzpXmgyhbkuwUxNFk421s4Ajp3d8nPPFUGgBG5HOxzkAm7xb1cjAuJ+oi/K
CHfkuN+fLZl/u3E/fw7vvOESApLU5o0icVXeakfSz0LsygEnekDbxPnE5af/9FEkXJD5EoYG
SEahaEtgNrR4qsyxyAGYgZlS70vkSSYJ+iT2rrwEiDlo31MzRo6Ba2FfHBSJ7lcYdPT7bbk9
AO3hlNMhNdUhoQv7M5HsnqZ6unvSHOKmReNaS9egAGdRN0/GPDWr9wroyJ65ZNQsHl9nXBqE
AukZNr5oJO5vxrYiAuuTSd6UI/xFkjtkzltG3mw5ao2bBpk/V/YuePrJsnPFHG7NhizrxttB
nTuOSCMo45pfHQ+XYd5K1+Cv/NzZFNWscm5htJ0HznY+oOsZvHTyGz3v91pn51dkRYN0otqr
bQ4tlFFuVjArBZcapSIe6NV8C4cEiSTOwE0EVEJx7gEIAMeHcVzuv2bp9HlWDp6+RkZe+vtl
KwAHplb/WH59j2wyG8V6i33+6MlSSJMOFnYUCCL77bucx9uImI5nX24PIlqT+zasVEEVGSRF
m8dgkcJDB7Tps0IkNrUi4yof3B3shR+vMY3i3Ip0e41zKx0CvlAhMOo6otaHmcxr35sWq1Jk
tLkbn3wG+fPQCVudJJECvVQ//UAthSSEklA50QtD2sBkmQ14ZryEyTHQ+E42K3j2IUmOLriF
dNr9NvE1QGmGyIcbw2NIVEBOK/GWxkS5+dmxM2iD4Jdaf2nSn3jlHjEXoPwpMs0KZsgdU0pP
JQzMUMwmB1wM8JxovFlPYrhNT9MAEQEAAcLBMwQYAQIACQUCVEJx7gIbDAAKCRB+FRAMzTZp
sadRDqCctLmYICZu4GSnie4lKXl+HqlLanpVMOoFNnWs9oRP47MbE2wv8OaYh5pNR9VVgyhD
OG0AU7oidG36OeUlrFDTfnPYYSF/mPCxHttosyt8O5kabxnIPv2URuAxDByz+iVbL+RjKaGM
GDph56ZTswlx75nZVtIukqzLAQ5fa8OALSGum0cFi4ptZUOhDNz1onz61klD6z3MODi0sBZN
Aj6guB2L/+2ZwElZEeRBERRd/uommlYuToAXfNRdUwrwl9gRMiA0WSyTb190zneRRDfpSK5d
usXnM/O+kr3Dm+Ui+UioPf6wgbn3T0o6I5BhVhs4h4hWmIW7iNhPjX1iybXfmb1gAFfjtHfL
xRUr64svXpyfJMScIQtBAm0ihWPltXkyITA92ngCmPdHa6M1hMh4RDX+Jf1fiWubzp1voAg0
JBrdmNZSQDz0iKmSrx8xkoXYfA3bgtFN8WJH2xgFL28XnqY4M6dLhJwV3z08tPSRqYFm4NMP
dRsn0/7oymhneL8RthIvjDDQ5ktUjMe8LtHr70OZE/TT88qvEdhiIVUogHdo4qBrk41+gGQh
b906Dudw5YhTJFU3nC6bbF2nrLlB4C/XSiH76ZvqzV0Z/cAMBo5NF/w=
In-Reply-To: <2d9429d0-e76c-429b-80d4-780052e0907c@xxxxxxxxxxxxx>
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 5/29/25 19:12, Randy Dunlap wrote:
>
>
> On 5/28/25 11:58 PM, Stephen Rothwell wrote:
>> Hi all,
>>
>> Changes since 20250528:
>>
>
> on x86_64 or i386:
>
>
> In file included from ../include/uapi/linux/posix_types.h:5,
> from ../include/uapi/linux/types.h:14,
> from ../include/linux/types.h:6,
> from ../include/linux/kasan-checks.h:5,
> from ../include/asm-generic/rwonce.h:26,
> from ./arch/x86/include/generated/asm/rwonce.h:1,
> from ../include/linux/compiler.h:390,
> from ../include/linux/export.h:5,
> from ../include/linux/linkage.h:7,
> from ../include/linux/preempt.h:10,
> from ../include/linux/spinlock.h:56,
> from ../kernel/locking/rtmutex_api.c:5:
> ../include/linux/stddef.h:8:14: error: expected declaration specifiers or â??...â?? before â??(â?? token
> 8 | #define NULL ((void *)0)
> | ^
> ../include/linux/mutex.h:183:46: note: in expansion of macro â??NULLâ??
> 183 | _mutex_lock_killable(lock, subclass, NULL)
> | ^~~~
> ../kernel/locking/rtmutex_api.c:547:13: note: in expansion of macro â??mutex_lock_killable_nestedâ??
> 547 | int __sched mutex_lock_killable_nested(struct mutex *lock,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:552:19: error: â??mutex_lock_killable_nestedâ?? undeclared here (not in a function); did you mean â??mutex_lock_io_nestedâ???
> 552 | EXPORT_SYMBOL_GPL(mutex_lock_killable_nested);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ../include/linux/export.h:76:23: note: in definition of macro â??__EXPORT_SYMBOLâ??
> 76 | extern typeof(sym) sym; \
> | ^~~
> ../include/linux/export.h:90:41: note: in expansion of macro â??_EXPORT_SYMBOLâ??
> 90 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "GPL")
> | ^~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:552:1: note: in expansion of macro â??EXPORT_SYMBOL_GPLâ??
> 552 | EXPORT_SYMBOL_GPL(mutex_lock_killable_nested);
> | ^~~~~~~~~~~~~~~~~
> ../include/linux/stddef.h:8:14: error: expected declaration specifiers or â??...â?? before â??(â?? token
> 8 | #define NULL ((void *)0)
> | ^
> ../include/linux/mutex.h:215:60: note: in expansion of macro â??NULLâ??
> 215 | #define mutex_trylock(lock) _mutex_trylock_nest_lock(lock, NULL)
> | ^~~~
> ../kernel/locking/rtmutex_api.c:596:13: note: in expansion of macro â??mutex_trylockâ??
> 596 | int __sched mutex_trylock(struct mutex *lock)
> | ^~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:609:15: error: â??mutex_trylockâ?? undeclared here (not in a function); did you mean â??ww_mutex_trylockâ???
> 609 | EXPORT_SYMBOL(mutex_trylock);
> | ^~~~~~~~~~~~~
> ../include/linux/export.h:76:23: note: in definition of macro â??__EXPORT_SYMBOLâ??
> 76 | extern typeof(sym) sym; \
> | ^~~
> ../include/linux/export.h:89:41: note: in expansion of macro â??_EXPORT_SYMBOLâ??
> 89 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
> | ^~~~~~~~~~~~~~
> ../kernel/locking/rtmutex_api.c:609:1: note: in expansion of macro â??EXPORT_SYMBOLâ??
> 609 | EXPORT_SYMBOL(mutex_trylock);
> | ^~~~~~~~~~~~~
>
>
> This seems to be due to <linux/mutex.h> containing a #define for mutex_lock_killable_nested()
> when DEBUG_PAGE_ALLOC is set and another for when DEBUG_PAGE_ALLOC is not set.
> But then rtmutex_api.c has a function by that name also... (for the DEBUG_PAGE_ALLOC=y case,
> which is set in my failing randconfig file, which is attached).

Yep, the bad condition is CONFIG_DEBUG_PAGE_ALLOC=y + CONFIG_RT_MUTEXES=y.
Patch at https://lore.kernel.org/r/20250530075136.11842-1-pbonzini@xxxxxxxxxx.

Thanks for the report!

Paolo


Return-Path: <linux-kernel+bounces-667754-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 22B2A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:53: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 DCE8BA24D04
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:52:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3C1A7217736;
Fri, 30 May 2025 07:52:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MHEgB0C0"
Received: from mail-ua1-f46.google.com (mail-ua1-f46.google.com [209.85.222.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 CA18C213254;
Fri, 30 May 2025 07:52:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591565; cv=none; b=HRMkHFd06ylTCnyTgXLTahmtMzgHkgQ0p0SAk/P8lLnh7+zyN2O1/Of+yoHTXhAu9jXIc4wyLXXr+22n6Sy4oCtUip9DYLUjUX4Be7do+F3m4z4RgTPPu1pUDc03IQsBdyO3Er43IoDyjsXl16xGL0dDAidKWsVSYoAZpd6uqzY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591565; c=relaxed/simple;
bh=r8IP4NCo5XgD5PidO3HPYahdoy790r8YukrCMHSEkBE=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=a1QFdKE1TXJJiTnCv7hAoNYOgNV+8wDgcdE0LZ4m/VCSFZ2uZOvSVJKdikuRfJkBo+vqwTJrpBQG/utm+x3TS9D2c3tL3RmgpVE1wfhbIhY+7tR2xr3D17KIqTmRFCp7r4HkKab4X6Ma2Tq9gk6DpBCKEZr+EUmHt1JwCrTLUjM=
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=MHEgB0C0; arc=none smtp.client-ip=209.85.222.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-ua1-f46.google.com with SMTP id a1e0cc1a2514c-86d587dbc15so1212772241.1;
Fri, 30 May 2025 00:52:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748591560; x=1749196360; 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=ZKtlyRzdj1hzUN4lNvAG8wP0iwSwojEvBGmYnQtcdS0=;
b=MHEgB0C0dp/QTi+0x1+DDsZaOiXUVHLwi1rCau2ZthJcptc3EGfhdUwVrWkI4FIb22
wwZKHmQR3gYauwL/GEgY4tHnP0qO0hit4/FUZK6bMvtYY/eoZ77Yp5XkMVLRmGPlFzSw
t9lML+dS5ryH1dCoNKdzSXEE/5Z2Vde8Rj2jALm8mtChhmSWIPKaZnFnWW0N6pkbPDN8
I6TQIGz3Q22LPqOOR/XYvNXcaM1FalqKnMZaEn6l1pYGM5Ls+8NJDYh+YOqNc9n9ZrPG
HxpjsT4ZXguwdjIugVIcm2E6HywYTmBWC6vizi66+dbl6V//YQTSlnZ3cDfJ+ZuVDerK
CU7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748591560; x=1749196360;
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=ZKtlyRzdj1hzUN4lNvAG8wP0iwSwojEvBGmYnQtcdS0=;
b=M/qKxkAtR7qwXXxa9uUUTS50cfNIazMj6lkl1y44TtTFJqfS9jjlNpUTWn7Z2y60fA
qN9gnuJbylCG+UAgWr8B2KasYyjpc3rUV+zh7hI/L0tI7sms3pTO6qf1qQLQSzRE0h+9
Xgz3nkRcjFAo7SO5pBudoV80KXCRreGEaqT48S3RkWtUH7nNepM6E58mnLqFwN0E3nyj
16skYpf3BciEsvHmE1xQPBpTsWj3n9Sz5KV92J+1RdVj106VO2UPpB7B+dRz/JlRlUae
8teWt68Hh8YB96FF/ovtlzKzHkwq3NIhJsM3/xEFWGdC4f4O52Vq00WKr/u+abyOq9cy
vN+A==
X-Forwarded-Encrypted: i=1; AJvYcCVgIlGUXNLVfkmbA3fDDLWhPt3pArgsI1mIrucZdAOa2X2Q3Gm9RRb6Clvw+pUFyzCNhl/NOUBSCig=@vger.kernel.org, AJvYcCWlvqaP7fcJfNbCCq5zck9JVgfSB63U2vvrn7ZlM0P8a2ihlQO8mmCqdNLy/GUOBZ5VBhrKywX9xkRisw==@vger.kernel.org, AJvYcCXb+ofFuN9cUjIWhiK8Rlm7SnmqsWSpp7b/7kaNhhEMQM2K52YH51zv3ustu83Vkk7CWovyhpFgd7xYGARr@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YzIAtfKR7rZQiU0q8k55w9OA0jS1a/qzjS05szaOLSqU415Cbsd
/337JmTqw0DAFo0LjFAohmvm4ZROxDv/KAWrdr4Wfp4/fHNEhg8e/j8aXZ9Si0A3uLfFpWKclVc
l10djNp6NmqZ2Za7ZV/rDNKMY+Ae5KnA=
X-Gm-Gg: ASbGncuIi+ZoyGYMN9aM7Ayu8DzLaSQyaJlH93bWcJqgPrlUH/KuRuJvQqFpoU8Mtqq
T9TfgYbe93fmzR92nc5l2KftetaoEZ7/wKwFkxJ5Bd6HESfBXV4XeuyxSZzHtiR1eisEqEpjDnE
WcSWP403KuGJOi65tUJRuCR2PSgA8sc/CujR1XYjV/bUvp
X-Google-Smtp-Source: AGHT+IEu0wvQ5rhdA7BJLa2LTFM56TLWJzqwagC9Vg/DVegxmBIqU65ZnQ+yPR7TraWX6oDXCxLvKV4jW7/+CnRcrpk=
X-Received: by 2002:a05:6102:c89:b0:4e2:86e8:3188 with SMTP id
ada2fe7eead31-4e6e473792bmr1885640137.0.1748591560495; Fri, 30 May 2025
00:52: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: <85778a76-7dc8-4ea8-8827-acb45f74ee05@lucifer.local>
<aDh9LtSLCiTLjg2X@xxxxxxxxxxxxxxxxxxxx> <20250529211423.GA1271329@xxxxxxxxxxx>
In-Reply-To: <20250529211423.GA1271329@xxxxxxxxxxx>
From: Barry Song <21cnbao@xxxxxxxxx>
Date: Fri, 30 May 2025 19:52:28 +1200
X-Gm-Features: AX0GCFtLq2Vrtv-b7fSZ_FGTqJuT5ElgRYnChnL5uE5cw7If3ZrbkNFfQmhEunI
Message-ID: <CAGsJ_4yKDqUu8yZjHSmWBz3CpQhU6DM0=EhibfTwHbTo+QWvZA@xxxxxxxxxxxxxx>
Subject: Re: [DISCUSSION] proposed mctl() API
To: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>, Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shakeel Butt <shakeel.butt@xxxxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
Christian Brauner <brauner@xxxxxxxxxx>, SeongJae Park <sj@xxxxxxxxxx>, Usama Arif <usamaarif642@xxxxxxxxx>,
Mike Rapoport <rppt@xxxxxxxxxx>, linux-mm@xxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-api@xxxxxxxxxxxxxxx,
Pedro Falcato <pfalcato@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,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 Fri, May 30, 2025 at 9:14=E2=80=AFAM Johannes Weiner <hannes@xxxxxxxxxxx=
> wrote:
>
> On Thu, May 29, 2025 at 04:28:46PM +0100, Matthew Wilcox wrote:
> > Barry's problem is that we're all nervous about possibly regressing
> > performance on some unknown workloads. Just try Barry's proposal, see
> > if anyone actually compains or if we're just afraid of our own shadows.
>
> I actually explained why I think this is a terrible idea. But okay, I
> tried the patch anyway.
>
> This is 'git log' on a hot kernel repo after a large IO stream:
>
> VANILLA BARRY
> Real time 49.93 ( +0.00%) 60.36 ( +20.48%)
> User time 32.10 ( +0.00%) 32.09 ( -0.04%)
> System time 14.41 ( +0.00%) 14.64 ( +1.50%)
> pgmajfault 9227.00 ( +0.00%) 18390.00 ( +99.30%)
> workingset_refault_file 184.00 ( +0.00%) 236899.00 (+127954.05%)
>
> Clearly we can't generally ignore page cache hits just because the
> mmaps() are intermittent.

Hi Johannes,
Thanks!

Are you on v1, which lacks folio demotion[1], or v2, which includes it [2]?

[1] https://lore.kernel.org/linux-mm/20250412085852.48524-1-21cnbao@gmail.c=
om/
[2] https://lore.kernel.org/linux-mm/20250514070820.51793-1-21cnbao@gmail.c=
om/

>
> The whole point is to cache across processes and their various
> apertures into a common, long-lived filesystem space.
>
> Barry knows something about the relationship between certain processes
> and certain files that he could exploit with MADV_COLD-on-exit
> semantics. But that's not something the kernel can safely assume. Not
> without defeating the page cache for an entire class of file accesses.

Best Regards
Barry

Return-Path: <linux-kernel+bounces-667755-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 B4DCA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:54: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 E28DA7A60B3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:53:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E0F09213254;
Fri, 30 May 2025 07:54:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Eln8R0q6"
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 8551D2AE6F;
Fri, 30 May 2025 07:54:35 +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=1748591677; cv=none; b=gj1lMwo2qsQ/V9jBMYTas+i5hDR4ig7VkFmzcVG0NaZKyjn8IuC5HCJI52/KZxHQWhkS2UnmgwFogc4P9/9lz/9BBsvKokX4OHyqCZ2VQ0bh0jpNvAwVT/qNxa+KejW2qImBSaBE5z/Mc7QHrriRju30RBLQCKBHSBur9Vs14xc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591677; c=relaxed/simple;
bh=eJk6U97j4Cdh5nBfahL6CHsEtxMaisXTKlbSbz6RKnU=;
h=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=iuivLjJvS6QruZpqK21GRdE9KkGdkpUjFvXM6kbJWKxyTOAACHxjdQGDCudvBA43/U25KBtIYTCkxF513Pkh22ZfWjeYQ+iaRXmcVhHpIzjE7qwMwcV1z52e6ZKCzODnHxmxdUXVB9gDQpT1y8lppmOJhc99tYBWmjQW+sPL9uU=
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=Eln8R0q6; 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=1748591675; x=1780127675;
h=from:date:to:cc:subject:in-reply-to:message-id:
references:mime-version;
bh=eJk6U97j4Cdh5nBfahL6CHsEtxMaisXTKlbSbz6RKnU=;
b=Eln8R0q6E+eM+1lBigc7XFKLU/vgxKfpuSmJc52CVFe6J7dG+DuEX+Kv
Muige0tyVlUzsYTXKFf7LaBK96scpZPEh04nWCj9n8EtMt5458AcBgIjw
gQkEwlEZidV5VNhsZO3xw4i0LH2zJO5z6/h475YmN+1YyE/MEn4zV1nKs
Y8f4Ms2/mSVwumKir+lGgdhyMG2JuAPMvxIH0OnluFQB0eMdWriY5N0H3
ysvrE/MYjwL5KFbfB6DUwguLzwSKN9wVkT29mflFJKxRe56viB7QdTbBR
P6bvJvGuLiEpsRMoUnlRMKdIdu8vOAIVIqMDuhxhwC79GeScczPQ/JFF7
w==;
X-CSE-ConnectionGUID: RoF1p9/zThayUxceRmN2wg==
X-CSE-MsgGUID: dfkeFuGHQvOFLScCLOXypA==
X-IronPort-AV: E=McAfee;i="6700,10204,11448"; a="50373970"
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="50373970"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 00:54:34 -0700
X-CSE-ConnectionGUID: G1YyP1mfQjG7cWX7/6GdDA==
X-CSE-MsgGUID: RIdpZUmwTpy8E6dWJCtpfg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="148951718"
Received: from ijarvine-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.244.183])
by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 00:54:33 -0700
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 10:54:30 +0300 (EEST)
To: Stuart Hayes <stuart.w.hayes@xxxxxxxxx>
cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>, Hans de Goede <hdegoede@xxxxxxxxxx>,
platform-driver-x86@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 2/4] platform/x86: dell_rbu: Fix list usage
In-Reply-To: <20250529202758.8440-3-stuart.w.hayes@xxxxxxxxx>
Message-ID: <d7adf2ca-0cd7-99eb-9be1-a2b37fa8445e@xxxxxxxxxxxxxxx>
References: <20250529202758.8440-1-stuart.w.hayes@xxxxxxxxx> <20250529202758.8440-3-stuart.w.hayes@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 Thu, 29 May 2025, Stuart Hayes wrote:

> Stop using an entire struct packet_data just for the embedded list_head,
> and fix usage of that list_head.
>
> Fixes: d19f359fbdc6 ("platform/x86: dell_rbu: don't open code list_for_each_entry*()")
> Signed-off-by: Stuart Hayes <stuart.w.hayes@xxxxxxxxx>

Isn't this just refactor so Fixes tag for this commit is not warranted?

> ---
> drivers/platform/x86/dell/dell_rbu.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/platform/x86/dell/dell_rbu.c b/drivers/platform/x86/dell/dell_rbu.c
> index 7b019fb72e86..c03d4d55fcc1 100644
> --- a/drivers/platform/x86/dell/dell_rbu.c
> +++ b/drivers/platform/x86/dell/dell_rbu.c
> @@ -77,14 +77,14 @@ struct packet_data {
> int ordernum;
> };
>
> -static struct packet_data packet_data_head;
> +static struct list_head packet_data_list;
>
> static struct platform_device *rbu_device;
> static int context;
>
> static void init_packet_head(void)
> {
> - INIT_LIST_HEAD(&packet_data_head.list);
> + INIT_LIST_HEAD(&packet_data_list);
> rbu_data.packet_read_count = 0;
> rbu_data.num_packets = 0;
> rbu_data.packetsize = 0;
> @@ -183,7 +183,7 @@ static int create_packet(void *data, size_t length) __must_hold(&rbu_data.lock)
>
> /* initialize the newly created packet headers */
> INIT_LIST_HEAD(&newpacket->list);
> - list_add_tail(&newpacket->list, &packet_data_head.list);
> + list_add_tail(&newpacket->list, &packet_data_list);
>
> memcpy(newpacket->data, data, length);
>
> @@ -292,7 +292,7 @@ static int packet_read_list(char *data, size_t * pread_length)
> remaining_bytes = *pread_length;
> bytes_read = rbu_data.packet_read_count;
>
> - list_for_each_entry(newpacket, (&packet_data_head.list)->next, list) {
> + list_for_each_entry(newpacket, &packet_data_list, list) {
> bytes_copied = do_packet_read(pdest, newpacket,
> remaining_bytes, bytes_read, &temp_count);
> remaining_bytes -= bytes_copied;
> @@ -315,7 +315,7 @@ static void packet_empty_list(void)
> {
> struct packet_data *newpacket, *tmp;
>
> - list_for_each_entry_safe(newpacket, tmp, (&packet_data_head.list)->next, list) {
> + list_for_each_entry_safe(newpacket, tmp, &packet_data_list, list) {
> list_del(&newpacket->list);
>
> /*
>

--
i.


Return-Path: <linux-kernel+bounces-667756-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 46A7741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:56: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 3FEDB3B632C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:55:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6BA432135DD;
Fri, 30 May 2025 07:55:56 +0000 (UTC)
Received: from mail-vk1-f178.google.com (mail-vk1-f178.google.com [209.85.221.178])
(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 BA9D22AE6F;
Fri, 30 May 2025 07:55:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.178
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591755; cv=none; b=Kl0MefJM/bpZri6qvaU27ABb6BspOZ/UGWOpud7gMJ0Cbnsy1UL1zeTeWsZCpJA9xhcDi4gPNBxpfOuLh5FvGmJmOm8u1Wz9532/00PcsfDTAtHkcwLCxfTKZ2dWYj5bi1cpeDGDybkgga/w6mYwCXFPd5lzoQNrc7xVa1o746c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591755; c=relaxed/simple;
bh=eXU7Tu8aOR6EY9AGEGiCTirtK2RqItQcxYD9axhpbvU=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=Y9vHzVyfeGtZjKTgb/kQjX9Jax/hhcOF6+qKPmW/CstbrsHQfAXb+7ZuCISG9w9rvJQc+g1kXS+82ZN3fSCr5Ez8ItCxzkX3VDO9MpNOTFCCwC3uJo6pE8bRaSkvmF+nSe+8ntqiETPkVjZQOc7SEXxfiW3Xa7UAPa+KuIE3Q94=
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.178
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-f178.google.com with SMTP id 71dfb90a1353d-52403e39a23so1004764e0c.2;
Fri, 30 May 2025 00:55:53 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748591752; x=1749196552;
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=ok4r17T6ykjtgTAKGiGjcQeNcSghR2j2d4lkyI3DeQI=;
b=OCpREw5ZgBlMDhFj5fjUaGkkrHZZ8seSMD7Vk2OAu0wO55Dk4ER9Oiz6+zwsvf+iFA
zAZT7h0Jdt6CaISDTmgoUc7Ol/zMdNt1akOwc6r8/bJE/O9WubStINwyLmjz+QMKKc9+
ki8kD9HvYSZ5UMKeDhbgH1UGec5eIAO7RR8GNrZQZTwiim/TAYRlc8CjiNxjQKVor6SR
G2NpsSmEZiqrHkUy6G2dbjBYnOD7vpPrwiVLx/BV+M88CLGEp31reIrOQmGX/1Z+kKyK
Jh0ucp2kfIHco9liUz9ohOhWZ/RE2BUQAFJ8aWLaKFlifKiNA9JGQoI53Kv1fYwi9uuU
hjvw==
X-Forwarded-Encrypted: i=1; AJvYcCV7uwOG3/ee77sStBQS7LnZkoKARl9zTDJGUELYD0I2dZIG2vYVeAmmZDpvjF2sVkxZjMtQf/0QtVcMi7PB@xxxxxxxxxxxxxxx, AJvYcCVmRJzxNvUCd2Ybe78XhnBl1XDIceZZuCUSD/5OgP5OKRT1kpAqkTmk+Pho81OmBcRRdRDa4TAJOKQz@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YzXyZ7ieeTyOBJ0aRDpAGcDNofCWjrcQl1LIG9RoUxwVj7aKxv4
4rf/WfMgBZbHa2vbg1dIW+EZ+0Pr8hGPj1iMEntEArKhbHQ1CYbQQrf0x19rvfhY
X-Gm-Gg: ASbGncvTNyp1ttC1SkR1Wt2yZ2heS7/qWllUHwAIboo06x7N5xibiV5RiO5ygq0XOne
TSvxpQgmbZyPTq6ipD4xReo/r1nENyeJsT1Ol1Wg+hxDnCJKtpKJTvyfYklArTviya6FlK1F2ON
Tx8y8NR2Z7NYlTNiKvyxjvyQg7ZZnEFYKxbaGc9rnDC7Ix9P5CRz6hXJy/Qcah7Pr6XHPJPWgm4
/WtAUjCmyZqJkwoQ2pkYNGzOjnU5TZo+TAz4hcv6a8GBtMwgS18SCzYmaiw/QdLAXtVrDqheHR5
uiXkDBoL62LyL02pQDXAmcgI/QJy5belCdOboq6KPg5GS2s1ZgDzsQiIEI8dWgLkVuRdfSRRvCF
pIGn+3nmiSfKQPg==
X-Google-Smtp-Source: AGHT+IF+uiaX/LPE1EzLkl3N4pdq9YtJQhLtrfLn2WdG7a1YctPUrkNzOGkkD2bno1czNIhgONvdsg==
X-Received: by 2002:a05:6122:1d11:b0:529:1a6a:cc2f with SMTP id 71dfb90a1353d-530810d7929mr2260450e0c.7.1748591751740;
Fri, 30 May 2025 00:55:51 -0700 (PDT)
Received: from mail-vs1-f42.google.com (mail-vs1-f42.google.com. [209.85.217.42])
by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53074c3202bsm2653684e0c.39.2025.05.30.00.55.49
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 00:55:50 -0700 (PDT)
Received: by mail-vs1-f42.google.com with SMTP id ada2fe7eead31-4e59012c7eeso1179731137.1;
Fri, 30 May 2025 00:55:49 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCVQ1U9+hPyXkb3bEu5phOdbjCWDZuWODLFw+81PSU/lEcJVmF/TiDcV57w6KFbi21EVKRWp7MKMXKdm/3tP@xxxxxxxxxxxxxxx, AJvYcCWASq5rjwXn3sQT4KdEZCKHXh5h0boGKRoJ1r5jZHsWa1CuxC//8WcmcIUtxZ8DW5yRatm95wjhFssF@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6102:2acf:b0:4df:4a04:8d5e with SMTP id
ada2fe7eead31-4e6e40f71admr2518734137.8.1748591748944; Fri, 30 May 2025
00:55:48 -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: <20250529110418.481756-1-j-choudhary@xxxxxx> <2baf3c31-3edf-4c26-bd44-1d0560134871@xxxxxx>
In-Reply-To: <2baf3c31-3edf-4c26-bd44-1d0560134871@xxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 09:55:37 +0200
X-Gmail-Original-Message-ID: <CAMuHMdUi7pf1YfKRjMv_7VuKwjR5XekRXfcEzuPScGzHraGjyQ@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFt7oJH7p6mCJm1bY-0aqdw-heaNTVCV9PIi-1gerZa683Q1Oz7IoT6_--U
Message-ID: <CAMuHMdUi7pf1YfKRjMv_7VuKwjR5XekRXfcEzuPScGzHraGjyQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v3] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort
connector type
To: Jayesh Choudhary <j-choudhary@xxxxxx>
Cc: dianders@xxxxxxxxxxxx, andrzej.hajda@xxxxxxxxx, neil.armstrong@xxxxxxxxxx,
rfoss@xxxxxxxxxx, Laurent.pinchart@xxxxxxxxxxxxxxxx,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, tomi.valkeinen@xxxxxxxxxxxxxxxx,
max.krummenacher@xxxxxxxxxxx, ernestvanhoecke@xxxxxxxxx, jonas@xxxxxxxxx,
jernej.skrabec@xxxxxxxxx, maarten.lankhorst@xxxxxxxxxxxxxxx,
mripard@xxxxxxxxxx, tzimmermann@xxxxxxx, airlied@xxxxxxxxx, simona@xxxxxxxx,
kieran.bingham+renesas@xxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
max.oss.09@xxxxxxxxx, devarsht@xxxxxx, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@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 Jayesh,

CC devicetree

On Fri, 30 May 2025 at 04:54, Jayesh Choudhary <j-choudhary@xxxxxx> wrote:
> On 29/05/25 16:34, Jayesh Choudhary wrote:
> > By default, HPD was disabled on SN65DSI86 bridge. When the driver was
> > added (commit "a095f15c00e27"), the HPD_DISABLE bit was set in pre-enable
> > call which was moved to other function calls subsequently.
> > Later on, commit "c312b0df3b13" added detect utility for DP mode. But with
> > HPD_DISABLE bit set, all the HPD events are disabled[0] and the debounced
> > state always return 1 (always connected state).
> >
> > Set HPD_DISABLE bit conditionally based on "no-hpd" property.
> > Since the HPD_STATE is reflected correctly only after waiting for debounce
> > time (~100-400ms) and adding this delay in detect() is not feasible
> > owing to the performace impact (glitches and frame drop), remove runtime
> > calls in detect() and add hpd_enable()/disable() bridge hooks with runtime
> > calls, to detect hpd properly without any delay.
> >
> > [0]: <https://www.ti.com/lit/gpn/SN65DSI86> (Pg. 32)
> >
> > Fixes: c312b0df3b13 ("drm/bridge: ti-sn65dsi86: Implement bridge connector operations for DP")
> > Cc: Max Krummenacher <max.krummenacher@xxxxxxxxxxx>
> > Signed-off-by: Jayesh Choudhary <j-choudhary@xxxxxx>
> > ---
> >
> > Changelog v2->v3:
> > - Change conditional based on no-hpd property to address [1]
> > - Remove runtime calls in detect() with appropriate comments
> > - Add hpd_enable() and hpd_disable() in drm_bridge_funcs
> > - Not picking up "Tested-by" tag as there are new changes
> >
> > v2 patch link:
> > <https://lore.kernel.org/all/20250508115433.449102-1-j-choudhary@xxxxxx/>
> >
> > [1]: <https://lore.kernel.org/all/mwh35anw57d6nvre3sguetzq3miu4kd43rokegvul7fk266lys@5h2euthpk7vq/>

Thanks for your patch!

> > This would also require dts changes in all the nodes of sn65dsi86
> > to ensure that they have no-hpd property.
>
> DTS patch is posted now:
> <https://lore.kernel.org/all/20250529112423.484232-1-j-choudhary@xxxxxx/>

On all Renesas platforms handled by that patch, the DP bridge's HPD pin
is wired to the HPD pin on the mini-DP connector. What am I missing?

Regardless, breaking backwards-compatibility with existing DTBs is
definitely a no-go.

> > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 40 +++++++++++++++++++++++----
> > 1 file changed, 35 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 60224f476e1d..e9ffc58acf58 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -190,6 +190,7 @@ struct ti_sn65dsi86 {
> > u8 ln_assign;
> > u8 ln_polrs;
> > bool comms_enabled;
> > + bool no_hpd;
> > struct mutex comms_mutex;
> >
> > #if defined(CONFIG_OF_GPIO)
> > @@ -352,8 +353,10 @@ static void ti_sn65dsi86_enable_comms(struct ti_sn65dsi86 *pdata,
> > * change this to be conditional on someone specifying that HPD should
> > * be used.
> > */
> > - regmap_update_bits(pdata->regmap, SN_HPD_DISABLE_REG, HPD_DISABLE,
> > - HPD_DISABLE);
> > +
> > + if (pdata->no_hpd)
> > + regmap_update_bits(pdata->regmap, SN_HPD_DISABLE_REG, HPD_DISABLE,
> > + HPD_DISABLE);
> >
> > pdata->comms_enabled = true;
> >
> > @@ -1195,9 +1198,17 @@ static enum drm_connector_status ti_sn_bridge_detect(struct drm_bridge *bridge)
> > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
> > int val = 0;
> >
> > - pm_runtime_get_sync(pdata->dev);
> > + /*
> > + * The chip won't report HPD right after being powered on as
> > + * HPD_DEBOUNCED_STATE reflects correct state only after the
> > + * debounce time (~100-400 ms).
> > + * So having pm_runtime_get_sync() and immediately reading
> > + * the register in detect() won't work, and adding delay()
> > + * in detect will have performace impact in display.
> > + * So remove runtime calls here.
> > + */
> > +
> > regmap_read(pdata->regmap, SN_HPD_DISABLE_REG, &val);
> > - pm_runtime_put_autosuspend(pdata->dev);
> >
> > return val & HPD_DEBOUNCED_STATE ? connector_status_connected
> > : connector_status_disconnected;
> > @@ -1220,6 +1231,20 @@ static void ti_sn65dsi86_debugfs_init(struct drm_bridge *bridge, struct dentry *
> > debugfs_create_file("status", 0600, debugfs, pdata, &status_fops);
> > }
> >
> > +static void ti_sn_bridge_hpd_enable(struct drm_bridge *bridge)
> > +{
> > + struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
> > +
> > + pm_runtime_get_sync(pdata->dev);
> > +}
> > +
> > +static void ti_sn_bridge_hpd_disable(struct drm_bridge *bridge)
> > +{
> > + struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
> > +
> > + pm_runtime_put_sync(pdata->dev);
> > +}
> > +
> > static const struct drm_bridge_funcs ti_sn_bridge_funcs = {
> > .attach = ti_sn_bridge_attach,
> > .detach = ti_sn_bridge_detach,
> > @@ -1234,6 +1259,8 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = {
> > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> > .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> > .debugfs_init = ti_sn65dsi86_debugfs_init,
> > + .hpd_enable = ti_sn_bridge_hpd_enable,
> > + .hpd_disable = ti_sn_bridge_hpd_disable,
> > };
> >
> > static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata,
> > @@ -1322,7 +1349,8 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
> > ? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP;
> >
> > if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort)
> > - pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT;
> > + pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT |
> > + DRM_BRIDGE_OP_HPD;
> >
> > drm_bridge_add(&pdata->bridge);
> >
> > @@ -1935,6 +1963,8 @@ static int ti_sn65dsi86_probe(struct i2c_client *client)
> > return dev_err_probe(dev, PTR_ERR(pdata->refclk),
> > "failed to get reference clock\n");
> >
> > + pdata->no_hpd = of_property_read_bool(dev->of_node, "no-hpd");
> > +
> > pm_runtime_enable(dev);
> > pm_runtime_set_autosuspend_delay(pdata->dev, 500);
> > pm_runtime_use_autosuspend(pdata->dev);

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-667757-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 6447241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:56: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 C94951BC3EE0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:56:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2A185215783;
Fri, 30 May 2025 07:56:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="j5BdfYpA"
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 6BE7D211A27;
Fri, 30 May 2025 07:56:11 +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=1748591776; cv=none; b=F4dNr987xGbAXxI3HR9181OgimYNlWGANycsWYVt9H3Ps2eZSp89lmkvhn7MNgAHT9US4ZsT16or6SrWxyi3MCRN6QBa5n9cBW9Iavp8uhBk6r2fL4A0yvKs2HIAE+6xwxiZKw2oPz4L5lSc5Z6zNQIlHup89Ojk1CXyUIlf3JY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591776; c=relaxed/simple;
bh=9/2s7jrItrKe9BHQE86oFTYHuG14i7s/xK/dqV+ulu8=;
h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=gx6ir1RAtnqFpNws+xsVCU4VOWIARBut6gYMGIGyXt4sDGBw93GMLlkb1t6OELsXWfh4IGKmlZ5VogX9mvQNnKsDAM0VixoTIVl3GzGtbBFF+lXba0sd0Txc7zUjvXjZ+DVsIuNYqwZYqySsKY08BeoNoGsQrvxb2DDtekBRTlE=
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=j5BdfYpA; 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 4383543A63;
Fri, 30 May 2025 07:56:09 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748591770;
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=d5uXLy3aVascoGW7+x+sYRkxemKiyBvlPpkaZTuHscc=;
b=j5BdfYpAd3WxUunXRmpE2ibM9G+KVDDhSfYDrSD1+PDUyzarJgvym3lOUXc72O4YUFn6hc
xtiF6q4PRjWDB4Ynzs5ip4KMmRnhYdWNJfqKcpglpe4CiCwTgndCnAFRO7b2gTl2unPo+f
bUqgleDvtC492VcnYkRX15i7xRzTNRoXi+JhRBpALr9TfOM9+n6euiYdParj1gbWj91gbi
51ZCpLIqtSjDSdBsmGlnLxdhcrd3PfQfqrJKwziiui2JNdbfJtxTV+ch/7RGBSB2yHbbof
aOvr3GZVFPMWbkQLJ6BqlCP9NpgrgBvw8vrsdUAnr2vPGEdaTBEmP3MUuW9pmg==
Date: Fri, 30 May 2025 09:56:08 +0200
From: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
To: Jijie Shao <shaojijie@xxxxxxxxxx>
Cc: <davem@xxxxxxxxxxxxx>, Andrew Lunn <andrew@xxxxxxx>, Jakub Kicinski
<kuba@xxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Paolo Abeni
<pabeni@xxxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>, Heiner Kallweit
<hkallweit1@xxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <thomas.petazzoni@xxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, Christophe Leroy
<christophe.leroy@xxxxxxxxxx>, Herve Codina <herve.codina@xxxxxxxxxxx>,
Florian Fainelli <f.fainelli@xxxxxxxxx>, Vladimir Oltean
<vladimir.oltean@xxxxxxx>, =?UTF-8?B?S8O2cnk=?= Maincent
<kory.maincent@xxxxxxxxxxx>, Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>,
Simon Horman <horms@xxxxxxxxxx>, Romain Gantois
<romain.gantois@xxxxxxxxxxx>, "shenjian15@xxxxxxxxxx"
<shenjian15@xxxxxxxxxx>
Subject: Re: [PATCH net-next v5 07/13] net: phy: phy_caps: Allow looking-up
link caps based on speed and duplex
Message-ID: <20250530095608.63c42399@xxxxxxxxxxx>
In-Reply-To: <5bbf1201-e803-40ea-a081-c25919f5e89d@xxxxxxxxxx>
References: <20250307173611.129125-1-maxime.chevallier@xxxxxxxxxxx>
<20250307173611.129125-8-maxime.chevallier@xxxxxxxxxxx>
<5bbf1201-e803-40ea-a081-c25919f5e89d@xxxxxxxxxx>
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=UTF-8
Content-Transfer-Encoding: quoted-printable
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvkeegieculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkjghfohfogggtgfesthhqredtredtjeenucfhrhhomhepofgrgihimhgvucevhhgvvhgrlhhlihgvrhcuoehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeeuhfefgffgtdfhgffhvdfhhffhteeutdektefghfetveehheejjefgudeiudehudenucfkphepvdgrtddumegtsgduleemkegugeehmeegledttdemieehieekmedvlegsudemlegvfhehmegvkegtjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudelmeekugegheemgeeltddtmeeiheeikeemvdelsgdumeelvghfheemvgektgejpdhhvghlohepfhgvughorhgrrdhhohhmvgdpmhgrihhlfhhrohhmpehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvuddprhgtphhtthhopehshhgrohhjihhjihgvsehhuhgrfigvihdrtghomhdprhgtphhtthhopegurghvvghmsegurghvvghmlhhofhhtrdhnvghtpdhrtghpthhtoheprghnughrvgifsehlu
hhnnhdrtghhpdhrtghpthhtohepkhhusggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopegvughumhgriigvthesghhoohhglhgvrdgtohhmpdhrtghpthhtohepphgrsggvnhhisehrvgguhhgrthdrtghomhdprhgtphhtthhopehlihhnuhigsegrrhhmlhhinhhugidrohhrghdruhhkpdhrtghpthhtohephhhkrghllhifvghithdusehgmhgrihhlrdgtohhm
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

On Thu, 29 May 2025 17:36:11 +0800
Jijie Shao <shaojijie@xxxxxxxxxx> wrote:

> on 2025/3/8 1:36, Maxime Chevallier wrote:
> > As the link_caps array is efficient for <speed,duplex> lookups,
> > implement a function for speed/duplex lookups that matches a given
> > mask. This replicates to some extent the phy_lookup_settings()
> > behaviour, matching full link_capabilities instead of a single linkmode.
> >
> > phy.c's phy_santize_settings() and phylink's
> > phylink_ethtool_ksettings_set() performs such lookup using the
> > phy_settings table, but are only interested in the actual speed/duplex
> > that were matched, rathet than the individual linkmode.
> >
> > Similar to phy_lookup_settings(), the newly introduced phy_caps_lookup()
> > will run through the link_caps[] array by descending speed/duplex order.
> >
> > If the link_capabilities for a given <speed/duplex> tuple intersects the
> > passed linkmodes, we consider that a match.
> >
> > Similar to phy_lookup_settings(), we also allow passing an 'exact'
> > boolean, allowing non-exact match. Here, we MUST always match the
> > linkmodes mask, but we allow matching on lower speed settings.
> >
> > Signed-off-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
> > ---
> > drivers/net/phy/phy-caps.h | 4 ++++
> > drivers/net/phy/phy.c | 32 ++++++--------------------
> > drivers/net/phy/phy_caps.c | 47 ++++++++++++++++++++++++++++++++++++++
> > drivers/net/phy/phylink.c | 17 +++++++-------
> > 4 files changed, 67 insertions(+), 33 deletions(-)
> >
> > diff --git a/drivers/net/phy/phy-caps.h b/drivers/net/phy/phy-caps.h
> > index 8833798f141f..aef4b54a8429 100644
> > --- a/drivers/net/phy/phy-caps.h
> > +++ b/drivers/net/phy/phy-caps.h
> > @@ -51,4 +51,8 @@ phy_caps_lookup_by_linkmode(const unsigned long *link=
modes);
> > const struct link_capabilities *
> > phy_caps_lookup_by_linkmode_rev(const unsigned long *linkmodes, bool =
fdx_only);
> > =20
> > +const struct link_capabilities *
> > +phy_caps_lookup(int speed, unsigned int duplex, const unsigned long *s=
upported,
> > + bool exact);
> > +
> > #endif /* __PHY_CAPS_H */
> > diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> > index 8df37d221fba..562acde89224 100644
> > --- a/drivers/net/phy/phy.c
> > +++ b/drivers/net/phy/phy.c
> > @@ -213,25 +213,6 @@ int phy_aneg_done(struct phy_device *phydev)
> > }
> > EXPORT_SYMBOL(phy_aneg_done);
> > =20
> > -/**
> > - * phy_find_valid - find a PHY setting that matches the requested para=
meters
> > - * @speed: desired speed
> > - * @duplex: desired duplex
> > - * @supported: mask of supported link modes
> > - *
> > - * Locate a supported phy setting that is, in priority order:
> > - * - an exact match for the specified speed and duplex mode
> > - * - a match for the specified speed, or slower speed
> > - * - the slowest supported speed
> > - * Returns the matched phy_setting entry, or %NULL if no supported phy
> > - * settings were found.
> > - */
> > -static const struct phy_setting *
> > -phy_find_valid(int speed, int duplex, unsigned long *supported)
> > -{
> > - return phy_lookup_setting(speed, duplex, supported, false);
> > -}
> > -
> > /**
> > * phy_supported_speeds - return all speeds currently supported by a =
phy device
> > * @phy: The phy device to return supported speeds of.
> > @@ -274,13 +255,14 @@ EXPORT_SYMBOL(phy_check_valid);
> > */
> > static void phy_sanitize_settings(struct phy_device *phydev)
> > {
> > - const struct phy_setting *setting;
> > + const struct link_capabilities *c;
> > +
> > + c =3D phy_caps_lookup(phydev->speed, phydev->duplex, phydev->supporte=
d,
> > + false);
> > =20
> > - setting =3D phy_find_valid(phydev->speed, phydev->duplex,
> > - phydev->supported);
> > - if (setting) {
> > - phydev->speed =3D setting->speed;
> > - phydev->duplex =3D setting->duplex;
> > + if (c) {
> > + phydev->speed =3D c->speed;
> > + phydev->duplex =3D c->duplex;
> > } else {
> > /* We failed to find anything (no supported speeds?) */
> > phydev->speed =3D SPEED_UNKNOWN;
> > diff --git a/drivers/net/phy/phy_caps.c b/drivers/net/phy/phy_caps.c
> > index c39f38c12ef2..0366feee2912 100644
> > --- a/drivers/net/phy/phy_caps.c
> > +++ b/drivers/net/phy/phy_caps.c
> > @@ -170,6 +170,53 @@ phy_caps_lookup_by_linkmode_rev(const unsigned lon=
g *linkmodes, bool fdx_only)
> > return NULL;
> > }
> > =20
> > +/**
> > + * phy_caps_lookup() - Lookup capabilities by speed/duplex that matche=
s a mask
> > + * @speed: Speed to match
> > + * @duplex: Duplex to match
> > + * @supported: Mask of linkmodes to match
> > + * @exact: Perform an exact match or not.
> > + *
> > + * Lookup a link_capabilities entry that intersect the supported linkm=
odes mask,
> > + * and that matches the passed speed and duplex.
> > + *
> > + * When @exact is set, an exact match is performed on speed and duplex=
, meaning
> > + * that if the linkmodes for the given speed and duplex intersect the =
supported
> > + * mask, this capability is returned, otherwise we don't have a match =
and return
> > + * NULL.
> > + *
> > + * When @exact is not set, we return either an exact match, or matchin=
g capabilities
> > + * at lower speed, or the lowest matching speed, or NULL.
> > + *
> > + * Returns: a matched link_capabilities according to the above process=
, NULL
> > + * otherwise.
> > + */
> > +const struct link_capabilities *
> > +phy_caps_lookup(int speed, unsigned int duplex, const unsigned long *s=
upported,
> > + bool exact)
> > +{
> > + const struct link_capabilities *lcap, *last =3D NULL;
> > +
> > + for_each_link_caps_desc_speed(lcap) {
> > + if (linkmode_intersects(lcap->linkmodes, supported)) {
> > + last =3D lcap;
> > + /* exact match on speed and duplex*/
> > + if (lcap->speed =3D=3D speed && lcap->duplex =3D=3D duplex) {
> > + return lcap;
> > + } else if (!exact) {
> > + if (lcap->speed <=3D speed)
> > + return lcap;
> > + }
> > + }
> > + }
> > +
> > + if (!exact)
> > + return last;
> > +
> > + return NULL;
> > +}
> > +EXPORT_SYMBOL_GPL(phy_caps_lookup);
> > +
> > /**
> > * phy_caps_linkmode_max_speed() - Clamp a linkmodes set to a max spe=
ed
> > * @max_speed: Speed limit for the linkmode set
> > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> > index a3f64b6d2d34..cf9f019382ad 100644
> > --- a/drivers/net/phy/phylink.c
> > +++ b/drivers/net/phy/phylink.c
> > @@ -20,6 +20,7 @@
> > #include <linux/timer.h>
> > #include <linux/workqueue.h>
> > =20
> > +#include "phy-caps.h"
> > #include "sfp.h"
> > #include "swphy.h"
> > =20
> > @@ -2852,8 +2853,8 @@ int phylink_ethtool_ksettings_set(struct phylink =
*pl,
> > const struct ethtool_link_ksettings *kset)
> > {
> > __ETHTOOL_DECLARE_LINK_MODE_MASK(support);
> > + const struct link_capabilities *c;
> > struct phylink_link_state config;
> > - const struct phy_setting *s;
> > =20
> > ASSERT_RTNL();
> > =20
> > @@ -2896,23 +2897,23 @@ int phylink_ethtool_ksettings_set(struct phylin=
k *pl,
> > /* Autonegotiation disabled, select a suitable speed and
> > * duplex.
> > */
> > - s =3D phy_lookup_setting(kset->base.speed, kset->base.duplex,
> > - pl->supported, false);
> > - if (!s)
> > + c =3D phy_caps_lookup(kset->base.speed, kset->base.duplex,
> > + pl->supported, false);
> > + if (!c)
> > return -EINVAL; =20
>=20
>=20
>=20
> Hi Maxime, fc81e257d19f ("net: phy: phy_caps: Allow looking-up link caps=
based on speed and duplex") might have different behavior than the modific=
ation.
> My case is set 10M Half with disable autoneg both sides and I expect it is
> link in 10M Half. But now, it is link in 10M Full=EF=BC=8Cwhich is not wh=
at I
> expect.
>=20
> I used followed command and trace how phy worked.
> ethtool -s eth1 autoneg off speed 10 duplex half
> The log is showed as followed:
> ethtool-13127 [067] 6164.771853: phy_ethtool_ksettings set: (phy_ethtool =
ksettings set+0x0/0x200) duplex=3D0 speed=3D10
> kworker/u322:2-11096 [070] 6164.771853: _phy_start_aneq: ( _phy_start_ane=
g+0x0/0xb8) duplex=3D0 speed=3D10
> kworker/u322:2-11096 [070] 6164.771854: phy_caps_lookup: (phy_caps_lookup=
+0x0/0xf0) duplex=3D0 speed=3D10
> kworker/u322:2-11096 [070] 6164.771855: phy_config_aneg: (phy_config_aneg=
+0x0/0x70) duplex=3D1 speed=3D10
> kworker/u322:2-11096 [070] 6164.771856: genphy_config_aneg: (__genphy_con=
fig_aneg+0X0/0X270) duplex=3D1 speed=3D10
>=20
> I also try to fixed it and it works. Do you have any idea about it.

The !exact match logic in the rework is wrong indeed, sorry...

For non-exact matches we return a non-exact match too early without
giving the chance for a potentially exact half-duplex match...

As for the fix, can you try this out :

diff --git a/drivers/net/phy/phy_caps.c b/drivers/net/phy/phy_caps.c
index 703321689726..d80f6a37edf1 100644
--- a/drivers/net/phy/phy_caps.c
+++ b/drivers/net/phy/phy_caps.c
@@ -195,7 +195,7 @@ const struct link_capabilities *
phy_caps_lookup(int speed, unsigned int duplex, const unsigned long *suppo=
rted,
bool exact)
{
- const struct link_capabilities *lcap, *last =3D NULL;
+ const struct link_capabilities *lcap, *match =3D NULL, *last =3D NULL;
=20
for_each_link_caps_desc_speed(lcap) {
if (linkmode_intersects(lcap->linkmodes, supported)) {
@@ -204,16 +204,19 @@ phy_caps_lookup(int speed, unsigned int duplex, const=
unsigned long *supported,
if (lcap->speed =3D=3D speed && lcap->duplex =3D=3D duplex) {
return lcap;
} else if (!exact) {
- if (lcap->speed <=3D speed)
- return lcap;
+ if (!match && lcap->speed <=3D speed)
+ match =3D lcap;
+
+ if (lcap->speed < speed)
+ break;
}
}
}
=20
- if (!exact)
- return last;
+ if (!match && !exact)
+ match =3D last;
=20
- return NULL;
+ return match;
}
EXPORT_SYMBOL_GPL(phy_caps_lookup);

Return-Path: <linux-kernel+bounces-667758-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 B2BC541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:56: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 E5C68177830
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 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 EBB7821423C;
Fri, 30 May 2025 07:56:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="BV1KlzZZ"
Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FA2820E6E3;
Fri, 30 May 2025 07:56:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591800; cv=none; b=UJPbngf9hZ32+Wy5s4VYKDeE8gMGurIZvdqtxrX7b90F18sMeZWpXEtVKW8OWuHzuujOwR0SLKtjhP5odtaf70eeH0KgPWR6dV9U0UzhgHi0QgXBGeDCF6V/9KtSPa021JVvC0/ZPMHK8InRMDLaDmZBvdvoBBpLih7iq2sT7ZU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591800; c=relaxed/simple;
bh=uO3O3inxposTI0kQEYf2CJBUDFQHsCwBhLgCj9tgYIE=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=XjBik3//9H/6icYz6CXvvCTmbKF+pV7juxSL7aLgI6PYf/LpQUFy0eUFZPj3T9cD+zsMT5CvrN9FROTsWfnxo1l/3qOq1CNu9V9cYN7p7BdFQFxP5q691SDzNgymdaG3LQllQgvjVE57tKOinjRm6Q+RSERRWTR/2YW283S+hQY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=BV1KlzZZ; arc=none smtp.client-ip=213.167.242.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com
Received: from ideasonboard.com (mob-5-90-143-247.net.vodafone.it [5.90.143.247])
by perceval.ideasonboard.com (Postfix) with ESMTPSA id 65AC782E;
Fri, 30 May 2025 09:56:08 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;
s=mail; t=1748591768;
bh=uO3O3inxposTI0kQEYf2CJBUDFQHsCwBhLgCj9tgYIE=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=BV1KlzZZI7s9MALqSYrJAL9VWbB9HE0WU5uVPB39ajpQA8s6PyZjeOUxXn2t5j836
A+T8efsnTiEsKB+363tozLYudNVpQTzQ7lSN2AHPfJWiVAin+/itZAEcPHbrlk2Fl+
2U8T7SgXyamo3LoB5eJOnOUkGgxOYduym9mZsBqA=
Date: Fri, 30 May 2025 09:56:32 +0200
From: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>
To: Krzysztof =?utf-8?Q?Ha=C5=82asa?= <khalasa@xxxxxxx>,
Xavier Roumegue <xavier.roumegue@xxxxxxxxxxx>
Cc: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>,
Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>, Rui Miguel Silva <rmfrfs@xxxxxxxxx>,
Martin Kepplinger <martink@xxxxxxxxx>, Purism Kernel Team <kernel@xxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>, Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, linux-media@xxxxxxxxxxxxxxx, imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] Enable MIPI filtering by DT on i.MX8M*
Message-ID: <2fd6wgsiwfx4raharcrpmmtayhkipjnz64u2cbprhsxkna3lhv@yshftexhmgns>
References: <m3h61u9jy2.fsf@xxxxxxxxxxx>
<20250509103733.GE28896@xxxxxxxxxxxxxxxxxxxxxxxxxx>
<m3o6vn8np5.fsf@xxxxxxxxxxx>
<iegnn5xoosqpk52hvipcr73aliwhqtsq6r6ctvt5756bhy6yen@rqcdongb7fdf>
<m31psg97dy.fsf@xxxxxxxxxxx>
<jqjptsphbtdtziuucehxutseaz7j4kjiirz2hk77f3dznswvza@avbjjzu3jcam>
<m3o6vb64hv.fsf@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: <m3o6vb64hv.fsf@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 Krzysztof
thanks for the detailed analysis

On Thu, May 29, 2025 at 01:27:56PM +0200, Krzysztof HaÅ?asa wrote:
> Hi Jacopo,
>
> Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx> writes:
>
> >> - 10 User Defined 8-bit Data Type 8 packets, line-sized, DT=0x37, called
> >> apparently "Vertical OB" by Sony datasheet
> >
> > These are optically black pixels and should probably be discarded by
> > the gasket as well as embedded data ?
>
> Yes, apparently.
>
> >> I hope I got this right, this is straight from oscilloscope (only
> >> checked IDs on IMX462, will confirm IMX290 later but it looks the same).
> >> In 1280x1080p25 mode there are 4 (not 10) "vertical OB" packets, and 720
> >> RGGB lines instead of 1080.
> >
> > Is this correct ? you ask for 1280x1080 and get back 720 lines ?
>
> Well, no, I just checked both modes and these are the differences.
> IOW, nothing unexpected. Wrong copy & paste or so.
>
> >> IMX462 produces just a tiny 2-pixel dot in the left top corner, possibly
> >> shifting some data to the right (I remember it did that, but I can't
> >> observe it now - could be a kernel (driver) version change?).
> >
> > What are those two pixels ? Does the datasheet describes them ?
>
> Nope, I guess it's a silicon bug. It corrupts 3 RAW-12 pixels, though
> (32 bits > 2 * 12 bits).
>
> >> 32EC0138h 2D8000h ISP Dewarp Control Register (ISP_DEWARP_CONTROL)
> >> ISP ID mode 0, ISP1: DT 0h (unknown), ISP2: DT 2Ch (RAW12) left-just mode
> >
> > But this other register has (again) one other filtering option and
> > reading the value here it is set to filter RAW12 (mipi_isp2_data_type)
> >
> > Weirdly enough, I don't see this register being programmed in the
> > mainline gasket driver...
>
> I guess it's drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:
>
> static int rkisp1_gasket_enable(struct rkisp1_device *rkisp1,
> struct media_pad *source)
> {
> ...
> regmap_update_bits(rkisp1->gasket, ISP_DEWARP_CONTROL, mask, val);

Ah indeed, thanks!

>
> Now this register doesn't filter data: if you set it with a different
> value, the data still goes through. It's just processed differently.
> For example, my sensor is 12-bit (in addition to 10-bit). If I set
> ISP_DEWARP_CONTROL to 0xB68 (or 0x368) meaning RAW 14-bit, the image
> only gets darker - ISP thinks it's getting 14-bit samples.

Thanks for testing

>
> The only filtering (while using ISP) is, apparently, in the ISP
> Configuration Register (MIPI_CSIS_ISPCONFIG_CH0) and subsequently in its
> shadow counterpart. And it somehow may be enabled in CSIS Common Control
> Register (MIPI_CSIS_CMN_CTRL). But if you don't enable it there, the
> data is still filtered (e.g. wrong value in MIPI_CSIS_ISPCONFIG_CH0
> prevents data flow). The filtering is only needed for preventing pixel
> corruption (these 3 pixels).

Let me recap all of this.

With:

- MIPI_CSIx_CSIS_COMMON_CTRL[11:10]
"Select Interleave mode" = 0x00 = CH0 only, no data interleave

- MIPI_CSIx_ISP_CONFIGn[7:2]
"Image Data Format" = 0x2c = RAW12

Embedded data and OB pixels are filtered (which means we're filtering
on DT even if MIPI_CSIx_CSIS_COMMON_CTRL[11:10] = 0x0x would suggest
filtering is not enabled)

However corrupted pixels are still sent through.

If you

- MIPI_CSIx_CSIS_COMMON_CTRL[11:10]
"Select Interleave mode" = 0x01 = DT (Data type) only

Embedded data and OB pixels are still filtered, and your corrupt
pixels are filtered as well.

Now, why are "corrupted pixels" filtered away by enabling this option ?

As far as I understand bad pixels are corrupt in their data values,
the CSI-2 packet header which contains the DT is correct. Is my
understanding correct ?


>
> So it means, for at least i.MX8MP, the DT filtering bit in
> MIPI_CSIS_CMN_CTRL should always be enabled.

It would be nice to actually understand what it does before enabling
it unconditionally.

I've cc-ed Xavier from NXP which maybe can help shed some light on
that register function ?

Thanks for the investigation

>
> >> MIPI_CSI2:
> >> 32E50004h 4705h CSIS Common Control Register (MIPI_CSIS_CMN_CTRL)
> >
> > Do you mean 0x14705 ? I'm asking because Shadow Crtl is BIT(16). Surprisingly
> > BIT(14) is marked as reserved in the datasheet version I have
>
> No, it's 0x4705 (usually).
> With 0xFF05 (resulting from write with 0xfffffffd) it's still working
> correctly (with DT filtering). Write 0xfffffbfd (= no DT filtering) and
> the magic light pixels in the left top corner reappear. So it means the
> INTERLEAVE_MODE bits (11 and 10) are probably two independent bits, with
> bit 11 probably not used at all.
>
>
> In my copy (i.MX 8M Plus Applications Processor Reference Manual, Rev.
> 1, 06/2021), CSIS Common Control Register (MIPI_CSIx_CSIS_COMMON_CTRL):
> - bits 31-17, 15, 13, 12, 7-2 are zero and reserved (though bits 12 and
> 2 are additionally marked "This read-only field is reserved and always
> has the value 0")
> - bit 14 is reserved and shown as "1"
> - bit 16 is "UPDATE_SHADOW", and it clears itself after a write (unless
> the pipeline locks up or something alike)
> - bits 11 and 10 are "INTERLEAVE_MODE":
> Select Interleave mode
> ISP Configuration register of CH# is used for data interleave.
> 00 CH0 only, no data interleave
> 01 DT (Data type) only
> 10 Reserved
> 11 Reserved
> - bits 9 and 8 are LANE_NUMBER, 0 to 3 means 1 to 4.
> - bit 1 is SW_RESET
> - bit 0 is CSI_EN
>
> In fact, bit 2 does not "always have the value 0", it's set to 1. Both
> bits 14 and 2 can be reset to 0, though (without apparent change in the
> image).
> --
> Krzysztof "Chris" HaÅ?asa
>
> SieÄ? Badawcza Å?ukasiewicz
> PrzemysÅ?owy Instytut Automatyki i Pomiarów PIAP
> Al. Jerozolimskie 202, 02-486 Warszawa
>

Return-Path: <linux-kernel+bounces-667759-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 3D96441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03: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 74A2F189A894
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:57:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C4A4F21516E;
Fri, 30 May 2025 07:56:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="Ld0oaUXp"
Received: from HK3PR03CU002.outbound.protection.outlook.com (mail-eastasiaazon11011058.outbound.protection.outlook.com [52.101.129.58])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02BC220D506;
Fri, 30 May 2025 07:56:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.129.58
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591811; cv=fail; b=aGKp3oykDKPszowQ86W7zChPt4vDj9GXmCJa044z0mMqa2xsLbiZfCIa66rmB0AxnpA4AUc3aSvyA1W2hggewTzrxhL+sPOB0OmdgrD/C/yj708Lkey7KZb+pcgt97m2EqWLVobRFolDyy4vIpG9hDQd+sFnEU1xM/50RaUZluk=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591811; c=relaxed/simple;
bh=Dcy0qV28QZEqcFbQvhM82XlsukOU+D2uXqTidTCT1i0=;
h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=UC7uitG7n5BeS7N2SIKSILT/X6LWIawYk4O7O0viIb0DhTYzXnE771phrDhm4EMCw9UQNw382PJFGIMSnlYQ3qk2TnrlSshNgorQfN6UfHWp5abkK5nfC3II4nZ+OXkWOmCSfnOSIR/aJZpafncYBlXkAOh7hFdDrUceLSl/vKA=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=Ld0oaUXp; arc=fail smtp.client-ip=52.101.129.58
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AqooCeOZwuvKHor7sJBQ//JbkIkEnlJdIFQkj5k1JC0vTgwMgXnlfBQ6u1fyUO5sbNF6OdoxcYWR6XR2H//IAv+qeQPWHrAT3TAAPFyJrZK0tDvrb5Dc2xLJ3koKvWQeqN/mMYoFMlrjcyx4EW6w5y2GzIYhDy4tmK9AlkHwxzHMoPHDnE0K11oqT/U+YlSdakiXul67W87MB1DZzHCIaOXK+HOyHbYwMq+IrFz4TZC98VUAxew/hWt0dijYzjFkV3HNK0psT+hFR8myv7GbUgGYTd3ODMVLDk5+Jmu0dYUQfNIenQA21xKhfJSgMyTLZXVkrFPgU0AlgvDtOFCZJQ==
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=uEC/kv7196r3w8cXpLgqlQ9TjsfHw0mjuV+aiXLIryk=;
b=MIOEvxpUsCMgwN3Q1VkxSdirbxAbbdxYnJbS15W9LtazpIfK8TlWGI+tdZWTAhaxtyH9BZPSVk2X0dg5L/xFAsjmBBHeVPCBreF3sWfcZnimEhFjziWYrjPXfXcjmpdVvpyqFqBRH/HaZ5kykADmeVSXAOaV4NPSu0v1lyR066uNmtJOcvxiqCxL1GWnEjaqiOZ1fnjeIh9vtmBGENv+y2CdrSoEKu80u2uPNoQVtWj1U2/pGdwd4Oc/68G9lgHY2bmei4u4PUmHz9e77iGwh2g5/j9baye8r2rlVDU7ElrYtsZXeVzov2tEcRTi+QrTvfkcJPyq7qHui6ZBvWHj4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com;
dkim=pass header.d=vivo.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=uEC/kv7196r3w8cXpLgqlQ9TjsfHw0mjuV+aiXLIryk=;
b=Ld0oaUXp9kvpveb5pb5DQemRZFbA1GbnZ72KTt7/PhEn9ReO6zI1aMbFJnHjipf64dP9gmYqr9AT1FXdrFD6B41e83Ky2nHp8E8YveKUpbe4XuVkhVwK9qyDdxlszGT3LnQGq4dqjEo0k+hR9FmIVev8qohf5e7bgX3WgqlFANxJw4+idIpgmFGFbdV6CZtkq+txsIa0so6Zap0X1BxQDgUZmHozs/u2I1foA2NfHbf9DVv8bLwRJoorcUSz4c4OGxam1P/21R/OO3yz7hMkLlodbRB8xqQFqv5qrviXwCoWl4pHGODr57TE3OPxgZqmAE9dL7l8xs9NyK3KD3UBVw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=vivo.com;
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6)
by JH0PR06MB6415.apcprd06.prod.outlook.com (2603:1096:990:14::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May
2025 07:56:46 +0000
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535%5]) with mapi id 15.20.8769.022; Fri, 30 May 2025
07:56:46 +0000
From: Yangtao Li <frank.li@xxxxxxxx>
To: slava@xxxxxxxxxxx,
glaubitz@xxxxxxxxxxxxxxxxxxx,
Yangtao Li <frank.li@xxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v3 1/3] hfsplus: fix to update ctime after rename
Date: Fri, 30 May 2025 02:17:16 -0600
Message-Id: <20250530081719.2430291-1-frank.li@xxxxxxxx>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR04CA0009.apcprd04.prod.outlook.com
(2603:1096:4:197::8) To SEZPR06MB5269.apcprd06.prod.outlook.com
(2603:1096:101:78::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: SEZPR06MB5269:EE_|JH0PR06MB6415:EE_
X-MS-Office365-Filtering-Correlation-Id: 352ae813-ceb8-4092-9565-08dd9f4f866c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|366016|7053199007|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?q2VJN1eBT2sHnqEwsXf3r2GE+CFLm/sy02uawQzlYbUTazjLIHVeM9+bCUPO?=
=?us-ascii?Q?Plx7esY2iSMGQOjvvZJZGgwSX8bVBpxhsAWIH2y0cSFZLXvaVX4UNWe5INwJ?=
=?us-ascii?Q?BUICuRA2JofacUtS16n8A1wQZszo1aNXFQGI776ey3Sn4vtGVPsENbB1tc8v?=
=?us-ascii?Q?ngRvMce/5WJEnVobrsbg16iVPv/Lh+xGxztH1ic5J36RxiiD9/3nJrsYDMPb?=
=?us-ascii?Q?EnAUJ55ifRTkhOKGOVI8w4plPl7weQD+29ML8H4vbVg3uhLWqrqCThkymSAD?=
=?us-ascii?Q?7xxJBYqCLqH0KHxoOpfrm2gSjESwpsI1QQLkrwkBp2goDb4EJKjFHvSLxh/X?=
=?us-ascii?Q?JLqnR6h7kBg0cRXGUpcVNMK4ZOhdrLJsUStblYtjXsmLDF8we6cCMcJb5nLD?=
=?us-ascii?Q?L2cBVpa0b9CxHEYjBxXzhAb8mvdT4JZIYkR8JtBpMdS5GmviSQBlA2wOu5M1?=
=?us-ascii?Q?H5aczlrh4Q0EDyZdM8RwwfeXZrGttqeH/0Unp6o9qanqskh7WLXIc/wZziLl?=
=?us-ascii?Q?idO2STkDPSegg2SluXKOnFcBMEJtHpFkWs5fHoX1E0KxV3OCn5BdNSaqLuTT?=
=?us-ascii?Q?t3o3BCVht/vHafOww95dgXsYpPIQo1Sw1h9o1uu2E69l3EB8RUQL4oxmDlSS?=
=?us-ascii?Q?TzbdzQMNE0xfZdqJaynTWHL/rMljApzoiE9mCt+5XdHFVWKN5yydXVSUjJfi?=
=?us-ascii?Q?cj84TVEwsa93n6hNp6149WjfUdgdq/nM2nA8JYktXHSwJFllPM84NXLlgfsM?=
=?us-ascii?Q?95w9uP9mQqQvgDrY/YlUpbRMSKqF3bdChvoVxLxigKX5sc17UKTgPHYBcJ4b?=
=?us-ascii?Q?siSoaZCg3nto1lEzDWkrU1/mJm1wQqZHALUgIaRof2aiZzdrTaU0GGdpaVxh?=
=?us-ascii?Q?kc1nyJIBj1LbFK75+Qv6EQVJDZF4sNp5ygSdBibziH0Hir9Jfyku5YhlvDr+?=
=?us-ascii?Q?G9sd1LdoATalt8eoHMuA7CIVx/nLKkZ/uIiOUIKiDnz1GNTueQ+pLDfekb/e?=
=?us-ascii?Q?Ay9gUJUjX43EpmeZjgch23yL8JdmlbcKVXgmrxEs17HUw7yV/5gsuEKbCH1u?=
=?us-ascii?Q?d2ymzv/czktqWQ2j1388V57OTCqW4snTkKOLcze/6BQnUy73YJGwCBzU3iZy?=
=?us-ascii?Q?Xvtam8pKNVWNHJ50tJ3aznz9u3nqNCaW9ZYlItwE0Q5xPvVhI6h+6jD3DhBy?=
=?us-ascii?Q?/ZeOakEOpdZ5NbgZ1gFT1bRpzvKZazOo62Wv9sRVVrci3XfJ/5oMEfKfMnYd?=
=?us-ascii?Q?2A5yw798sGxTiza+Kv9xciIaV8sHn3OLCRUA1fKxt6ctm8meO/nmnsFaqNOh?=
=?us-ascii?Q?E50cnrktaObQ3REU9p0aypV+SYLZGBkquwySWBUl+cjCVVYoV09+5WEUAey2?=
=?us-ascii?Q?/Q5f58/Cf2NWbbdXHEUMaU1ZV0duOS7borS11yiLxUkEIckr2nespeakiyo2?=
=?us-ascii?Q?KL3o3aSJI0MjEHgVWDbcQvTPwzqZSdjt3NNolijxs9P9rQZKFDl/Sw=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(7053199007)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?7fPNZz1kWi8ZTBqktJf2mN+fynd8cUQHMfBFLv9EHHS9nZ8+4Ufzeg0LfjTd?=
=?us-ascii?Q?SDYRC6F0gGdGRGMiY92X+Xiu5B0VCoYtzl97VKnn09izBzewbWjQjADnh4fv?=
=?us-ascii?Q?lljxFZnHnXd7yVKRlaf4VwY2VXhCQeEX0F5QXe+MJEhxecQXqfwr+qWJrYo6?=
=?us-ascii?Q?8/9GfnuHiMpuE5fupffAU3E2YloCEBoaDFNLdgYbWVxEGfhzUY6oUbuYZBf/?=
=?us-ascii?Q?G1uiipAJeBh5TkCLOqky9W12q+GyDPvo7tXIW9lgJpqizASaIGIS7gZ4l2PL?=
=?us-ascii?Q?qB2SZsnZq2OsRvukHPuxjNCk0LMuuWwRO2CJ8/Y5STISbjjNegSGTDOcx53u?=
=?us-ascii?Q?KvP7G54x8OZXdIw9T3TBBayyjwYMtlNTHmjpj1eWHAyHqunDqk+tlkVaZDdg?=
=?us-ascii?Q?HcoRKbe7zBiuPvSPZr2zYqP9d8CsIFDqB1q1a3HsnOeZdgEWft+ny5H+v64s?=
=?us-ascii?Q?RkPX/o/xcbRySv1wvSRdyeSXrewUC+ZGkNs0m6u8oAhBaHj9iky1GOE4hXKk?=
=?us-ascii?Q?uvRF34yF+MSMqCSHescpO0FV+BfI9YPWKKlK7rM/xZell2OWqIu3iFv/V8dp?=
=?us-ascii?Q?rIOqlA+WMFJDxYJ9XsRxXE7NyHIMxTJKBLoO/PfhT464eb2ah7rrwbCJnhsJ?=
=?us-ascii?Q?JSD1aMvPr31kmVeq8KucHmOggUhgOz2ifjZ4yWUJU2A4cMp/tARQFWPL3Phy?=
=?us-ascii?Q?QEnw5o/2Yj0kTakyUjaU8Cln6zZd9NCAGnvzX+tNzVNdyyCG69JIWRrBhfzB?=
=?us-ascii?Q?tggV2lTCyXCtOyAyN9ctX1HtvNzIchE7Nkebfl85IV4d6kj3ipiF1FjmC5eH?=
=?us-ascii?Q?WZHVV1Xnzn61cP4QwIgtQ+vU+EmUcTxe3impT04X0Ej3rSbQ+3dkDpQ1qdRl?=
=?us-ascii?Q?gI98jnfqYUa5IVV81cAn2fD1g4kTTw4Ph1KNf/dhjDNdzoNAgg0cjRWqV+JI?=
=?us-ascii?Q?QhNnYpg6lPZNYcFuCmG+7HTZVEHTFN7/W+sj1T4vVTvxG/zvZ+s1H5chxOYa?=
=?us-ascii?Q?AlLRUdUHOUKzPWH3/4JUlA30iotg7wqhO9Rc02XZPGW50yoAZKg3kCiTDOip?=
=?us-ascii?Q?Hp1Lv+E2p0C46QTDfQydVC/FOxaAYx/xwUYysWIH1RAQlXs2sOmWYEWvzuaX?=
=?us-ascii?Q?Yz6nVQCoSideQzLjjYHbTQjXdTpu+/z6FORDAolMjRpPyCC/nA4ftWqGHUEE?=
=?us-ascii?Q?/cfCVakbl9t13xusKGEODjQ113E3RE7L0SpIWSXeA2p6Sdi+KhEAfiM/naJ2?=
=?us-ascii?Q?8Hz58Bb0sdCTbfS2uO9wQ+yn2F1xr08KtpYu3fUgTA6q6ouipT822YPaQu3G?=
=?us-ascii?Q?26mQOwapgXPkt5Q9Bfw7gPk1RRzV8N/RYahTAxIcuEcox79pHwfq+MFiL5+r?=
=?us-ascii?Q?RZDIztm0ZMySVycuSMokeG6o1FPIdSYzzVMZGehEFwlxD0SpHM/hC9mKNgJl?=
=?us-ascii?Q?WO17IS0raXFuCvdtar5KUkHGgYAWq0pIhWl4ZLLVL8c12sIUM7ykm2Tqw7j0?=
=?us-ascii?Q?jUCbulC4b0kN2VzX3aen+LdoKiXbVEiNgQyfNz1Q5SoOwQx0f827xvnw/snT?=
=?us-ascii?Q?HGxjM0RYH2a4E7h1q37fjcMlN9/uYZ4Eg/6BnkiO?=
X-OriginatorOrg: vivo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 352ae813-ceb8-4092-9565-08dd9f4f866c
X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:56:46.5043
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3xxvekoLpqY9x9gMcAUE8/7aYbUlPXOqp9b3vwTg9BwCJt1ywNgYuTEe7dQk0AHVNhejrL/KqfyP7a0cHAL58g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6415
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

[BUG]
$ sudo ./check generic/003
FSTYP -- hfsplus
PLATFORM -- Linux/x86_64 graphic 6.8.0-58-generic #60~22.04.1-Ubuntu
MKFS_OPTIONS -- /dev/loop29
MOUNT_OPTIONS -- /dev/loop29 /mnt/scratch

generic/003 - output mismatch
--- tests/generic/003.out 2025-04-27 08:49:39.876945323 -0600
+++ /home/graphic/fs/xfstests-dev/results//generic/003.out.bad

QA output created by 003
+ERROR: change time has not been updated after changing file1
Silence is golden
...

Ran: generic/003
Failures: generic/003
Failed 1 of 1 tests

[CAUSE]
change time has not been updated after changing file1

[FIX]
Update file ctime after rename in hfsplus_rename().

Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
Tested-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx>
Reviewed-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx>
---
fs/hfsplus/dir.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
index 876bbb80fb4d..e77942440240 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -534,6 +534,7 @@ static int hfsplus_rename(struct mnt_idmap *idmap,
struct inode *new_dir, struct dentry *new_dentry,
unsigned int flags)
{
+ struct inode *inode = d_inode(old_dentry);
int res;

if (flags & ~RENAME_NOREPLACE)
@@ -552,9 +553,13 @@ static int hfsplus_rename(struct mnt_idmap *idmap,
res = hfsplus_rename_cat((u32)(unsigned long)old_dentry->d_fsdata,
old_dir, &old_dentry->d_name,
new_dir, &new_dentry->d_name);
- if (!res)
- new_dentry->d_fsdata = old_dentry->d_fsdata;
- return res;
+ if (res)
+ return res;
+
+ new_dentry->d_fsdata = old_dentry->d_fsdata;
+ inode_set_ctime_current(inode);
+ mark_inode_dirty(inode);
+ return 0;
}

const struct inode_operations hfsplus_dir_inode_operations = {
--
2.48.1


Return-Path: <linux-kernel+bounces-667760-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 8952841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:57: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 66D889E15EE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:56:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CB7AE21884A;
Fri, 30 May 2025 07:56:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="AHy/6okF"
Received: from HK3PR03CU002.outbound.protection.outlook.com (mail-eastasiaazon11011058.outbound.protection.outlook.com [52.101.129.58])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12F3D213252;
Fri, 30 May 2025 07:56:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.129.58
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591813; cv=fail; b=aeFAxi9GYNegZFs3x7jdXK2v0WWxVLjdH+udV9PEjUiscnTfNsZxYXGczMVqDVZqFT1cx7KoFhyqLvc7xlLtVgYOQerYMQ+J4VbCxu5Qd6ATDG8cf18ZXTKthPQv0iKRn9lYVFgHSdTUVjZnUuJnF+iwLvCe8XFVoSoTN8C05kI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591813; c=relaxed/simple;
bh=j4fgK6xVpNIi2cPufYgRtsVaHAEqAiRx5jOnWyx3VoI=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
Content-Type:MIME-Version; b=BLo4K/DrBn2yeckmYWwoP6vZYTvPiG7KjHpPua3xhj+aJ6taHy3paNnfm+s/ovjAFUcxlzodNcv4fG+UQbUzvi0cS4CqZWTqdahxZkdI+pY/fninhQeAnhCuOhzyTzCU2jnDz3PcvoTZtIdsz5lP3Dx0cgw+HxUPQRq/sgpzSdw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=AHy/6okF; arc=fail smtp.client-ip=52.101.129.58
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=jp2agSezBS/h2zzIFL9iOgwWNyDqUVPoRxI4FGRelPiDIb9mOf4ikHE2DGpcwEFxxKP0XZd8tYrRVjxpJPKqqjehEs34xqP708k+ezejl78oqKCABLxLx4RwtWK/4Fd5w1HeCyjnrbYKFLYSRZgzqdwNouNCgvucwpXzoApjjTUPP6kVpesv0RlHZkjWEwRMao/zitVu4SC6ymPttYawSHhxGIKcxsx4AsHi8qlPtYw015ZVWev22hLWmNhksizDfmYHgsy4tTyMtHyM6GVA27GRG6AOt6v42xql5nBpXdXLbTubjgLzR2O9uOUcsKejLvUysmwp0CDxe9X4fSsIAQ==
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=5HpYVYk4PyWS1P4Mm5dYgY+eyjqPgaj8plbNGJvWvJo=;
b=FryNtTUmSAkTmOPWARKXa0SF0x6n5cBea/PUZKO9nUvTKnLM2c2wJAqDD3zHUjXStEqBVCey7MNPavZcUnmoI39d4rogeHnoH7xbyj+/isFAqspEKq9sj6rocw0wS0svDU8E1aMSOqmK6rucwOPYnUJHvi/zjtiAjxg1LxvSXv/HpNx2GmSv4k+mHRWXNRyYK6l51WgZ8NABTtQiuP0F7ooe1SnYGp1H4rWRinriHlRNnLlBnSVNmnw8k0b9w0BrQ6Rq8g/MoHiaEM0xNx66LPE0aITvYdEglRLryCvTvbLSeUxKhVHdoDMJa5g+sYwuWEXXSbZqC8Q9lnzgLg0cOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com;
dkim=pass header.d=vivo.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=5HpYVYk4PyWS1P4Mm5dYgY+eyjqPgaj8plbNGJvWvJo=;
b=AHy/6okFYPB1X+6xoDg9xH1rGglsZZ0d1HZqSqidgaVNbMw2WUcctwZ2pJMbuwtOQrlFlhGwLNEtLVEUP9ur9GMibgtVl5vBVZ532Hu53k1kePomPRa6W0E1ZHbtaom6OAOSwJlUzGTCcuphtFoGKNdbijZ8U4EQ4/8Wns18MbW+nKyTB3ON155HRWbep8eQnTBX5GchVa67k7bu6judQi2izjPUURtn5Psr3TPGhL60NQxFMTXW9V2jfHnZ9i2JuN5PEDyH/UEWuJ3E+ZWxmhkmTeTUFRW08wAlRuJxRzPp69YzU4HPraeIK5STBc32Ge58bjh+OXWRyLS0kUWXng==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=vivo.com;
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6)
by JH0PR06MB6415.apcprd06.prod.outlook.com (2603:1096:990:14::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May
2025 07:56:48 +0000
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535%5]) with mapi id 15.20.8769.022; Fri, 30 May 2025
07:56:48 +0000
From: Yangtao Li <frank.li@xxxxxxxx>
To: slava@xxxxxxxxxxx,
glaubitz@xxxxxxxxxxxxxxxxxxx,
Yangtao Li <frank.li@xxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v3 2/3] hfs: correct superblock flags
Date: Fri, 30 May 2025 02:17:17 -0600
Message-Id: <20250530081719.2430291-2-frank.li@xxxxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250530081719.2430291-1-frank.li@xxxxxxxx>
References: <20250530081719.2430291-1-frank.li@xxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR04CA0009.apcprd04.prod.outlook.com
(2603:1096:4:197::8) To SEZPR06MB5269.apcprd06.prod.outlook.com
(2603:1096:101:78::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: SEZPR06MB5269:EE_|JH0PR06MB6415:EE_
X-MS-Office365-Filtering-Correlation-Id: 046140ea-6eff-45f3-2886-08dd9f4f876f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?nNeVq/wAgIgbJZU/8bsfePphstyp3aIbnwC9ysKSCM1297fftAuwgHoZaMaE?=
=?us-ascii?Q?oEIafnebUgk75AoEZ5FfM/ZKgFWklmdFwChsaGwQdw/4Y4ZADqtCOee8G13m?=
=?us-ascii?Q?OJsn4ZaMVR4bPKNHHhTooVVzceAmNwSJXYUxX8wr+xiIoRccIon3HzxcH/3U?=
=?us-ascii?Q?DEGMId1Hx2swK66NEx+Y4wx2OkDuXfAuT0NEmm+26lO5BE1GIvCyy8gbJfF0?=
=?us-ascii?Q?k9e7LOjdBGtHADgIn4MsDU63h+kvgb68wn8foE9qeB7YbikTSsBRsrCt3hMO?=
=?us-ascii?Q?XtvYrsZXEUU4ll1euAREMIRQgOOC8oXHwg10eaSQ2V3BtUsfYo93elISFdc4?=
=?us-ascii?Q?PQIl0wpdPc7ZRlwT8k1TDK04YCvrUG2yEYP7Y6O0pSmLgb8ITP4VvkUux+Bd?=
=?us-ascii?Q?O+2jGxMU9Zf+c7iJ2EZuIxYtiA49BgLxi9pkHUL0YPjxpatUHFn37tMFxSol?=
=?us-ascii?Q?0h8BN9dFRfGGn7wFxq5H/Jw8K7pxR/8DBeeRCLPgsTWJUIU7+BMFJ3OlZNkU?=
=?us-ascii?Q?MOMy67KaguTOcL8wTLHkvbzImMaCvLjP3vBVsVVp131vaPgvgdvEyJHp4+FL?=
=?us-ascii?Q?J7zcdIdbz2Y6VCps9QGpbrxxppLlebRKCNa4X9By8N5tm/xGdUv/I8//Fetq?=
=?us-ascii?Q?3+Tsv2Z/k7g9F5jdlek/QdCZxJ1Y19sswarnSUHVivfZg57ulbCe1yGvs4qJ?=
=?us-ascii?Q?o3buVB1WxXJjy3MVcleWANhXrsz1BcwqvuKy24L292vqv1cQ+Ss7NUwKaeeq?=
=?us-ascii?Q?bB42Mb/dAjaz2mjqLd3Hy12MoLzQkE6y08FO2p31OwxHKYQ3AkAXs7NCF3Hm?=
=?us-ascii?Q?rJliFgCSoaztTIiMTFRI7PvH7uBxmOO1Z2La+OoqfemgU8eb6fE0gIBfXXxd?=
=?us-ascii?Q?xcN/ou0n67/4htPj0SA0bTVlc4Qo7EVBPVJ8sO8HhSxf7PwQYXEQ2aDKCdK4?=
=?us-ascii?Q?oxTEeQ2uQPYyAw5dE98rjWoP3WNZILxHvWl53h+bWxd+od1SzSp9xMCjv8Bo?=
=?us-ascii?Q?rqN9iLoaJOL4Ldg5ldmdtadE/mpJPP4QRzesNEX5MraeVq7SAl53ZRelx+bO?=
=?us-ascii?Q?qd0WPC8YTt2A3l8haiwcmZ/4zMBpRQVaJA6CHm8YhsY21U5vz+7rR4XOcoHQ?=
=?us-ascii?Q?XoGnY6/RlERe8ytYNC40l9/gEetF1zZLTuBu9y0IZM4kKlHhPCWZQe/mWe/k?=
=?us-ascii?Q?m0kxZMlaqVC39Hcvj0mVrpBfJtLTf08s+esz3/lmoIUYhZeqKs29DMF5Gbf8?=
=?us-ascii?Q?Z9C8lVmA7du08wIWbL7GoD1NUJCHP9cl+Wa31rygcfYR1noZkCG0dtEH8d4w?=
=?us-ascii?Q?ZTmfQfnqnKeiNOteKKzEnwDSBfO+xCkGh+yy73jqp1VfFcddw+ie4VqtSFsP?=
=?us-ascii?Q?9CtWemmz7531HGvS4K7ooxQXNXDCLwwtaYYsMklDvktjJaxftD0OEbsKJwB6?=
=?us-ascii?Q?HWhw3DY8Za2mKheP+HOjuQXdkltd5KG0Rb9gUO8bOXGdwB1ApqTLVw=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?k9c9BNUN4XVBOCilt06XAuGPWp3cAAf4jRGTBnqnHNJBO66bz1lPTpcVZcyU?=
=?us-ascii?Q?3kwckNgU+3qNBmYVprUPhU2vwKWtiaV3T/S37owNFJWENbJYlbYfdFdhL7AU?=
=?us-ascii?Q?BjYsMMopHLSyhMoB+DsjlDrqg5KkJUrISwKO/cehjOf2YhytiJ5VqtT+6Cgy?=
=?us-ascii?Q?dLzO3je5+mk/EiEh27UEr7ZJPcFpmLa6Ewp8U/TJ/xXW/dqKjaMAHD2A93/g?=
=?us-ascii?Q?HBRHx8yWEsfb1Ecp6mDBqHjgBQsj3GnGyDC0syXajYl2+Drxogen+bZzbyM1?=
=?us-ascii?Q?sL0vwsqQc5bFxQ+jQKOi45XfUK1x3TXqNmOmLcaX/bvM9x0tr4SZM3lmppY6?=
=?us-ascii?Q?eejuXAJ35g/ue10f2yFTMce/8oBwV6ti9z8RGNRpkgzPGsa9anPwmLOUpnLY?=
=?us-ascii?Q?lUSsWudyO5GzniBJFUgoGHGViC2mOgR9eVQpvMLL8i4YvAPq/mndDZGi1UUd?=
=?us-ascii?Q?gYz76ubUGIazjMoGZN1uz17KeymrZaMRyg0mthHqwrrzs3XtXX0xs9lqq/rA?=
=?us-ascii?Q?8UMBw6GpmkIiE3a/MWIWwCFAu8VP6QIoFP8Ptir8ZcVOtIs9kTUUMv3VpUhJ?=
=?us-ascii?Q?GljtSnxQUSzyzTFWIZCUeukvf5p+i9RxczpZLKAs+M9qryxQwyqE3pZOZoMt?=
=?us-ascii?Q?/hyjszW3HYF7ZWUX24Ax0Hxbqy+gIlSCX6gIHi0OIrXMAbTu8hj0s6YCr55A?=
=?us-ascii?Q?EAL9f83qeVFoaZR789tGGPaRagEOo/9DvPbPofTpDVZPrcTJEMjTceJQQzq4?=
=?us-ascii?Q?A0MQIHE9d+TuEgGPAt9DY5adWnDklBJFQNPWWTxLftZksSqIV3/YWBE0INg9?=
=?us-ascii?Q?gtGE0qVNhvb2MVnuiuu1S/h9FVwig7Mc3q8sgyB0LoouiiMiw5pnwXyiM+cD?=
=?us-ascii?Q?aUzNSym26QyTyeekZGsM6VoqDbXHG1cydWXt2eSFoBR0ao6U5cOvB5SYjCJN?=
=?us-ascii?Q?b8Hjf+TbF84oHlGuEHuGPRBUGudK9EMatAisy4W0IyX5pyqmAd+qYSDm8Zv5?=
=?us-ascii?Q?v7Ft57jnr7NUAu9btYujL0svg2A5Hr5lGrCdmnukC1WMGmnKCCYYnsHgc0sS?=
=?us-ascii?Q?QGOEawNamJyKWo1UygCPgB9wn38cJFjTCN+LF1/B+72vP5vHhvXcaRLkG5oB?=
=?us-ascii?Q?O+fh9KFKfkV8ffybiCHMcbIttg//QcCF4guI9zDA82HMbA3fWkrS1ZCBl+dj?=
=?us-ascii?Q?KEjQJuG8T277Co7aXFTd+ZknwpbgI/pqHKlt1DOB90L6bFZhc4MkaJaGI/hT?=
=?us-ascii?Q?s8+doyWmLUSK6jzSKrwL/f6tXEqm2snO2Wzh5GPcyoctrWS/DGzfxbCclih+?=
=?us-ascii?Q?za0tITGEpXKL8WZboMn6dPPV43HAmY0L51L7ZL6+B2kXOIrzTEiDaVy9KtkR?=
=?us-ascii?Q?jVOiTykte8Op3ePoM0fI1SyUi/3zkoJ6PmHfG0TIogMti2+e3CvDX1tPyaYP?=
=?us-ascii?Q?UmDGS/o4lL+AnQZgp/R0t9N6aF3tPVZs9cAiYQH7iZEcxK+JUGVKYwRUI1Vy?=
=?us-ascii?Q?eYsUNwFdci9dF5BUN3AIsKp73f7AS2O4Z9LMFwxpVv3P5RxKSjBlV4zV3kaZ?=
=?us-ascii?Q?hUC8Qa9sGOlrPKKPCl0mWOQ8BsWFR/MEgyIlLQTO?=
X-OriginatorOrg: vivo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 046140ea-6eff-45f3-2886-08dd9f4f876f
X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:56:48.2419
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wE5KGqPTj+K2iAv8Wv2eCxqdeOz6ZnewqL7gUvvLbp70yfLws4PAacUIq9WuzdFWFMnJWsiR6vLwzqlcI1tWAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6415
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 don't support atime updates of any kind,
because hfs actually does not have atime.

dirCrDat: LongInt; {date and time of creation}
dirMdDat: LongInt; {date and time of last modification}
dirBkDat: LongInt; {date and time of last backup}

filCrDat: LongInt; {date and time of creation}
filMdDat: LongInt; {date and time of last modification}
filBkDat: LongInt; {date and time of last backup}

Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
---
fs/hfs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/hfs/super.c b/fs/hfs/super.c
index fe09c2093a93..9fab84b157b4 100644
--- a/fs/hfs/super.c
+++ b/fs/hfs/super.c
@@ -331,7 +331,7 @@ static int hfs_fill_super(struct super_block *sb, struct fs_context *fc)
sbi->sb = sb;
sb->s_op = &hfs_super_operations;
sb->s_xattr = hfs_xattr_handlers;
- sb->s_flags |= SB_NODIRATIME;
+ sb->s_flags |= SB_NOATIME;
mutex_init(&sbi->bitmap_lock);

res = hfs_mdb_get(sb);
--
2.48.1


Return-Path: <linux-kernel+bounces-667761-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 5F5FB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:57: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 B47339E652A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:57:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D05CF21885A;
Fri, 30 May 2025 07:56:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="hole45yL"
Received: from HK3PR03CU002.outbound.protection.outlook.com (mail-eastasiaazon11011058.outbound.protection.outlook.com [52.101.129.58])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15142217648;
Fri, 30 May 2025 07:56:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.129.58
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748591815; cv=fail; b=TWqCWbd6C7dE8XlszQLIPXJVhagU0f8UpGCuo48uOrUb6Ul0GnvagpDI75QE15SyD6sVsMx1f7EOJ5i1TyHNZBe7j5ECyLwauV0T6b7ZqChPmUslHQaoGJQFWZXqsDKVKZ2fraY1rcsG4TonesFquSGhuf4/tIowUo/hC+J3giw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591815; c=relaxed/simple;
bh=i42GsSuNuvP1aLmp3TW5ib5M08Qb7s+6i5htW1ywy7k=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
Content-Type:MIME-Version; b=pHNQQssroAHZoMQ8hP9kDf3mk70rzXK7imkKTDvSZRpxQgLGr9ZYY4Px5UG4Scu5WhlH86ipRTkNLYWDI9Q4J3ny7SWs7oPWew2RVJF9aII8mqTftXT2qGSieHzWPQ1sCHJtGNqOn30wV7qC6lpxqLy5fRWoSxudYurLuQbsFOM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=hole45yL; arc=fail smtp.client-ip=52.101.129.58
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Oe8iyyiF776J40+WiI72FIdF/kx49xGgG6vYLnWArdn+MXFxhqhhxRfiGG1rAvkZOcpyKK7a1s6nQH9V9aSjUPSpX3DlykiTe4yMJudRLz3lkYWVk9ctBlPN9uqT/P9biTIJ2S1sbx3uyaV4HGTNZx8OjCwi3ewc55mBSsy18KDakFfCNPzK3Prxeqeb6lzzosQWb3OeVvmwrAHZwRhe0PccFR38giJ/8AfueJRKog7lqvr5KsSRmo1q3J5E3uD52gL35JGYOYlL9TsEQm7hLuLPjAosDt5xY1SQHLXHODg6g9u6yv5wQfBoKG1eATlaffVQ431waGpDdxRFfcBQ4Q==
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=I4DxMMmWQnVc5zzchMYl8+vtCkz3OstMDvL44sl5MjY=;
b=fcdPqsqWFe2eDBmEvarDz62e0nDO8g53YVaU6pwDfiOr2rxHnp8Dyl513T8pyWG4LSG6VMNY01pvYXvxJQsNsbhSyrQkFCJMNoGRbn1Ji8t9kIyZA8xKYEdgXngP2T2lcZN2VzqfFjdAuDoAc8ft13Hloo6v0ZhmqFM7M6fPXdUX38ngqVSWvIGVRCy6KI3cYPAjakg13U/QZ6XXkqbTWmxLi/dsWeTofZ3aDcW9y1JW2rIin4zDkQUZUOhu6dG4grl1wnECH58SmbpGZzg73XEAiS1uT38xcD/Mo5GcwtwLzDW84ihs9po6xcpN1NugzGWNanDHk609rf0rkt+rrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com;
dkim=pass header.d=vivo.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=I4DxMMmWQnVc5zzchMYl8+vtCkz3OstMDvL44sl5MjY=;
b=hole45yLT7tv90BkztjWWl0EtqcON8mLW6ZqiRaINEPsbi0sb0gx52xpC+YeYsiAiODcCRh3RPDPE3wWO9VjJnBqdbDYnORB3oxPTeNpB8EoFWrGmxqGmrs0aOB4YNtar8OKIgiieo9/r0acBjC30bSWS0QzgmaE1S/xmXtG5Lgr+zG1pmGY7rhSoJRMWDiErDbOuSN5g7SuiQ8UKIf1NF+0DgOXLxXmREFXsctuf4NFWS6Cmbmu9NpMk5iXcGJJ+LtX7Q78wiD+JMIN0mXVpgx8KyDqQ8QCgnhnfcYzQ2BrlakMrRIgqWC5ftqGqcVNrcV3L7FbHMt/P1LkISXBDg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=vivo.com;
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6)
by JH0PR06MB6415.apcprd06.prod.outlook.com (2603:1096:990:14::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Fri, 30 May
2025 07:56:50 +0000
Received: from SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com
([fe80::8c74:6703:81f7:9535%5]) with mapi id 15.20.8769.022; Fri, 30 May 2025
07:56:50 +0000
From: Yangtao Li <frank.li@xxxxxxxx>
To: slava@xxxxxxxxxxx,
glaubitz@xxxxxxxxxxxxxxxxxxx,
Yangtao Li <frank.li@xxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v3 3/3] hfs: fix to update ctime after rename
Date: Fri, 30 May 2025 02:17:18 -0600
Message-Id: <20250530081719.2430291-3-frank.li@xxxxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250530081719.2430291-1-frank.li@xxxxxxxx>
References: <20250530081719.2430291-1-frank.li@xxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR04CA0009.apcprd04.prod.outlook.com
(2603:1096:4:197::8) To SEZPR06MB5269.apcprd06.prod.outlook.com
(2603:1096:101:78::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: SEZPR06MB5269:EE_|JH0PR06MB6415:EE_
X-MS-Office365-Filtering-Correlation-Id: aaab46d2-8431-4643-545b-08dd9f4f887b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?z5jeJWD7Ko5bOolRUkYYaftXf+TqgpMtCDmWeZ9M/VAb0o8vPlD3p0PyaT/D?=
=?us-ascii?Q?IDPOzLbCZKyrDcUODbusjjyTOYVvcWgDzMAr+hqGu6NBptU+GwVSWgMNLpgP?=
=?us-ascii?Q?OeqB3RRzmPkCqakruC+x/zEPcMhoSnrPoJSfV9Y8u7zS8Czq35WZbSi6ViyR?=
=?us-ascii?Q?TRfaOQ9qaYFT4qBMyPXtTibDLrhS2CL4RMevvykVYVUCyOyX7CotvEu276+s?=
=?us-ascii?Q?fuOzeEhUyp9/Prj3hCumHVTIJYTPsbRb278TRbnjOdq3f8pvAwQSjZjG50C7?=
=?us-ascii?Q?yK/qTD4dhLsA6sNlVy+AU0bpGV/nFrs51aSa4ijgU8EJUAKxT5ofScnxoLWq?=
=?us-ascii?Q?Lu7wRmIVU1mXPE9kaIWdRSXudDL5QCfu/DMbQzdyVFWVyjMNwFJ2W0G5/CJD?=
=?us-ascii?Q?CQQ2TOf1o4+NCDrPgZhjjOSGxFQTxOrv7dJdrA6XrRDeRjoPgBtOzB+IOnts?=
=?us-ascii?Q?zSAhPNbPeiZtKswU3XtZ8eUsvVPesck8M0uic3y/LvHgCObjbJbd16QriaBX?=
=?us-ascii?Q?JeZsz4TTn3zAM6sNy75+w2WvIoQ23srk6pB/SbLqOi80NWSaCkNLBmLrSjLV?=
=?us-ascii?Q?yaLr2w4XZx6aptBuGQpKEjpd8I/MewX30w/8n6gBBxe65mMcbgOzAoQYY0On?=
=?us-ascii?Q?FnmWI1ahM2Ueos93wUPDZq8JHugdkotR12WRp0S6rHT4EBtWA9e1+IM1Rm1i?=
=?us-ascii?Q?pCPs5v9QCwS66/wxCM5MyY/3o7Os8aMlbUpTdh2zXYiBKwGxwC5up0E354/C?=
=?us-ascii?Q?Tby+BRmquJ3rPi8njhhtA47kGtJQAG9FfZR8c4rVNZk0jD5mVCCuJgzkQNK8?=
=?us-ascii?Q?dHmYY2/ljy3MCuMXMwF4efEwSXKd/zIoRYx2nzQS6LY1UM22JszBAi+A7lWA?=
=?us-ascii?Q?ohOQuGyT4yEb1Q0agQKPB2Cxnd4TNghhyvXl4CyP7G9DDF5zmjJhZP64JmYw?=
=?us-ascii?Q?yxXpbhUcraKPRMgXtL6vaMfVPeEJW/HKgYp196a+ya1iVxWpit8w92TE7Wh5?=
=?us-ascii?Q?S1F9SmFr1L4GIcyegCyZRuMibPpHYSvxfVIYf1pWNFh/4Jgf/2tGWymlAb4K?=
=?us-ascii?Q?z+7BQJkW9NpCZGWQigC74aR4x3y4BKcUInz7wjReQgI9zLxDk+vufSodgWjG?=
=?us-ascii?Q?hZzCRK1XfZOAybM4uakKIBQZ1efqIFTFDcG0xUHga+7wMA/q7rmLSCjrMVzv?=
=?us-ascii?Q?FLOw4oCjV0POLjOtUiAizoyWPgISWgPKAkjd3/zKGDpkMfTks/Tqk4qJ30m5?=
=?us-ascii?Q?oVuhvtUebT2FtJKy5mnPpma/+ArpL16TKTj9ZugFWYP/3nI265DLiHh5RKD1?=
=?us-ascii?Q?T8wK4kPxEdssHgDDhexPO5Y3BEM5bgfVx6gbQOJbLu/c9d2EZoLH3hBqnNOE?=
=?us-ascii?Q?4W9NOdlPBfziZP42H9DMOf8kfDik81APGBmo1XUagE7nGj2mwAupJtR7MA8z?=
=?us-ascii?Q?zR7VTNlDc8B9GadQRP0p81wbRzsSpJvOiqm2gthYkGkXU4FXIL4fkQ=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?xdMYOjFxoZczgMFAWrryQiO+i8NnTs+hc6fhGqC9hf+c0GgO4+VNR3k7exBe?=
=?us-ascii?Q?X1rmpkcQwJxMBqffBjIjJQsRVoBIkpvI0lMoCRWjjGVUrVii72dvMmaC7KOZ?=
=?us-ascii?Q?htIlXv4qDkshTx1grxcwWQgSx7Sh+1Scwal7mKFMFSCXxxQZsub6JAKbziYT?=
=?us-ascii?Q?VK9JggEXgLNHCePMxG3bbeNff49IOXlyQCIf76oy7QF/LKzfQO2D9U8FksNp?=
=?us-ascii?Q?pDJGfEFGN0/c5uTHhfnIrADQaWtw32yfPo/zJ4yaEYBxeID33iUa6aoug2iH?=
=?us-ascii?Q?urDo5yNVQgxGoaccXJa1RHe8qmpXgFXGOGaDi5kE082Bdf6itBbacsF1f4rR?=
=?us-ascii?Q?0pbm/f1wVkFkUYuAwraNKaEfgDoZDjtTAXQw5QnK5LMYlNTkZnu53OqFJj5X?=
=?us-ascii?Q?VvNghQRkg71247mBbxY8c5dNL4E2XbfA+2n4TwpxNYhw+BxzWIWnZNNXsPNv?=
=?us-ascii?Q?cVCI9AqXNWMR5yPcPBbnj7qyb8PnBsWeJpAWStTHUnXcsID4mvnYU7939aV3?=
=?us-ascii?Q?1fTVWGfg78wp5IPoADgavsG7Dy1W4UAlenBo8kdn5Y0r5uR3cGpkuotf+2/G?=
=?us-ascii?Q?mSKNLY+XWorMFyclxsqJ0x50hdywel/DYSyHo/WSzJRd/DhrymUPIqpbmUJE?=
=?us-ascii?Q?UDkrHyeCIhwLLJhDREabaKdlXpLPoQKoMD39ZUVj6SZZzKXfEL/2m7/+qvgt?=
=?us-ascii?Q?2vAlIYl5MwtPZZB59IfNwjyx+7lXI7rz5chYNJr0R+MrCaqpfkNEIYcYrwDD?=
=?us-ascii?Q?NDn4ECUX7PH6vbwgp2woV2/ZO5r0I8cx54Dvz8j1MCRQWnD2ojf0B/HxgUya?=
=?us-ascii?Q?gbEXrSO2UY8bKixqjLlPn6X9mWg2eZiFqEMGGjN97FPKYQvbZOQjtWPBS8Pn?=
=?us-ascii?Q?9XDQXlC1sZU/QegZsHK9ZiEHqu1lz4kGEMOIhJel/2flkqD8SFL9uiry5EOj?=
=?us-ascii?Q?zhNNHFEQwPYzNhPnO3U7dHenDSd9+UgoqADWUzti2z1dN2SY0bG/XOzvz888?=
=?us-ascii?Q?SKuxbx9HF/oXVlAJqrDk5YE2El46CJx/i1zw0wvZnKRSmPX4mweajgUC5MtG?=
=?us-ascii?Q?tRl1ik9OR/eUhnvG46iBfNnjzhXDTwJOFlq3NOb1msnpYJTxnR7rZKWnUa8g?=
=?us-ascii?Q?2N/FgKGVFgOeeaOAM+aKbzo5LkqqtaLHut/Y8dmIA2CdoB868fcdgMPHImGR?=
=?us-ascii?Q?5i6KrX9r+nprCnqXwWz5v/3iMLY8P43YeAEUKoCEaIYY0kqXpN98QGAR5n1t?=
=?us-ascii?Q?eTnGuraHiOWN4n+x8oYzYURbfwq5EPZAgK/CsQpLMXkznefpxxxg/uj7UZX/?=
=?us-ascii?Q?sk6C3qZlAK4OvUGQYhaTVFiwRAY5E4QV/ANo+48R9F8OVLZZBlyyEG/ZocYZ?=
=?us-ascii?Q?X1nCWWgzwzDoHkbh2mNw838prXGx8M6Gcm4KoTg1SAF60WvxEwiFjCoXpxoB?=
=?us-ascii?Q?l2h1J64pkcTmac9w+WitTs1A850Vmpkw0oTW5Jy1hHSwrLIj1K4Kl19/M/YQ?=
=?us-ascii?Q?SFSAa5wAxaJDc2E95oDDuj4mmyHA5PAQbtSywbNTUqU6EJJFdUM4JJy74BcT?=
=?us-ascii?Q?8koW+lXIODh/onaLzhj/2l9HarHgepa/hWpeizvk?=
X-OriginatorOrg: vivo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aaab46d2-8431-4643-545b-08dd9f4f887b
X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2025 07:56:49.9468
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RT1K22Tbq1l4/66MCzAY7ySyltg9+OLncUyfQpZq1kAv8Z+mZqt7K6XBhTYiYz1xUvI5uS8KxcUxKTxG2/3JTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6415
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

Similar to hfsplus, let's update file ctime after the rename operation
in hfs_rename().

W/O patch(xfstest generic/003):

+ERROR: access time has not been updated after accessing file1 first time
+ERROR: access time has not been updated after accessing file2
+ERROR: access time has changed after modifying file1
+ERROR: change time has not been updated after changing file1
+ERROR: access time has not been updated after accessing file3 second time
+ERROR: access time has not been updated after accessing file3 third time

W/ patch(xfstest generic/003):

+ERROR: access time has not been updated after accessing file1 first time
+ERROR: access time has not been updated after accessing file2
+ERROR: access time has changed after modifying file1
+ERROR: access time has not been updated after accessing file3 second time
+ERROR: access time has not been updated after accessing file3 third time

Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
---
fs/hfs/dir.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index 86a6b317b474..756ea7b895e2 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -284,6 +284,7 @@ static int hfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
struct dentry *old_dentry, struct inode *new_dir,
struct dentry *new_dentry, unsigned int flags)
{
+ struct inode *inode = d_inode(old_dentry);
int res;

if (flags & ~RENAME_NOREPLACE)
@@ -296,14 +297,16 @@ static int hfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
return res;
}

- res = hfs_cat_move(d_inode(old_dentry)->i_ino,
- old_dir, &old_dentry->d_name,
+ res = hfs_cat_move(inode->i_ino, old_dir, &old_dentry->d_name,
new_dir, &new_dentry->d_name);
- if (!res)
- hfs_cat_build_key(old_dir->i_sb,
- (btree_key *)&HFS_I(d_inode(old_dentry))->cat_key,
- new_dir->i_ino, &new_dentry->d_name);
- return res;
+ if (res)
+ return res;
+
+ hfs_cat_build_key(old_dir->i_sb, (btree_key *)&HFS_I(inode)->cat_key,
+ new_dir->i_ino, &new_dentry->d_name);
+ inode_set_ctime_current(inode);
+ mark_inode_dirty(inode);
+ return 0;
}

const struct file_operations hfs_dir_operations = {
--
2.48.1


Return-Path: <linux-kernel+bounces-667762-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 444A641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 03:59: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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 44B493A90BC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:58:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B1564213245;
Fri, 30 May 2025 07:59:14 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E0FF81DE4C8
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 07:59:09 +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=1748591953; cv=none; b=dSo2zLQtHkueZmEwk3SkL08VcLZD54H+nL5JuK3MPe+n3hDEEuZYejMGt4RTRlepsd9qJHxMSK7+Q6yjCc09tGZ/DUV2zQQk376jcOpUOk9d+eKocfjB9L3JFWkbOaZACWrmfiO37o0Tbe27aoRbQWrSscSYjZpIa8794jJg644=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748591953; c=relaxed/simple;
bh=YV9A+aCd8kZIml2euQwLNMojr/1w4iZnzqSnsh6zKwU=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Mt2B6MZngp7XeQrh80Ye74U67ev+NE7ifAIZ3DKOxXKJUalGPEowSdatHl7mpRdVFbpTWkTdsuSKWdA/JMM7fkOdOc5ECYrZwj04LieayR39EKJTNJgyBt7YsdDLfNm9jvHOgPRBX0IAcdJqjPSeEqPNiv9M9h9enW3u60oj5Bw=
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 6E68216F8;
Fri, 30 May 2025 00:58:52 -0700 (PDT)
Received: from [10.57.95.14] (unknown [10.57.95.14])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 92FE63F694;
Fri, 30 May 2025 00:59:06 -0700 (PDT)
Message-ID: <ca1673c4-1c8d-40d5-bc40-abc6489b2fdd@xxxxxxx>
Date: Fri, 30 May 2025 08:59:04 +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: [v3 PATCH 0/6] arm64: support FEAT_BBM level 2 and large block
mapping when rodata=full
Content-Language: en-GB
To: Yang Shi <yang@xxxxxxxxxxxxxxxxxxxxxx>, will@xxxxxxxxxx,
catalin.marinas@xxxxxxx, Miko.Lenczewski@xxxxxxx,
scott@xxxxxxxxxxxxxxxxxxxxxx, cl@xxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Dev Jain <dev.jain@xxxxxxx>
References: <20250304222018.615808-1-yang@xxxxxxxxxxxxxxxxxxxxxx>
<4794885d-2e17-4bd8-bdf3-8ac37047e8ee@xxxxxxxxxxxxxxxxxxxxxx>
<5c6d9706-7684-4288-b630-c60b3766b13f@xxxxxxx>
<4d02978c-03c0-48fe-84eb-0f3fa0c54fea@xxxxxxxxxxxxxxxxxxxxxx>
<912c3126-8ba7-4c3a-b168-438f92e89217@xxxxxxx>
<2ab5f65c-b9dc-471c-9b61-70d765af285e@xxxxxxxxxxxxxxxxxxxxxx>
<239d4e93-7ab6-4fc9-b907-7ca9d71f81fd@xxxxxxx>
<1141d96c-f785-48ee-a0f6-9ec658cc11c2@xxxxxxxxxxxxxxxxxxxxxx>
<9cdb027c-27db-4195-825d-1d63bec1b69b@xxxxxxxxxxxxxxxxxxxxxx>
<e3e6a3e0-3012-4d95-9236-4b4d57c7974c@xxxxxxx>
<0769dbcb-bd9e-4c36-b2c1-a624abaeb5ce@xxxxxxxxxxxxxxxxxxxxxx>
<f31792bf-3b54-408c-9deb-7058a79c60d4@xxxxxxx>
<a27776ed-4b45-4269-9e3c-5ca1463e4841@xxxxxxxxxxxxxxxxxxxxxx>
<bfae581e-3988-44b5-af5e-8e2de4db68ed@xxxxxxx>
<cc1522f8-85b9-48e5-951f-9a1bb2075918@xxxxxxxxxxxxxxxxxxxxxx>
<e0960267-0dd5-412a-be54-1afaacc6bace@xxxxxxx>
<4b2278d8-d627-47af-ae90-9d62ad249c88@xxxxxxxxxxxxxxxxxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <4b2278d8-d627-47af-ae90-9d62ad249c88@xxxxxxxxxxxxxxxxxxxxxx>
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 autolearn=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 29/05/2025 21:52, Yang Shi wrote:
>>>>>>> The split_mapping() guarantees keep block mapping if it is fully
>>>>>>> contained in
>>>>>>> the range between start and end, this is my series's responsibility. I know
>>>>>>> the
>>>>>>> current code calls apply_to_page_range() to apply permission change and it
>>>>>>> just
>>>>>>> does it on PTE basis. So IIUC Dev's series will modify it or provide a new
>>>>>>> API,
>>>>>>> then __change_memory_common() will call it to change permission. There
>>>>>>> should be
>>>>>>> some overlap between mine and Dev's, but I don't see strong dependency.
>>>>>> But if you have a block mapping in the region you are calling
>>>>>> __change_memory_common() on, today that will fail because it can only handle
>>>>>> page mappings.
>>>>> IMHO letting __change_memory_common() manipulate on contiguous address
>>>>> range is
>>>>> another story and should be not a part of the split primitive.
>>>> I 100% agree that it should not be part of the split primitive.
>>>>
>>>> But your series *depends* upon __change_memory_common() being able to change
>>>> permissions on block mappings. Today it can only change permissions on page
>>>> mappings.
>>> I don't think split primitive depends on it. Changing permission on block
>>> mappings is just the user of the new split primitive IMHO. We just have no real
>>> user right now.
>> But your series introduces a real user; after your series, the linear map is
>> block mapped.
>
> The users of the split primitive are the permission changers, for example,
> module, bpf, secret mem, etc.

Ahh, perhaps this is the crux of our misunderstanding... In my model, the split
primitive is called from __change_memory_common() (or from other appropriate
functions in pageattr.c). It's an implementation detail for arm64 and is not
exposed to common code. arm64 knows that it can split live mappings in a
transparent way so it uses huge pages eagerly and splits on demand.

I personally wouldn't want to be relying on the memory user knowing it needs to
split the mappings...

>
>>
>> Anyway, I think we are talking past eachother. Let's continue the conversation
>> in the context of your next version of the code.
>
> Yeah, sure.
>
> Thanks,
> Yang
>
>>
>>>> Your original v1 series solved this by splitting *all* of the mappings in a
>>>> given range to page mappings before calling __change_memory_common(), right?
>>> Yes, but if the range is contiguous, the new split primitive doesn't have to
>>> split to page mappings.
>>>
>>>> Remember it's not just vmalloc areas that are passed to
>>>> __change_memory_common(); virtually contiguous linear map regions can be passed
>>>> in as well. See (for example) set_direct_map_invalid_noflush(),
>>>> set_direct_map_default_noflush(), set_direct_map_valid_noflush(),
>>>> __kernel_map_pages(), realm_set_memory_encrypted(),
>>>> realm_set_memory_decrypted().
>>> Yes, no matter who the caller is, as long as the caller passes in contiguous
>>> address range, the split primitive can keep block mappings.
>>>
>>>>
>>>>> For example, we need to use vmalloc_huge() instead of vmalloc() to allocate
>>>>> huge
>>>>> memory, then does:
>>>>> split_mapping(start, start+HPAGE_PMD_SIZE);
>>>>> change_permission(start, start+HPAGE_PMD_SIZE);
>>>>>
>>>>> The split primitive will guarantee (start, start+HPAGE_PMD_SIZE) is kept as
>>>>> PMD
>>>>> mapping so that change_permission() can change it on PMD basis too.
>>>>>
>>>>> But this requires other kernel subsystems, for example, module, to allocate
>>>>> huge
>>>>> memory with proper APIs, for example, vmalloc_huge().
>>>> The longer term plan is to have vmalloc() always allocate using the
>>>> VM_ALLOW_HUGE_VMAP flag on systems that support BBML2. So there will be no need
>>>> to migrate users to vmalloc_huge(). We will just detect if we can split live
>>>> mappings safely and use huge mappings in that case.
>>> Anyway this is the potential user of the new split primitive.
>>>
>>> Thanks,
>>> Yang
>>>
>>>> Thanks,
>>>> Ryan
>>>>
>>>>> Thanks,
>>>>> Yang
>>>>>
>>>>>>>> Regarding the linear map repainting, I had a chat with Catalin, and he
>>>>>>>> reminded
>>>>>>>> me of a potential problem; if you are doing the repainting with the machine
>>>>>>>> stopped, you can't allocate memory at that point; it's possible a CPU was
>>>>>>>> inside
>>>>>>>> the allocator when it stopped. And I think you need to allocate
>>>>>>>> intermediate
>>>>>>>> pgtables, right? Do you have a solution to that problem? I guess one
>>>>>>>> approach
>>>>>>>> would be to figure out how much memory you will need and pre-allocate
>>>>>>>> prior to
>>>>>>>> stoping the machine?
>>>>>>> OK, I don't remember we discussed this problem before. I think we can do
>>>>>>> something like what kpti does. When creating the linear map we know how
>>>>>>> many PUD
>>>>>>> and PMD mappings are created, we can record the number, it will tell how
>>>>>>> many
>>>>>>> pages we need for repainting the linear map.
>>>>>> I saw a separate reply you sent for this. I'll read that and respond in that
>>>>>> context.
>>>>>>
>>>>>> Thanks,
>>>>>> Ryan
>>>>>>
>>>>>>>>> So I plan to post v4 patches to the mailing list. We can focus on
>>>>>>>>> reviewing
>>>>>>>>> the
>>>>>>>>> split primitive and linear map repainting. Does it sound good to you?
>>>>>>>> That works assuming you have a solution for the above.
>>>>>>> I think the only missing part is preallocating page tables for repainting. I
>>>>>>> will add this, then post the new spin to the mailing list.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Yang
>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Ryan
>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Yang
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 5/7/25 2:16 PM, Yang Shi wrote:
>>>>>>>>>> On 5/7/25 12:58 AM, Ryan Roberts wrote:
>>>>>>>>>>> On 05/05/2025 22:39, Yang Shi wrote:
>>>>>>>>>>>> On 5/2/25 4:51 AM, Ryan Roberts wrote:
>>>>>>>>>>>>> On 14/04/2025 22:24, Yang Shi wrote:
>>>>>>>>>>>>>> On 4/14/25 6:03 AM, Ryan Roberts wrote:
>>>>>>>>>>>>>>> On 10/04/2025 23:00, Yang Shi wrote:
>>>>>>>>>>>>>>>> Hi Ryan,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I know you may have a lot of things to follow up after LSF/MM. Just
>>>>>>>>>>>>>>>> gently
>>>>>>>>>>>>>>>> ping,
>>>>>>>>>>>>>>>> hopefully we can resume the review soon.
>>>>>>>>>>>>>>> Hi, I'm out on holiday at the moment, returning on the 22nd
>>>>>>>>>>>>>>> April. But
>>>>>>>>>>>>>>> I'm very
>>>>>>>>>>>>>>> keen to move this series forward so will come back to you next week.
>>>>>>>>>>>>>>> (although
>>>>>>>>>>>>>>> TBH, I thought I was waiting for you to respond to me... :-| )
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> FWIW, having thought about it a bit more, I think some of the
>>>>>>>>>>>>>>> suggestions I
>>>>>>>>>>>>>>> previously made may not have been quite right, but I'll elaborate
>>>>>>>>>>>>>>> next
>>>>>>>>>>>>>>> week.
>>>>>>>>>>>>>>> I'm
>>>>>>>>>>>>>>> keen to build a pgtable splitting primitive here that we can reuse
>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>> vmalloc
>>>>>>>>>>>>>>> as well to enable huge mappings by default with vmalloc too.
>>>>>>>>>>>>>> Sounds good. I think the patches can support splitting vmalloc page
>>>>>>>>>>>>>> table
>>>>>>>>>>>>>> too.
>>>>>>>>>>>>>> Anyway we can discuss more after you are back. Enjoy your holiday.
>>>>>>>>>>>>> Hi Yang,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Sorry I've taken so long to get back to you. Here's what I'm currently
>>>>>>>>>>>>> thinking:
>>>>>>>>>>>>> I'd eventually like to get to the point where the linear map and most
>>>>>>>>>>>>> vmalloc
>>>>>>>>>>>>> memory is mapped using the largest possible mapping granularity (i.e.
>>>>>>>>>>>>> block
>>>>>>>>>>>>> mappings at PUD/PMD, and contiguous mappings at PMD/PTE level).
>>>>>>>>>>>>>
>>>>>>>>>>>>> vmalloc has history with trying to do huge mappings by default; it
>>>>>>>>>>>>> ended up
>>>>>>>>>>>>> having to be turned into an opt-in feature (instead of the original
>>>>>>>>>>>>> opt-out
>>>>>>>>>>>>> approach) because there were problems with some parts of the kernel
>>>>>>>>>>>>> expecting
>>>>>>>>>>>>> page mappings. I think we might be able to overcome those issues on
>>>>>>>>>>>>> arm64
>>>>>>>>>>>>> with
>>>>>>>>>>>>> BBML2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> arm64 can already support vmalloc PUD and PMD block mappings, and I
>>>>>>>>>>>>> have a
>>>>>>>>>>>>> series (that should make v6.16) that enables contiguous PTE
>>>>>>>>>>>>> mappings in
>>>>>>>>>>>>> vmalloc
>>>>>>>>>>>>> too. But these are currently limited to when VM_ALLOW_HUGE is
>>>>>>>>>>>>> specified.
>>>>>>>>>>>>> To be
>>>>>>>>>>>>> able to use that by default, we need to be able to change
>>>>>>>>>>>>> permissions on
>>>>>>>>>>>>> sub-regions of an allocation, which is where BBML2 and your series
>>>>>>>>>>>>> come
>>>>>>>>>>>>> in.
>>>>>>>>>>>>> (there may be other things we need to solve as well; TBD).
>>>>>>>>>>>>>
>>>>>>>>>>>>> I think the key thing we need is a function that can take a page-
>>>>>>>>>>>>> aligned
>>>>>>>>>>>>> kernel
>>>>>>>>>>>>> VA, will walk to the leaf entry for that VA and if the VA is in the
>>>>>>>>>>>>> middle of
>>>>>>>>>>>>> the leaf entry, it will split it so that the VA is now on a boundary.
>>>>>>>>>>>>> This
>>>>>>>>>>>>> will
>>>>>>>>>>>>> work for PUD/PMD block entries and contiguous-PMD/contiguous-PTE
>>>>>>>>>>>>> entries.
>>>>>>>>>>>>> The
>>>>>>>>>>>>> function can assume BBML2 is present. And it will return 0 on
>>>>>>>>>>>>> success, -
>>>>>>>>>>>>> EINVAL
>>>>>>>>>>>>> if the VA is not mapped or -ENOMEM if it couldn't allocate a
>>>>>>>>>>>>> pgtable to
>>>>>>>>>>>>> perform
>>>>>>>>>>>>> the split.
>>>>>>>>>>>> OK, the v3 patches already handled page table allocation failure with
>>>>>>>>>>>> returning
>>>>>>>>>>>> -ENOMEM and BUG_ON if it is not mapped because kernel assumes linear
>>>>>>>>>>>> mapping
>>>>>>>>>>>> should be always present. It is easy to return -EINVAL instead of
>>>>>>>>>>>> BUG_ON.
>>>>>>>>>>>> However I'm wondering what usecases you are thinking about? Splitting
>>>>>>>>>>>> vmalloc
>>>>>>>>>>>> area may run into unmapped VA?
>>>>>>>>>>> I don't think BUG_ON is the right behaviour; crashing the kernel
>>>>>>>>>>> should be
>>>>>>>>>>> discouraged. I think even for vmalloc under correct conditions we
>>>>>>>>>>> shouldn't
>>>>>>>>>>> see
>>>>>>>>>>> any unmapped VA. But vmalloc does handle it gracefully today; see (e.g.)
>>>>>>>>>>> vunmap_pmd_range() which skips the pmd if its none.
>>>>>>>>>>>
>>>>>>>>>>>>> Then we can use that primitive on the start and end address of any
>>>>>>>>>>>>> range for
>>>>>>>>>>>>> which we need exact mapping boundaries (e.g. when changing
>>>>>>>>>>>>> permissions on
>>>>>>>>>>>>> part
>>>>>>>>>>>>> of linear map or vmalloc allocation, when freeing part of a vmalloc
>>>>>>>>>>>>> allocation,
>>>>>>>>>>>>> etc). This way we only split enough to ensure the boundaries are
>>>>>>>>>>>>> precise,
>>>>>>>>>>>>> and
>>>>>>>>>>>>> keep larger mappings inside the range.
>>>>>>>>>>>> Yeah, makes sense to me.
>>>>>>>>>>>>
>>>>>>>>>>>>> Next we need to reimplement __change_memory_common() to not use
>>>>>>>>>>>>> apply_to_page_range(), because that assumes page mappings only. Dev
>>>>>>>>>>>>> Jain has
>>>>>>>>>>>>> been working on a series that converts this to use
>>>>>>>>>>>>> walk_page_range_novma() so
>>>>>>>>>>>>> that we can change permissions on the block/contig entries too.
>>>>>>>>>>>>> That's not
>>>>>>>>>>>>> posted publicly yet, but it's not huge so I'll ask if he is
>>>>>>>>>>>>> comfortable
>>>>>>>>>>>>> with
>>>>>>>>>>>>> posting an RFC early next week.
>>>>>>>>>>>> OK, so the new __change_memory_common() will change the permission of
>>>>>>>>>>>> page
>>>>>>>>>>>> table, right?
>>>>>>>>>>> It will change permissions of all the leaf entries in the range of VAs
>>>>>>>>>>> it is
>>>>>>>>>>> passed. Currently it assumes that all the leaf entries are PTEs. But we
>>>>>>>>>>> will
>>>>>>>>>>> generalize to support all the other types of leaf entries too.,
>>>>>>>>>>>
>>>>>>>>>>>> If I remember correctly, you suggested change permissions in
>>>>>>>>>>>> __create_pgd_mapping_locked() for v3. So I can disregard it?
>>>>>>>>>>> Yes I did. I think this made sense (in my head at least) because in the
>>>>>>>>>>> context
>>>>>>>>>>> of the linear map, all the PFNs are contiguous so it kind-of makes
>>>>>>>>>>> sense to
>>>>>>>>>>> reuse that infrastructure. But it doesn't generalize to vmalloc because
>>>>>>>>>>> vmalloc
>>>>>>>>>>> PFNs are not contiguous. So for that reason, I think it's preferable to
>>>>>>>>>>> have an
>>>>>>>>>>> independent capability.
>>>>>>>>>> OK, sounds good to me.
>>>>>>>>>>
>>>>>>>>>>>> The current code assumes the address range passed in by
>>>>>>>>>>>> change_memory_common()
>>>>>>>>>>>> is *NOT* physically contiguous so __change_memory_common() handles page
>>>>>>>>>>>> table
>>>>>>>>>>>> permission on page basis. I'm supposed Dev's patches will handle this
>>>>>>>>>>>> then my
>>>>>>>>>>>> patch can safely assume the linear mapping address range for
>>>>>>>>>>>> splitting is
>>>>>>>>>>>> physically contiguous too otherwise I can't keep large mappings inside
>>>>>>>>>>>> the
>>>>>>>>>>>> range. Splitting vmalloc area doesn't need to worry about this.
>>>>>>>>>>> I'm not sure I fully understand the point you're making here...
>>>>>>>>>>>
>>>>>>>>>>> Dev's series aims to use walk_page_range_novma() similar to riscv's
>>>>>>>>>>> implementation so that it can walk a VA range and update the
>>>>>>>>>>> permissions on
>>>>>>>>>>> each
>>>>>>>>>>> leaf entry it visits, regadless of which level the leaf entry is at.
>>>>>>>>>>> This
>>>>>>>>>>> doesn't make any assumption of the physical contiguity of neighbouring
>>>>>>>>>>> leaf
>>>>>>>>>>> entries in the page table.
>>>>>>>>>>>
>>>>>>>>>>> So if we are changing permissions on the linear map, we have a range of
>>>>>>>>>>> VAs to
>>>>>>>>>>> walk and convert all the leaf entries, regardless of their size. The
>>>>>>>>>>> same
>>>>>>>>>>> goes
>>>>>>>>>>> for vmalloc... But for vmalloc, we will also want to change the
>>>>>>>>>>> underlying
>>>>>>>>>>> permissions in the linear map, so we will have to figure out the
>>>>>>>>>>> contiguous
>>>>>>>>>>> pieces of the linear map and call __change_memory_common() for each;
>>>>>>>>>>> there is
>>>>>>>>>>> definitely some detail to work out there!
>>>>>>>>>> Yes, this is my point. When changing underlying linear map permission for
>>>>>>>>>> vmalloc, the linear map address may be not contiguous. This is why
>>>>>>>>>> change_memory_common() calls __change_memory_common() on page basis.
>>>>>>>>>>
>>>>>>>>>> But how Dev's patch work should have no impact on how I implement the
>>>>>>>>>> split
>>>>>>>>>> primitive by thinking it further. It should be the caller's
>>>>>>>>>> responsibility to
>>>>>>>>>> make sure __create_pgd_mapping_locked() is called for contiguous
>>>>>>>>>> linear map
>>>>>>>>>> address range.
>>>>>>>>>>
>>>>>>>>>>>>> You'll still need to repaint the whole linear map with page mappings
>>>>>>>>>>>>> for the
>>>>>>>>>>>>> case !BBML2 case, but I'm hoping __create_pgd_mapping_locked()
>>>>>>>>>>>>> (potentially
>>>>>>>>>>>>> with
>>>>>>>>>>>>> minor modifications?) can do that repainting on the live mappings;
>>>>>>>>>>>>> similar to
>>>>>>>>>>>>> how you are doing it in v3.
>>>>>>>>>>>> Yes, when repainting I need to split the page table all the way down
>>>>>>>>>>>> to PTE
>>>>>>>>>>>> level. A simple flag should be good enough to tell
>>>>>>>>>>>> __create_pgd_mapping_locked()
>>>>>>>>>>>> do the right thing off the top of my head.
>>>>>>>>>>> Perhaps it may be sufficient to reuse the NO_BLOCK_MAPPINGS and
>>>>>>>>>>> NO_CONT_MAPPINGS
>>>>>>>>>>> flags? For example, if you are find a leaf mapping and
>>>>>>>>>>> NO_BLOCK_MAPPINGS is
>>>>>>>>>>> set,
>>>>>>>>>>> then you need to split it?
>>>>>>>>>> Yeah, sounds feasible. Anyway I will figure it out.
>>>>>>>>>>
>>>>>>>>>>>>> Miko's BBML2 series should hopefully get imminently queued for v6.16.
>>>>>>>>>>>> Great! Anyway my series is based on his advertising BBML2 patch.
>>>>>>>>>>>>
>>>>>>>>>>>>> So in summary, what I'm asking for your large block mapping the
>>>>>>>>>>>>> linear map
>>>>>>>>>>>>> series is:
>>>>>>>>>>>>>         - Paint linear map using blocks/contig if boot CPU supports
>>>>>>>>>>>>> BBML2
>>>>>>>>>>>>>         - Repaint linear map using page mappings if secondary CPUs
>>>>>>>>>>>>> don't
>>>>>>>>>>>>> support BBML2
>>>>>>>>>>>> OK, I just need to add some simple tweak to split down to PTE level to
>>>>>>>>>>>> v3.
>>>>>>>>>>>>
>>>>>>>>>>>>>         - Integrate Dev's __change_memory_common() series
>>>>>>>>>>>> OK, I think I have to do my patches on top of it. Because Dev's patch
>>>>>>>>>>>> need
>>>>>>>>>>>> guarantee the linear mapping address range is physically contiguous.
>>>>>>>>>>>>
>>>>>>>>>>>>>         - Create primitive to ensure mapping entry boundary at a given
>>>>>>>>>>>>> page-
>>>>>>>>>>>>> aligned VA
>>>>>>>>>>>>>         - Use primitive when changing permissions on linear map region
>>>>>>>>>>>> Sure.
>>>>>>>>>>>>
>>>>>>>>>>>>> This will be mergable on its own, but will also provide a great
>>>>>>>>>>>>> starting
>>>>>>>>>>>>> base
>>>>>>>>>>>>> for adding huge-vmalloc-by-default.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What do you think?
>>>>>>>>>>>> Definitely makes sense to me.
>>>>>>>>>>>>
>>>>>>>>>>>> If I remember correctly, we still have some unsolved comments/questions
>>>>>>>>>>>> for v3
>>>>>>>>>>>> in my replies on March 17, particularly:
>>>>>>>>>>>> https://lore.kernel.org/linux-arm-kernel/2b715836-b566-4a9e-
>>>>>>>>>>>> b344-9401fa4c0feb@xxxxxxxxxxxxxxxxxxxxxx/
>>>>>>>>>>> Ahh sorry about that. I'll take a look now...
>>>>>>>>>> No problem.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Yang
>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Ryan
>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Yang
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Ryan
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Yang
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>> Ryan
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>> Yang
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 3/13/25 10:40 AM, Yang Shi wrote:
>>>>>>>>>>>>>>>>> On 3/13/25 10:36 AM, Ryan Roberts wrote:
>>>>>>>>>>>>>>>>>> On 13/03/2025 17:28, Yang Shi wrote:
>>>>>>>>>>>>>>>>>>> Hi Ryan,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I saw Miko posted a new spin of his patches. There are some
>>>>>>>>>>>>>>>>>>> slight
>>>>>>>>>>>>>>>>>>> changes
>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>> have impact to my patches (basically check the new boot
>>>>>>>>>>>>>>>>>>> parameter).
>>>>>>>>>>>>>>>>>>> Do you
>>>>>>>>>>>>>>>>>>> prefer I rebase my patches on top of his new spin right now then
>>>>>>>>>>>>>>>>>>> restart
>>>>>>>>>>>>>>>>>>> review
>>>>>>>>>>>>>>>>>>> from the new spin or review the current patches then solve
>>>>>>>>>>>>>>>>>>> the new
>>>>>>>>>>>>>>>>>>> review
>>>>>>>>>>>>>>>>>>> comments and rebase to Miko's new spin together?
>>>>>>>>>>>>>>>>>> Hi Yang,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Sorry I haven't got to reviewing this version yet, it's in my
>>>>>>>>>>>>>>>>>> queue!
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm happy to review against v3 as it is. I'm familiar with Miko's
>>>>>>>>>>>>>>>>>> series
>>>>>>>>>>>>>>>>>> and am
>>>>>>>>>>>>>>>>>> not too bothered about the integration with that; I think it's
>>>>>>>>>>>>>>>>>> pretty
>>>>>>>>>>>>>>>>>> straight
>>>>>>>>>>>>>>>>>> forward. I'm more interested in how you are handling the
>>>>>>>>>>>>>>>>>> splitting,
>>>>>>>>>>>>>>>>>> which I
>>>>>>>>>>>>>>>>>> think is the bulk of the effort.
>>>>>>>>>>>>>>>>> Yeah, sure, thank you.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm hoping to get to this next week before heading out to LSF/MM
>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>> following
>>>>>>>>>>>>>>>>>> week (might I see you there?)
>>>>>>>>>>>>>>>>> Unfortunately I can't make it this year. Have a fun!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Yang
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>> Ryan
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>> Yang
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 3/4/25 2:19 PM, Yang Shi wrote:
>>>>>>>>>>>>>>>>>>>> Changelog
>>>>>>>>>>>>>>>>>>>> =========
>>>>>>>>>>>>>>>>>>>> v3:
>>>>>>>>>>>>>>>>>>>>            * Rebased to v6.14-rc4.
>>>>>>>>>>>>>>>>>>>>            * Based on Miko's BBML2 cpufeature patch (https://
>>>>>>>>>>>>>>>>>>>> lore.kernel.org/
>>>>>>>>>>>>>>>>>>>> linux-
>>>>>>>>>>>>>>>>>>>> arm-kernel/20250228182403.6269-3-miko.lenczewski@xxxxxxx/).
>>>>>>>>>>>>>>>>>>>>              Also included in this series in order to have the
>>>>>>>>>>>>>>>>>>>> complete
>>>>>>>>>>>>>>>>>>>> patchset.
>>>>>>>>>>>>>>>>>>>>            * Enhanced __create_pgd_mapping() to handle split as
>>>>>>>>>>>>>>>>>>>> well per
>>>>>>>>>>>>>>>>>>>> Ryan.
>>>>>>>>>>>>>>>>>>>>            * Supported CONT mappings per Ryan.
>>>>>>>>>>>>>>>>>>>>            * Supported asymmetric system by splitting kernel
>>>>>>>>>>>>>>>>>>>> linear
>>>>>>>>>>>>>>>>>>>> mapping if
>>>>>>>>>>>>>>>>>>>> such
>>>>>>>>>>>>>>>>>>>>              system is detected per Ryan. I don't have such
>>>>>>>>>>>>>>>>>>>> system to
>>>>>>>>>>>>>>>>>>>> test,
>>>>>>>>>>>>>>>>>>>> so the
>>>>>>>>>>>>>>>>>>>>              testing is done by hacking kernel to call linear
>>>>>>>>>>>>>>>>>>>> mapping
>>>>>>>>>>>>>>>>>>>> repainting
>>>>>>>>>>>>>>>>>>>>              unconditionally. The linear mapping doesn't
>>>>>>>>>>>>>>>>>>>> have any
>>>>>>>>>>>>>>>>>>>> block and
>>>>>>>>>>>>>>>>>>>> cont
>>>>>>>>>>>>>>>>>>>>              mappings after booting.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> RFC v2:
>>>>>>>>>>>>>>>>>>>>            * Used allowlist to advertise BBM lv2 on the CPUs
>>>>>>>>>>>>>>>>>>>> which
>>>>>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>>>>> handle TLB
>>>>>>>>>>>>>>>>>>>>              conflict gracefully per Will Deacon
>>>>>>>>>>>>>>>>>>>>            * Rebased onto v6.13-rc5
>>>>>>>>>>>>>>>>>>>>            * https://lore.kernel.org/linux-arm-
>>>>>>>>>>>>>>>>>>>> kernel/20250103011822.1257189-1-
>>>>>>>>>>>>>>>>>>>> yang@xxxxxxxxxxxxxxxxxxxxxx/
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> RFC v1: https://lore.kernel.org/lkml/20241118181711.962576-1-
>>>>>>>>>>>>>>>>>>>> yang@xxxxxxxxxxxxxxxxxxxxxx/
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Description
>>>>>>>>>>>>>>>>>>>> ===========
>>>>>>>>>>>>>>>>>>>> When rodata=full kernel linear mapping is mapped by PTE due to
>>>>>>>>>>>>>>>>>>>> arm's
>>>>>>>>>>>>>>>>>>>> break-before-make rule.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> A number of performance issues arise when the kernel linear
>>>>>>>>>>>>>>>>>>>> map is
>>>>>>>>>>>>>>>>>>>> using
>>>>>>>>>>>>>>>>>>>> PTE entries due to arm's break-before-make rule:
>>>>>>>>>>>>>>>>>>>>            - performance degradation
>>>>>>>>>>>>>>>>>>>>            - more TLB pressure
>>>>>>>>>>>>>>>>>>>>            - memory waste for kernel page table
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> These issues can be avoided by specifying rodata=on the kernel
>>>>>>>>>>>>>>>>>>>> command
>>>>>>>>>>>>>>>>>>>> line but this disables the alias checks on page table
>>>>>>>>>>>>>>>>>>>> permissions and
>>>>>>>>>>>>>>>>>>>> therefore compromises security somewhat.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> With FEAT_BBM level 2 support it is no longer necessary to
>>>>>>>>>>>>>>>>>>>> invalidate the
>>>>>>>>>>>>>>>>>>>> page table entry when changing page sizes. This allows the
>>>>>>>>>>>>>>>>>>>> kernel to
>>>>>>>>>>>>>>>>>>>> split large mappings after boot is complete.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> This patch adds support for splitting large mappings when
>>>>>>>>>>>>>>>>>>>> FEAT_BBM
>>>>>>>>>>>>>>>>>>>> level 2
>>>>>>>>>>>>>>>>>>>> is available and rodata=full is used. This functionality
>>>>>>>>>>>>>>>>>>>> will be
>>>>>>>>>>>>>>>>>>>> used
>>>>>>>>>>>>>>>>>>>> when modifying page permissions for individual page frames.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Without FEAT_BBM level 2 we will keep the kernel linear map
>>>>>>>>>>>>>>>>>>>> using
>>>>>>>>>>>>>>>>>>>> PTEs
>>>>>>>>>>>>>>>>>>>> only.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> If the system is asymmetric, the kernel linear mapping may be
>>>>>>>>>>>>>>>>>>>> repainted
>>>>>>>>>>>>>>>>>>>> once
>>>>>>>>>>>>>>>>>>>> the BBML2 capability is finalized on all CPUs.  See patch #6
>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>>> more
>>>>>>>>>>>>>>>>>>>> details.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> We saw significant performance increases in some benchmarks
>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>>> rodata=full without compromising the security features of the
>>>>>>>>>>>>>>>>>>>> kernel.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Testing
>>>>>>>>>>>>>>>>>>>> =======
>>>>>>>>>>>>>>>>>>>> The test was done on AmpereOne machine (192 cores, 1P) with
>>>>>>>>>>>>>>>>>>>> 256GB
>>>>>>>>>>>>>>>>>>>> memory and
>>>>>>>>>>>>>>>>>>>> 4K page size + 48 bit VA.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Function test (4K/16K/64K page size)
>>>>>>>>>>>>>>>>>>>>            - Kernel boot.  Kernel needs change kernel linear
>>>>>>>>>>>>>>>>>>>> mapping
>>>>>>>>>>>>>>>>>>>> permission at
>>>>>>>>>>>>>>>>>>>>              boot stage, if the patch didn't work, kernel
>>>>>>>>>>>>>>>>>>>> typically
>>>>>>>>>>>>>>>>>>>> didn't
>>>>>>>>>>>>>>>>>>>> boot.
>>>>>>>>>>>>>>>>>>>>            - Module stress from stress-ng. Kernel module load
>>>>>>>>>>>>>>>>>>>> change
>>>>>>>>>>>>>>>>>>>> permission
>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>>>              linear mapping.
>>>>>>>>>>>>>>>>>>>>            - A test kernel module which allocates 80% of total
>>>>>>>>>>>>>>>>>>>> memory
>>>>>>>>>>>>>>>>>>>> via
>>>>>>>>>>>>>>>>>>>> vmalloc(),
>>>>>>>>>>>>>>>>>>>>              then change the vmalloc area permission to RO,
>>>>>>>>>>>>>>>>>>>> this also
>>>>>>>>>>>>>>>>>>>> change
>>>>>>>>>>>>>>>>>>>> linear
>>>>>>>>>>>>>>>>>>>>              mapping permission to RO, then change it back
>>>>>>>>>>>>>>>>>>>> before
>>>>>>>>>>>>>>>>>>>> vfree(). Then
>>>>>>>>>>>>>>>>>>>> launch
>>>>>>>>>>>>>>>>>>>>              a VM which consumes almost all physical memory.
>>>>>>>>>>>>>>>>>>>>            - VM with the patchset applied in guest kernel too.
>>>>>>>>>>>>>>>>>>>>            - Kernel build in VM with guest kernel which has
>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>> series
>>>>>>>>>>>>>>>>>>>> applied.
>>>>>>>>>>>>>>>>>>>>            - rodata=on. Make sure other rodata mode is not
>>>>>>>>>>>>>>>>>>>> broken.
>>>>>>>>>>>>>>>>>>>>            - Boot on the machine which doesn't support BBML2.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Performance
>>>>>>>>>>>>>>>>>>>> ===========
>>>>>>>>>>>>>>>>>>>> Memory consumption
>>>>>>>>>>>>>>>>>>>> Before:
>>>>>>>>>>>>>>>>>>>> MemTotal:       258988984 kB
>>>>>>>>>>>>>>>>>>>> MemFree:        254821700 kB
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> After:
>>>>>>>>>>>>>>>>>>>> MemTotal:       259505132 kB
>>>>>>>>>>>>>>>>>>>> MemFree:        255410264 kB
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Around 500MB more memory are free to use.  The larger the
>>>>>>>>>>>>>>>>>>>> machine,
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> more memory saved.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Performance benchmarking
>>>>>>>>>>>>>>>>>>>> * Memcached
>>>>>>>>>>>>>>>>>>>> We saw performance degradation when running Memcached benchmark
>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>>> rodata=full vs rodata=on.  Our profiling pointed to kernel TLB
>>>>>>>>>>>>>>>>>>>> pressure.
>>>>>>>>>>>>>>>>>>>> With this patchset we saw ops/sec is increased by around 3.5%,
>>>>>>>>>>>>>>>>>>>> P99
>>>>>>>>>>>>>>>>>>>> latency is reduced by around 9.6%.
>>>>>>>>>>>>>>>>>>>> The gain mainly came from reduced kernel TLB misses.  The
>>>>>>>>>>>>>>>>>>>> kernel
>>>>>>>>>>>>>>>>>>>> TLB
>>>>>>>>>>>>>>>>>>>> MPKI is reduced by 28.5%.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The benchmark data is now on par with rodata=on too.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> * Disk encryption (dm-crypt) benchmark
>>>>>>>>>>>>>>>>>>>> Ran fio benchmark with the below command on a 128G ramdisk
>>>>>>>>>>>>>>>>>>>> (ext4)
>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>>> disk
>>>>>>>>>>>>>>>>>>>> encryption (by dm-crypt).
>>>>>>>>>>>>>>>>>>>> fio --directory=/data --random_generator=lfsr --norandommap --
>>>>>>>>>>>>>>>>>>>> randrepeat 1 \
>>>>>>>>>>>>>>>>>>>>              --status-interval=999 --rw=write --bs=4k --
>>>>>>>>>>>>>>>>>>>> loops=1 --
>>>>>>>>>>>>>>>>>>>> ioengine=sync \
>>>>>>>>>>>>>>>>>>>>              --iodepth=1 --numjobs=1 --fsync_on_close=1 --
>>>>>>>>>>>>>>>>>>>> group_reporting --
>>>>>>>>>>>>>>>>>>>> thread \
>>>>>>>>>>>>>>>>>>>>              --name=iops-test-job --eta-newline=1 --size 100G
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The IOPS is increased by 90% - 150% (the variance is high, but
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> worst
>>>>>>>>>>>>>>>>>>>> number of good case is around 90% more than the best number of
>>>>>>>>>>>>>>>>>>>> bad
>>>>>>>>>>>>>>>>>>>> case).
>>>>>>>>>>>>>>>>>>>> The bandwidth is increased and the avg clat is reduced
>>>>>>>>>>>>>>>>>>>> proportionally.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> * Sequential file read
>>>>>>>>>>>>>>>>>>>> Read 100G file sequentially on XFS (xfs_io read with page cache
>>>>>>>>>>>>>>>>>>>> populated).
>>>>>>>>>>>>>>>>>>>> The bandwidth is increased by 150%.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> MikoÅ?aj Lenczewski (1):
>>>>>>>>>>>>>>>>>>>>                arm64: Add BBM Level 2 cpu feature
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Yang Shi (5):
>>>>>>>>>>>>>>>>>>>>                arm64: cpufeature: add AmpereOne to BBML2 allow
>>>>>>>>>>>>>>>>>>>> list
>>>>>>>>>>>>>>>>>>>>                arm64: mm: make __create_pgd_mapping() and
>>>>>>>>>>>>>>>>>>>> helpers
>>>>>>>>>>>>>>>>>>>> non-void
>>>>>>>>>>>>>>>>>>>>                arm64: mm: support large block mapping when
>>>>>>>>>>>>>>>>>>>> rodata=full
>>>>>>>>>>>>>>>>>>>>                arm64: mm: support split CONT mappings
>>>>>>>>>>>>>>>>>>>>                arm64: mm: split linear mapping if BBML2 is not
>>>>>>>>>>>>>>>>>>>> supported on
>>>>>>>>>>>>>>>>>>>> secondary
>>>>>>>>>>>>>>>>>>>> CPUs
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>           arch/arm64/Kconfig                  | 11 +++++
>>>>>>>>>>>>>>>>>>>>           arch/arm64/include/asm/cpucaps.h    | 2 +
>>>>>>>>>>>>>>>>>>>>           arch/arm64/include/asm/cpufeature.h | 15 ++++++
>>>>>>>>>>>>>>>>>>>>           arch/arm64/include/asm/mmu.h        | 4 ++
>>>>>>>>>>>>>>>>>>>>           arch/arm64/include/asm/pgtable.h    | 12 ++++-
>>>>>>>>>>>>>>>>>>>>           arch/arm64/kernel/cpufeature.c      | 95 ++++++++++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> +++++++
>>>>>>>>>>>>>>>>>>>>           arch/arm64/mm/mmu.c                 | 397 ++++++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> ++++
>>>>>>>>>>>>>>>>>>>> ++++++
>>>>>>>>>>>>>>>>>>>> ++++
>>>>>>>>>>>>>>>>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>>>>>>>>>>>>>>>> ++++
>>>>>>>>>>>>>>>>>>>> ++++
>>>>>>>>>>>>>>>>>>>> +++++
>>>>>>>>>>>>>>>>>>>> +++++
>>>>>>>>>>>>>>>>>>>> ++++++++++++++++++++++-------------------
>>>>>>>>>>>>>>>>>>>>           arch/arm64/mm/pageattr.c            | 37 +++++++++
>>>>>>>>>>>>>>>>>>>> +++---
>>>>>>>>>>>>>>>>>>>>           arch/arm64/tools/cpucaps            | 1 +
>>>>>>>>>>>>>>>>>>>>           9 files changed, 518 insertions(+), 56 deletions(-)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>


Return-Path: <linux-kernel+bounces-667763-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 DEE2441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:03: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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 88E423BCAAE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:02:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6F1101EC01B;
Fri, 30 May 2025 08:03:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="S7vGkx7Q"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.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 F212538B;
Fri, 30 May 2025 08:03:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.16
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748592192; cv=none; b=TsnjNjgHGBl51aKW7er6nLkJUUlqjVkQumhMg50lyT+czwUN4cylGlrwqZff5o4EU63bprWjeqkpC8qnLCP2UkQA/D/uBLKooGwi2Hv/ZxXTkIJw11Bi0n845ZwlTkLyUxyCeW/zmy0b+AOnC07YelmBEc7in86l6k/V4opa29k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592192; c=relaxed/simple;
bh=/3ip+9z66tdC7aFsRMDA8XFR3EVpsy2dAXc+wOoLdoU=;
h=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=HnpV9H69OVE1McxVEZkcQL9E+QQMwGNj0M/nmsMQANwoTe68Vb7syvKD1ejCRVyN22M1CKtW+NUKlU7V8B7JUCKRT2ELjv5RbVyogYB/E2IALJ7PKqoTNPw/JrNxAiw/csmgAvxrHMjMHBs3ETKxUJE+i3LjVWOr7vlpbl5oD4g=
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=S7vGkx7Q; arc=none smtp.client-ip=198.175.65.16
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=1748592191; x=1780128191;
h=from:date:to:cc:subject:in-reply-to:message-id:
references:mime-version;
bh=/3ip+9z66tdC7aFsRMDA8XFR3EVpsy2dAXc+wOoLdoU=;
b=S7vGkx7QqJHiw/mhHK8wkbuPjVQXqXfOXw1P/hoZuYJx9dhhs+EvbfJB
aJZy+ZM+aiYttJSgYTir8RzVHvK8QnBfBb+qUOn43rze6yMVAhcHSqyer
1y4BofjOei660zfvDx08nBn3jzWrrPn6XCtgEkKNPPBYqqIWik7LVVqo0
cS3UVp5HxX5pqV8VTqkG5skzXJUA80KmEdtHJDeU4P9muYEtpy+Lhxe1u
nKy/zafeSM0msViUqoWX2GgLJq0yQLtfjAH/Stc5ZolI6QYVMB1YaPhGJ
yvfRQaDnGutXWpx86/Ek6bXElzWEeOifdNp5Ne0Areg2Ytm/ki5ZThBbq
A==;
X-CSE-ConnectionGUID: CJ1clejrT+CzSV7p2bA4lg==
X-CSE-MsgGUID: wfELXmiqSeKfdEdWqWOPFw==
X-IronPort-AV: E=McAfee;i="6700,10204,11448"; a="50729804"
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="50729804"
Received: from fmviesa002.fm.intel.com ([10.60.135.142])
by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 01:03:10 -0700
X-CSE-ConnectionGUID: 4nNpK5sdSVSNZqrecFI/vA==
X-CSE-MsgGUID: 5t3IhpMQRV+GMqJKZurJww==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,195,1744095600";
d="scan'208";a="166986441"
Received: from ijarvine-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.244.183])
by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 May 2025 01:03:09 -0700
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 11:03:05 +0300 (EEST)
To: Stuart Hayes <stuart.w.hayes@xxxxxxxxx>
cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>, Hans de Goede <hdegoede@xxxxxxxxxx>,
platform-driver-x86@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 3/4] platform/x86: dell_rbu: Stop overwriting data
buffer
In-Reply-To: <20250529202758.8440-4-stuart.w.hayes@xxxxxxxxx>
Message-ID: <ad0301a0-f45f-900a-028d-dff5e08b9525@xxxxxxxxxxxxxxx>
References: <20250529202758.8440-1-stuart.w.hayes@xxxxxxxxx> <20250529202758.8440-4-stuart.w.hayes@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 Thu, 29 May 2025, Stuart Hayes wrote:

> The dell_rbu driver will use memset() to clear the data held by each
> packet when it is no longer needed (when the driver is unloaded, the
> packet size is changed, etc).
>
> The amount of memory that is cleared (before this patch) is the normal
> packet size. However, the last packet in the list may be smaller.
>
> Fix this to only clear the memory actually used by each packet, to prevent
> it from writing past the end of data buffer.
>
> Signed-off-by: Stuart Hayes <stuart.w.hayes@xxxxxxxxx>

This still doesn't have Fixes tag? If it writes part the buffer, there
certainly should be one in this one. Did you perhaps add it to a wrong
patch?

> ---
> drivers/platform/x86/dell/dell_rbu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/dell/dell_rbu.c b/drivers/platform/x86/dell/dell_rbu.c
> index c03d4d55fcc1..7d5b26735a20 100644
> --- a/drivers/platform/x86/dell/dell_rbu.c
> +++ b/drivers/platform/x86/dell/dell_rbu.c
> @@ -322,7 +322,7 @@ static void packet_empty_list(void)
> * zero out the RBU packet memory before freeing
> * to make sure there are no stale RBU packets left in memory
> */
> - memset(newpacket->data, 0, rbu_data.packetsize);
> + memset(newpacket->data, 0, newpacket->length);
> set_memory_wb((unsigned long)newpacket->data,
> 1 << newpacket->ordernum);
> free_pages((unsigned long) newpacket->data,
>

--
i.


Return-Path: <linux-kernel+bounces-667764-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 83A1741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:04: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 41AB53BEB43
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:03:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 11EC9212B2F;
Fri, 30 May 2025 08:03:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=leemhuis.info header.i=@leemhuis.info header.b="RpVg/SAz"
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de [80.237.130.52])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0209C1D61AA;
Fri, 30 May 2025 08:03:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.237.130.52
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748592231; cv=none; b=IRx+EmAkGcjnRY4i8ZkZNgqIiwfm9tCAuJSUuNncmLbbN3GgJhBefpZkJJIddc4EZovNtAZgVL9GZfMZziC73tPxyLAmC2i5vqVuHf6HymtviaORuThykDvUrjf8DZ5of/Bp6BZ5+vWftL8LNV+zqApggTl8HjHOGUD03HCHmXc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592231; c=relaxed/simple;
bh=MOZRfILlxYLTD5YPIe1ukUVdwB74Lc8RJ5ifhuojFsE=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=U1y83/La4Ii256wFYkfo69uiuIln5Vt7JoXQGHRrRmS2vayOMFff8iDSY3gtx/wEZGt9pCbI6XdMqO4cT+rJvVDjhpJNpySZloMxLYWBAPwVWUH3rnEX6HPFuDC5RU/PUJCe5TZp2JceKtqChlUnBcDy4TaBRkGmRi7hg+WtTzU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=leemhuis.info; spf=pass smtp.mailfrom=leemhuis.info; dkim=pass (2048-bit key) header.d=leemhuis.info header.i=@leemhuis.info header.b=RpVg/SAz; arc=none smtp.client-ip=80.237.130.52
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=leemhuis.info
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=leemhuis.info
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=leemhuis.info; s=he214686; h=Content-Transfer-Encoding:Content-Type:
In-Reply-To:From:References:To:Subject:MIME-Version:Date:Message-ID:From:
Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:
Content-Transfer-Encoding:Content-ID:Content-Description:In-Reply-To:
References; bh=+FQ7mAJWoOpdEQTP2UWDOkXe0sgkjazV/6cKTyxk9EY=; t=1748592229;
x=1749024229; b=RpVg/SAzeTHW9iVd0qAEDdquy03idZeON58JPD6gIbu2l3qxoD06zD31NS9I1
cOzzlm+tQXbD3e+A0EFN5hTvZiqMstEHL1rVcFB73lPBSM2vFbuSJNueLYfpETCJ/oYqJ7qi+5+0J
wZRGxwvD5ktppJzf5OwDmvXuWX5UMKMYWAo3NrlE8l++bCnt/V5rVT3hVpXDaG/DPnHlnU3iyFwqP
ARI3V2yyLiyCBgD5u4X0VBrXSQVHmzDXfV3fehr5czXxQNgbdoi1rSgR/5jqcw5fbRBR3riRhAp+x
nCIe+jR66WfqSgG9/gmRGNO2chPs//aPOFsZKEL0MyECdZpdvA==;
Received: from [2a02:8108:8984:1d00:a0cf:1912:4be:477f]; authenticated
by wp530.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128)
id 1uKuRp-006ZdF-2k;
Fri, 30 May 2025 09:46:37 +0200
Message-ID: <699ec35a-5453-4900-b535-a9a9863bb9bf@xxxxxxxxxxxxx>
Date: Fri, 30 May 2025 09:46: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: REGRESSION: armv7 build mismatched types
To: Rudraksha Gupta <guptarud@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
Linux regressions mailing list <regressions@xxxxxxxxxxxxxxx>,
rust-for-linux@xxxxxxxxxxxxxxx, Miguel Ojeda <ojeda@xxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>,
Tamir Duberstein <tamird@xxxxxxxxx>
References: <700ebe13-c2d3-48e3-800f-8dc327efb6fc@xxxxxxxxx>
From: Thorsten Leemhuis <linux@xxxxxxxxxxxxx>
Content-Language: de-DE, en-US
Autocrypt: addr=linux@xxxxxxxxxxxxx; keydata=
xsFNBFJ4AQ0BEADCz16x4kl/YGBegAsYXJMjFRi3QOr2YMmcNuu1fdsi3XnM+xMRaukWby47
JcsZYLDKRHTQ/Lalw9L1HI3NRwK+9ayjg31wFdekgsuPbu4x5RGDIfyNpd378Upa8SUmvHik
apCnzsxPTEE4Z2KUxBIwTvg+snEjgZ03EIQEi5cKmnlaUynNqv3xaGstx5jMCEnR2X54rH8j
QPvo2l5/79Po58f6DhxV2RrOrOjQIQcPZ6kUqwLi6EQOi92NS9Uy6jbZcrMqPIRqJZ/tTKIR
OLWsEjNrc3PMcve+NmORiEgLFclN8kHbPl1tLo4M5jN9xmsa0OZv3M0katqW8kC1hzR7mhz+
Rv4MgnbkPDDO086HjQBlS6Zzo49fQB2JErs5nZ0mwkqlETu6emhxneAMcc67+ZtTeUj54K2y
Iu8kk6ghaUAfgMqkdIzeSfhO8eURMhvwzSpsqhUs7pIj4u0TPN8OFAvxE/3adoUwMaB+/plk
sNe9RsHHPV+7LGADZ6OzOWWftk34QLTVTcz02bGyxLNIkhY+vIJpZWX9UrfGdHSiyYThHCIy
/dLz95b9EG+1tbCIyNynr9TjIOmtLOk7ssB3kL3XQGgmdQ+rJ3zckJUQapLKP2YfBi+8P1iP
rKkYtbWk0u/FmCbxcBA31KqXQZoR4cd1PJ1PDCe7/DxeoYMVuwARAQABzSdUaG9yc3RlbiBM
ZWVtaHVpcyA8bGludXhAbGVlbWh1aXMuaW5mbz7CwZQEEwEKAD4CGwMFCwkIBwMFFQoJCAsF
FgIDAQACHgECF4AWIQSoq8a+lZZX4oPULXVytubvTFg9LQUCX31PIwUJFmtPkwAKCRBytubv
TFg9LWsyD/4t3g4i2YVp8RoKAcOut0AZ7/uLSqlm8Jcbb+LeeuzjY9T3mQ4ZX8cybc1jRlsL
JMYL8GD3a53/+bXCDdk2HhQKUwBJ9PUDbfWa2E/pnqeJeX6naLn1LtMJ78G9gPeG81dX5Yq+
g/2bLXyWefpejlaefaM0GviCt00kG4R/mJJpHPKIPxPbOPY2REzWPoHXJpi7vTOA2R8HrFg/
QJbnA25W55DzoxlRb/nGZYG4iQ+2Eplkweq3s3tN88MxzNpsxZp475RmzgcmQpUtKND7Pw+8
zTDPmEzkHcUChMEmrhgWc2OCuAu3/ezsw7RnWV0k9Pl5AGROaDqvARUtopQ3yEDAdV6eil2z
TvbrokZQca2808v2rYO3TtvtRMtmW/M/yyR233G/JSNos4lODkCwd16GKjERYj+sJsW4/hoZ
RQiJQBxjnYr+p26JEvghLE1BMnTK24i88Oo8v+AngR6JBxwH7wFuEIIuLCB9Aagb+TKsf+0c
HbQaHZj+wSY5FwgKi6psJxvMxpRpLqPsgl+awFPHARktdPtMzSa+kWMhXC4rJahBC5eEjNmP
i23DaFWm8BE9LNjdG8Yl5hl7Zx0mwtnQas7+z6XymGuhNXCOevXVEqm1E42fptYMNiANmrpA
OKRF+BHOreakveezlpOz8OtUhsew9b/BsAHXBCEEOuuUg87BTQRSeAENARAAzu/3satWzly6
+Lqi5dTFS9+hKvFMtdRb/vW4o9CQsMqL2BJGoE4uXvy3cancvcyodzTXCUxbesNP779JqeHy
s7WkF2mtLVX2lnyXSUBm/ONwasuK7KLz8qusseUssvjJPDdw8mRLAWvjcsYsZ0qgIU6kBbvY
ckUWkbJj/0kuQCmmulRMcaQRrRYrk7ZdUOjaYmjKR+UJHljxLgeregyiXulRJxCphP5migoy
ioa1eset8iF9fhb+YWY16X1I3TnucVCiXixzxwn3uwiVGg28n+vdfZ5lackCOj6iK4+lfzld
z4NfIXK+8/R1wD9yOj1rr3OsjDqOaugoMxgEFOiwhQDiJlRKVaDbfmC1G5N1YfQIn90znEYc
M7+Sp8Rc5RUgN5yfuwyicifIJQCtiWgjF8ttcIEuKg0TmGb6HQHAtGaBXKyXGQulD1CmBHIW
zg7bGge5R66hdbq1BiMX5Qdk/o3Sr2OLCrxWhqMdreJFLzboEc0S13BCxVglnPqdv5sd7veb
0az5LGS6zyVTdTbuPUu4C1ZbstPbuCBwSwe3ERpvpmdIzHtIK4G9iGIR3Seo0oWOzQvkFn8m
2k6H2/Delz9IcHEefSe5u0GjIA18bZEt7R2k8CMZ84vpyWOchgwXK2DNXAOzq4zwV8W4TiYi
FiIVXfSj185vCpuE7j0ugp0AEQEAAcLBfAQYAQoAJgIbDBYhBKirxr6Vllfig9QtdXK25u9M
WD0tBQJffU8wBQkWa0+jAAoJEHK25u9MWD0tv+0P/A47x8r+hekpuF2KvPpGi3M6rFpdPfeO
RpIGkjQWk5M+oF0YH3vtb0+92J7LKfJwv7GIy2PZO2svVnIeCOvXzEM/7G1n5zmNMYGZkSyf
x9dnNCjNl10CmuTYud7zsd3cXDku0T+Ow5Dhnk6l4bbJSYzFEbz3B8zMZGrs9EhqNzTLTZ8S
Mznmtkxcbb3f/o5SW9NhH60mQ23bB3bBbX1wUQAmMjaDQ/Nt5oHWHN0/6wLyF4lStBGCKN9a
TLp6E3100BuTCUCrQf9F3kB7BC92VHvobqYmvLTCTcbxFS4JNuT+ZyV+xR5JiV+2g2HwhxWW
uC88BtriqL4atyvtuybQT+56IiiU2gszQ+oxR/1Aq+VZHdUeC6lijFiQblqV6EjenJu+pR9A
7EElGPPmYdO1WQbBrmuOrFuO6wQrbo0TbUiaxYWyoM9cA7v7eFyaxgwXBSWKbo/bcAAViqLW
ysaCIZqWxrlhHWWmJMvowVMkB92uPVkxs5IMhSxHS4c2PfZ6D5kvrs3URvIc6zyOrgIaHNzR
8AF4PXWPAuZu1oaG/XKwzMqN/Y/AoxWrCFZNHE27E1RrMhDgmyzIzWQTffJsVPDMQqDfLBhV
ic3b8Yec+Kn+ExIF5IuLfHkUgIUs83kDGGbV+wM8NtlGmCXmatyavUwNCXMsuI24HPl7gV2h n7RI
In-Reply-To: <700ebe13-c2d3-48e3-800f-8dc327efb6fc@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-bounce-key: webpack.hosteurope.de;linux@xxxxxxxxxxxxx;1748592229;a15d77b2;
X-HE-SMSGID: 1uKuRp-006ZdF-2k
X-Spam-Status: No, score=-1.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,URIBL_BLACK,
URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

CCing linux-next and Tamir Duberstein, who authored the culprit.

On 30.05.25 08:23, Rudraksha Gupta wrote:
> Logs: https://gitlab.postmarketos.org/LogicalErzor/pmaports/-/jobs/1368490
>
> Archive: https://web.archive.org/web/20250530060232/https://
> gitlab.postmarketos.org/LogicalErzor/pmaports/-/jobs/1368490/raw

I ran into the same error on aarch64 and x86_64 when building -next for
Fedora today using the rawhide config:

https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/next/fedora-rawhide-x86_64/09103515-next-next-all/builder-live.log.gz
https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/next/fedora-rawhide-aarch64/09103515-next-next-all/builder-live.log.gz

Reverting b20fbbc08a363f ("rust: check type of `$ptr` in
`container_of!`") fixed things. That's the patch Rudraksha suspected to
be the root of the problem (see the quote below).

Ciao, Thorsten

> Snip:
>
> ||
>
> |EXPORTS rust/exports_core_generated.h|
> |
> ||
> RUSTC L rust/compiler_builtins.o
> ||
> RUSTC L rust/ffi.o
> ||
> RUSTC L rust/build_error.o
> ||
> RUSTC L rust/pin_init.o
> ||
> RUSTC L rust/bindings.o
> ||
> RUSTC L rust/uapi.o
> ||
> EXPORTS rust/exports_bindings_generated.h
> ||
> RUSTC L rust/kernel.o
> ||
> error[E0308]: mismatched types
> ||
> --> rust/kernel/lib.rs:234:45
> ||
> |
> ||
> 234 | $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).
> $($fields)*).cast_mut());
> ||
> | ------------------------ ---------
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const
> drm_device`, found `*mut Opaque<drm_device>`
> ||
> | | |
> ||
> | | expected all arguments to be this `*const drm_device` type because
> they need to match the type of this parameter
> ||
> | arguments to this function are incorrect
> ||
> |
> ||
> ::: rust/kernel/drm/device.rs:140:18
> ||
> |
> ||
> 140 | unsafe { crate::container_of!(ptr, Self, dev) }.cast_mut()
> ||
> | ------------------------------------ in this macro invocation
> ||
> |
> ||
> = note: expected raw pointer `*const drm_device`
> ||
> found raw pointer `*mut Opaque<drm_device>`
> ||
> note: function defined here
> ||
> --> rust/kernel/lib.rs:241:8
> ||
> |
> ||
> 241 | pub fn assert_same_type<T>(_: T, _: T) {}
> ||
> | ^^^^^^^^^^^^^^^^ - ---- ---- this parameter needs to match the `*const
> drm_device` type of parameter #1
> ||
> | | |
> ||
> | | parameter #2 needs to match the `*const drm_device` type of this
> parameter
> ||
> | parameter #1 and parameter #2 both reference this parameter `T`
> ||
> = note: this error originates in the macro `crate::container_of` (in
> Nightly builds, run with -Z macro-backtrace for more info)
> ||
> error[E0308]: mismatched types
> ||
> --> rust/kernel/lib.rs:234:45
> ||
> |
> ||
> 234 | $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).
> $($fields)*).cast_mut());
> ||
> | ------------------------ ---------
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut
> drm_gem_object`, found `*mut Opaque<drm_gem_object>`
> ||
> | | |
> ||
> | | expected all arguments to be this `*mut drm_gem_object` type because
> they need to match the type of this parameter
> ||
> | arguments to this function are incorrect
> ||
> |
> ||
> ::: rust/kernel/drm/gem/mod.rs:130:20
> ||
> |
> ||
> 130 | unsafe { &*crate::container_of!(self_ptr, Object<T>, obj) }
> ||
> | ---------------------------------------------- in this macro invocation
> ||
> |
> ||
> = note: expected raw pointer `*mut drm_gem_object`
> ||
> found raw pointer `*mut Opaque<drm_gem_object>`
> ||
> note: function defined here
> ||
> --> rust/kernel/lib.rs:241:8
> ||
> |
> ||
> 241 | pub fn assert_same_type<T>(_: T, _: T) {}
> ||
> | ^^^^^^^^^^^^^^^^ - ---- ---- this parameter needs to match the `*mut
> drm_gem_object` type of parameter #1
> ||
> | | |
> ||
> | | parameter #2 needs to match the `*mut drm_gem_object` type of this
> parameter
> ||
> | parameter #1 and parameter #2 both reference this parameter `T`
> ||
> = note: this error originates in the macro `crate::container_of` (in
> Nightly builds, run with -Z macro-backtrace for more info)
> ||
> error[E0308]: mismatched types
> ||
> --> rust/kernel/lib.rs:234:45
> ||
> |
> ||
> 234 | $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).
> $($fields)*).cast_mut());
> ||
> | ------------------------ ---------
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*mut
> drm_gem_object`, found `*mut Opaque<drm_gem_object>`
> ||
> | | |
> ||
> | | expected all arguments to be this `*mut drm_gem_object` type because
> they need to match the type of this parameter
> ||
> | arguments to this function are incorrect
> ||
> |
> ||
> ::: rust/kernel/drm/gem/mod.rs:273:29
> ||
> |
> ||
> 273 | let this = unsafe { crate::container_of!(obj, Self, obj) };
> ||
> | ------------------------------------ in this macro invocation
> ||
> |
> ||
> = note: expected raw pointer `*mut drm_gem_object`
> ||
> found raw pointer `*mut Opaque<drm_gem_object>`
> ||
> note: function defined here
> ||
> --> rust/kernel/lib.rs:241:8
> ||
> |
> ||
> 241 | pub fn assert_same_type<T>(_: T, _: T) {}
> ||
> | ^^^^^^^^^^^^^^^^ - ---- ---- this parameter needs to match the `*mut
> drm_gem_object` type of parameter #1
> ||
> | | |
> ||
> | | parameter #2 needs to match the `*mut drm_gem_object` type of this
> parameter
> ||
> | parameter #1 and parameter #2 both reference this parameter `T`
> ||
> = note: this error originates in the macro `crate::container_of` (in
> Nightly builds, run with -Z macro-backtrace for more info)
> ||
> error: aborting due to 3 previous errors
> ||
> For more information about this error, try `rustc --explain E0308`.
> ||
> make[2]: *** [rust/Makefile:538: rust/kernel.o] Error 1
> ||
> make[1]: *** [/home/pmos/build/src/linux-next-next-20250530/
> Makefile:1285: prepare] Error 2
> ||make: *** [Makefile:248: __sub-make] Error 2|
>
>
> Bad: next-20250530
>
> Good: next-20250528
>
>
> Likely introduced with: https://lore.kernel.org/all/
> CANiq72mFiCrzawVUVOU2giJtBVsRdAO3sGtDsZptPuFvmid3EQ@xxxxxxxxxxxxxx/
>
>
> Repo: https://gitlab.postmarketos.org/LogicalErzor/pmaports/-/tree/rust/
> device/testing/linux-next
>
> How it's built (Alpine-like build system):
>
> - https://archive.ph/vxEmk
>
> Config fragments (in addition to qcom_defconfig):
>
> - https://archive.ph/q4hfc
>
> - https://archive.ph/RKgFf
>
>
>


Return-Path: <linux-kernel+bounces-667765-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 4EC7241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:04: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 9AC1A3BF44C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:04:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AD163211A05;
Fri, 30 May 2025 08:04:20 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2DBD638B;
Fri, 30 May 2025 08:04:17 +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=1748592260; cv=none; b=L8XqPKxJW7+5dhdRCOK4DldJTF7S1bbXhC3pKFZ5DVKrgdXQxT1FZ/KcmdxXRqTX00kAiQbOszdDi/1z+Q3er9OLyZXNlDKA4iYn4VAihX42NFeu7bUlr4Ol7sVBe6lBhaHtWhpFMeoUk7LCPTxg7iHRPgIcTKR1MBeFBSDz3gs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592260; c=relaxed/simple;
bh=PqISbMpO8qeuWTjlG8MDM3jFwckzDRaq5U/AGMNoEIw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=MctzVQVdvWlsIptN1+0rfGI5snpH444UdG7CL6PsIP/tI4wUy20fnLAkOm2dNW4i5w/EpF30LNd82aSHvXsTO7rCkGRsyQId2JKJ/h8e4rI3OAC6RhYJqZNLoz1bGJKqA+SyipiRUFjLCwpMiDIebpV+dVHMj6OoJf9A596IfCw=
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 F33FF16F8;
Fri, 30 May 2025 01:04:00 -0700 (PDT)
Received: from [10.57.95.14] (unknown [10.57.95.14])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BFFC83F694;
Fri, 30 May 2025 01:04:14 -0700 (PDT)
Message-ID: <05d60e72-3113-41f0-b81f-225397f06c81@xxxxxxx>
Date: Fri, 30 May 2025 09:04:12 +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 0/2] fix MADV_COLLAPSE issue if THP settings are disabled
Content-Language: en-GB
To: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>, akpm@xxxxxxxxxxxxxxxxxxxx,
hughd@xxxxxxxxxx, david@xxxxxxxxxx
Cc: lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx, npache@xxxxxxxxxx,
dev.jain@xxxxxxx, ziy@xxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <cover.1748506520.git.baolin.wang@xxxxxxxxxxxxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <cover.1748506520.git.baolin.wang@xxxxxxxxxxxxxxxxx>
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 29/05/2025 09:23, Baolin Wang wrote:
> As we discussed in the previous thread [1], the MADV_COLLAPSE will ignore
> the system-wide anon/shmem THP sysfs settings, which means that even though
> we have disabled the anon/shmem THP configuration, MADV_COLLAPSE will still
> attempt to collapse into a anon/shmem THP. This violates the rule we have
> agreed upon: never means never. This patch set will address this issue.

This is a drive-by comment from me without having the previous context, but...

Surely MADV_COLLAPSE *should* ignore the THP sysfs settings? It's a deliberate
user-initiated, synchonous request to use huge pages for a range of memory.
There is nothing *transparent* about it, it just happens to be implemented using
the same logic that THP uses.

I always thought this was a deliberate design decision.

Thanks,
Ryan

>
> [1] https://lore.kernel.org/all/1f00fdc3-a3a3-464b-8565-4c1b23d34f8d@xxxxxxxxxxxxxxxxx/
>
> Baolin Wang (2):
> mm: huge_memory: disallow hugepages if the system-wide THP sysfs
> settings are disabled
> mm: shmem: disallow hugepages if the system-wide shmem THP sysfs
> settings are disabled
>
> include/linux/huge_mm.h | 23 +++++++++++++++++++----
> mm/huge_memory.c | 2 +-
> mm/shmem.c | 12 ++++++------
> 3 files changed, 26 insertions(+), 11 deletions(-)
>


Return-Path: <linux-kernel+bounces-667766-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 1AB7541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:06: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 E588E1BA214D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:06:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A8B4205E2F;
Fri, 30 May 2025 08:06:03 +0000 (UTC)
Received: from ssh248.corpemail.net (ssh248.corpemail.net [210.51.61.248])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A4351D61AA
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:05:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.51.61.248
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748592362; cv=none; b=tsf51qbwEJWfz46I5VehumjV7vpY5+reA7bvWVzDN4UxsLjyTt6+mH8jT8gowYr+X/Y1LqWSICOLjHaL+ux/jB+ZA0Y16L0JY9CS/WFwBXCOhf4yzU//c+s+GQhnjg++qsu13Irc22KTMEaoyIQq6ss1TzMND5xO5hyo4M1SMgA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592362; c=relaxed/simple;
bh=wRPtvgAFvrNkQSxGuy5+SQwve3uu0xS+y0fxFvzjIzA=;
h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=IHLk3dWgwoW6m0gRvWZpfzk4yAPr/dvW89EIhlFjljvy+MPoD+yNyebzJSn1NwrrN8K2QkgLe34oCbisOy6/2jh7BstPzQ8ja5jmgeJIDs/h2Rri9iH4fW/5deCp9Q4VH5sfRewjgd49wfAibIdGDzj2rJFKjK72phnpZwCm5zI=
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.61.248
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 jtjnmail201603.home.langchao.com
by ssh248.corpemail.net ((D)) with ASMTP (SSL) id 202505301604430790;
Fri, 30 May 2025 16:04:43 +0800
Received: from jtjnmail201604.home.langchao.com (10.100.2.4) by
jtjnmail201603.home.langchao.com (10.100.2.3) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.1.2507.39; Fri, 30 May 2025 16:04:42 +0800
Received: from jtjnmail201604.home.langchao.com ([fe80::2830:53ee:1228:5322])
by jtjnmail201604.home.langchao.com ([fe80::2830:53ee:1228:5322%5]) with mapi
id 15.01.2507.039; Fri, 30 May 2025 16:04:42 +0800
From: =?utf-8?B?U2ltb24gV2FuZyAo546L5Lyg5Zu9KQ==?= <wangchuanguo@xxxxxxxxxx>
To: SeongJae Park <sj@xxxxxxxxxx>
CC: "akpm@xxxxxxxxxxxxxxxxxxxx" <akpm@xxxxxxxxxxxxxxxxxxxx>,
"hannes@xxxxxxxxxxx" <hannes@xxxxxxxxxxx>, "david@xxxxxxxxxx"
<david@xxxxxxxxxx>, "mhocko@xxxxxxxxxx" <mhocko@xxxxxxxxxx>,
"zhengqi.arch@xxxxxxxxxxxxx" <zhengqi.arch@xxxxxxxxxxxxx>,
"shakeel.butt@xxxxxxxxx" <shakeel.butt@xxxxxxxxx>,
"lorenzo.stoakes@xxxxxxxxxx" <lorenzo.stoakes@xxxxxxxxxx>,
"linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "damon@xxxxxxxxxxxxxxx"
<damon@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/2] mm/damon/sysfs-schemes: add use_nodes_of_tier on
sysfs-schemes
Thread-Topic: [PATCH 2/2] mm/damon/sysfs-schemes: add use_nodes_of_tier on
sysfs-schemes
Thread-Index: AdvRN0I/Pe3LT5XZQBaj9QtYPLbiIg==
Date: Fri, 30 May 2025 08:04:42 +0000
Message-ID: <d8e3000cfadb443681fabad65093b462@xxxxxxxxxx>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
tUid: 20255301604432de45734cce98a160adada192bf9edc5
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

DQo+ID4gPiA+IFRoaXMgcGF0Y2ggYWRkcyB1c2Vfbm9kZXNfb2ZfdGllciB1bmRlcg0KPiA+ID4g
Pg0KPiA+ID4NCj4gL3N5cy9rZXJuZWwvbW0vZGFtb24vYWRtaW4va2RhbW9uZHMvPE4+L2NvbnRl
eHRzLzxOPi9zY2hlbWVzLzxOPi8NCj4gPiA+ID4NCj4gPiA+ID4gVGhlICd1c2Vfbm9kZXNfb2Zf
dGllcicgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IG5vZGVzIHdpdGhpbiB0aGUNCj4gPiA+ID4gc2Ft
ZSBtZW1vcnkgdGllciBvZiB0YXJnZXRfbmlkIGZvciBEQU1PUyBhY3Rpb25zIHN1Y2ggYXMNCj4g
PiA+IERBTU9TX01JR1JBVEVfe0hPVCxDT0xEfS4NCj4gPiA+DQo+ID4gPiBDb3VsZCB5b3UgcGxl
YXNlIGVsYWJvcmF0ZSBpbiB3aGF0IHNldHVwIHlvdSB0aGluayB0aGlzIG9wdGlvbiBpcw0KPiA+
ID4gdXNlZnVsLCBhbmQgbWVhc3VyZW1lbnQgb2YgdGhlIHVzZWZ1bG5lc3MgaWYgeW91IGhhdmU/
DQo+ID4gPg0KPiA+ID4gSSdtIGFza2luZyB0aGUgYWJvdmUgcXVlc3Rpb24gYmVjYXVzZSBvZiBi
ZWxvdyByZWFzb25zLiAgTXkNCj4gPiA+IGFudGljaWFwdGVkIHVzYWdlIG9mIERBTU9TX01JR1JB
VEVfe0hPVCxDT0xEfSBpcyBmb3Igbm90IG9ubHkgbWVtb3J5DQo+ID4gPiB0aWVyaW5nIGJ1dCBn
ZW5lcmljIE5VTUEgbm9kZSBtYW5hZ2VtZW50LiAgQW5kIG15IHByb3Bvc2VkIHVzYWdlIG9mDQo+
ID4gPiB0aGVzZSBmb3IgbWVtb3J5IHRpZXJpbmcgaXMgbWFraW5nIHBlci1ub2RlIHByb21vdGlv
bi9kZW1vdGlvbiBmb3INCj4gPiA+IGdyYWR1YWxseSBwcm9tb3RpbmcgYW5kIGRlbW90aW5nIHBh
Z2VzIHN0ZXAgYnkgc3RlcCBiZXR3ZWVuIG5vZGUuDQo+ID4gPiBJdCBjb3VsZCBiZSBzbG93IGJ1
dCBJIGFudGljaXBhdGUgc3VjaCBzbG93IGJ1dCBjb250aW51ZWQNCj4gPiA+IHByb21vdGlvbi9k
ZW1vdGlvbiBpcyBtb3JlIGltcG9ydGFudCBmb3IgcmVsaWFibGUgcGVyZm9ybWFuY2Ugb24NCj4g
cHJvZHVjdGlvbiBzeXN0ZW1zIG9mIGxhcmdlIHRpbWUgc2NhbGUuDQo+ID4gPiBBbmQgSSBiZWxp
ZXZlIHRoZSBhcHByb2FjaCBjYW4gYmUgYXBwbGllZCB0byBnZW5lcmFsIE5VTUEgbm9kZXMNCj4g
PiA+IG1hbmFnZW1lbnQsIG9uY2UgREFNT04gaXMgZXh0ZW5kZWQgZm9yIHBlci1DUFUgYWNjZXNz
IG1vbml0b3JpbmcuDQo+ID4gPg0KPiA+ID4gSSdtIG5vdCBzYXlpbmcgdGhpcyBjaGFuZ2UgaXMg
bm90IHVzZWZ1bCwgYnV0IGFza2luZyB5b3UgdG8gZ2l2ZSBtZQ0KPiA+ID4gYSBjaGFuY2UgdG8g
bGVhcm4geW91ciBjaGFuZ2VzLCBiZXR0ZXIuDQo+ID4NCj4gPiBJIGJlbGlldmUgc29tZSB1c2Vy
cyBtYXkgd2FudCB0byDigIvigIt1c2Ugb25seSB0aGUgdGFyZ2V0IG5vZGUncyBtZW1vcnnigIvi
gIsNCj4gPiBhbmQgcmVzZXJ2ZSBvdGhlciBub2RlcyBpbiB0aGUgc2FtZSB0aWVyIGZvciBzcGVj
aWZpYyBhcHBsaWNhdGlvbnMuDQo+ID4gVGhlcmVmb3JlLCBJIGFkZGVkIGEgc3dpdGNoIGZpbGUg
dXNlX25vZGVzX29mX3RpZXIuDQo+IA0KPiBUaGFuayB5b3UgZm9yIGNsYXJpZnlpbmcsIFNpbW9u
Lg0KPiANCj4gQmVjYXVzZSB0aGlzIGlzIGFuIEFCSSBjaGFuZ2UgdGhhdCBkaWZmaWN1bHQgdG8g
cmV2ZXJ0IGFuZCB0aGVyZWZvcmUgd2UgbWF5DQo+IG5lZWQgdG8gc3VwcG9ydCBmb3IgbG9uZyB0
ZXJtLCBJJ2QgbGlrZSB0byBoYXZlIG1vcmUgY2xlYXIgdGhlb3J5IGFuZC9vciBkYXRhIGlmDQo+
IHBvc3NpYmxlLiAgSW4gbXkgaHVtYmxlIG9waW5pb24sIGFib3ZlIGNsYXJpZmljYXRpb24gZG9l
c24ndCBzb3VuZCBsaWtlIGENCj4gc3Ryb25nIGVub3VnaCBqdXN0aWZpY2F0aW9uIGZvciBBQkkg
Y2hhbmdlLg0KPiANCj4gTW9yZSBzcGVjaWZpY2FsbHksIGl0IHdvdWxkIGJlIGJldHRlciBpZiB5
b3UgY291bGQgYW5zd2VyIGJlbG93IHF1ZXN0aW9ucy4NCj4gV2hvIHdvdWxkIGJlIHN1Y2ggdXNl
cnMsIGhvdyBjb21tb24gdGhlIHVzZSBjYXNlIHdvdWxkIGJlLCBhbmQgd2hhdCBhcmUNCj4gdGhl
IGJlbmVmaXQgb2YgZG9pbmcgc28/ICBJcyB0aGF0IG9ubHkgdGhlb3J5PyAgT3IsIGEgcmVhbCBl
eGlzdGluZyB1c2UgY2FzZT8NCj4gQ2FuIHlvdSBzaGFyZSBtZWFzdXJlbWVudCBvZiB0aGUgYmVu
ZWZpdCBmcm9tIHRoaXMgY2hhbmdlIHRoYXQgbWVhc3VyZWQNCj4gZnJvbSByZWFsIHdvcmtsb2Fk
cyBvciBiZW5jaG1hcmtzPyAgSXMgdGhlcmUgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIGRvIHRoaXMN
Cj4gd2l0aG91dCBBQkkgY2hhbmdlPw0KDQoNCllvdXIgY29uY2VybiBpcyB0aGF0IGFkZGluZyB0
aGUgYm9vbCB1c2Vfbm9kZXNfb2ZfdGllciB2YXJpYWJsZSBhbmQgaW50cm9kdWNpbmcgDQphbiBh
ZGRpdGlvbmFsIHBhcmFtZXRlciB0byBtdWx0aXBsZSBmdW5jdGlvbnMgd291bGQgY2F1c2UgQUJJ
IGNoYW5nZXMsIGNvcnJlY3Q/4oCL4oCLDQoNCuKAi+KAi0kgcHJvcG9zZSBhdm9pZGluZyB0aGUg
Y3JlYXRpb24gb2YgdGhlICd1c2Vfbm9kZXNfb2ZfdGllcicgc3lzZnMgZmlsZS4gSW5zdGVhZCwg
DQp3ZSBjYW4gbW9kaWZ5IHRoZSBfX2RhbW9uX3BhX21pZ3JhdGVfZm9saW9fbGlzdCgpIGZ1bmN0
aW9uIHRvIGNoYW5nZSB0aGUgYWxsb3dlZF9tYXNrIA0KZnJvbSBOT0RFX01BU0tfTk9ORSB0byB0
aGUgZnVsbCBub2RlIG1hc2sgb2YgdGhlIGVudGlyZSB0aWVyIHdoZXJlIHRoZSB0YXJnZXRfbmlk
IHJlc2lkZXMuIA0KVGhpcyBhcHByb2FjaCB3b3VsZCBiZSBzaW1pbGFyIHRvIHRoZSBpbXBsZW1l
bnRhdGlvbiBpbiBjb21taXQgMzIwMDgwMjcyODkyDQogKCdtbS9kZW1vdGlvbjogZGVtb3RlIHBh
Z2VzIGFjY29yZGluZyB0byBhbGxvY2F0aW9uIGZhbGxiYWNrIG9yZGVyJykuDQoNCkknZCBsaWtl
IHRvIGNvbmZpcm0gdHdvIG1vZGlmaWNhdGlvbiBwb2ludHMgd2l0aCB5b3U6DQrigIvigIsxLlJl
Z2FyZGluZyBhbGxvY19taWdyYXRlX2ZvbGlvKCnigIvigIs6DQpSZXN0b3JpbmcgdGhlIG9yaWdp
bmFsIG5vZGVtYXNrIGFuZCBnZnBfbWFzayBpbiB0aGlzIGZ1bmN0aW9uIGlzIHRoZSBjb3JyZWN0
IGFwcHJvYWNoLCBjb3JyZWN0Pw0K4oCL4oCLMi5SZWdhcmRpbmcgREFNT04ncyBtaWdyYXRpb24g
bG9naWPigIvigIs6DQpUaGUgdGFyZ2V0IHNjb3BlIHNob3VsZCBiZSBleHBhbmRlZCBmcm9tIGEg
c2luZ2xlIHNwZWNpZmllZCBub2RlIHRvIHRoZSBlbnRpcmUgbWVtb3J5IHRpZXINCiAod2hlcmUg
dGhlIHRhcmdldCBub2RlIHJlc2lkZXMpLCBjb3JyZWN0Pw0K4oCL4oCLQ2FuIHdlIGNvbmZpcm0g
dGhlc2UgdHdvIHBvaW50cyBhcmUgYWdyZWVkIHVwb24/4oCLDQogDQo+ID4gSSB0aGluayBpdCBt
aWdodCBiZSBiZXR0ZXIgdG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mDQo+ID4gdXNlX25vZGVz
X29mX3RpZXIgdG8gdHJ1ZSAoaS5lLiwgYWxsb3cgdXNpbmcgZmFsbGJhY2sgbm9kZXMpLiBXaGF0
IGRvDQo+ID4geW91IHRoaW5rDQo+IA0KPiBJbiBteSBodW1ibGUgb3Bpbmlvbiwgd2UgY2FuIGNv
bnNpZGVyIHNldHRpbmcgaXQgdHJ1ZSBieSBkZWZhdWx0LCBpZiB3ZSBhZ3JlZQ0KPiB0aGUgYmVu
ZWZpdCBvZiB0aGUgY2hhbmdlIGlzIHNpZ25pZmljYW50LiAgV2l0aCBvbmx5IGN1cnJlbnRseSBn
aXZlbiBpbmZvcm1hdGlvbiwNCj4gSSBjYW5ub3QgZWFzaWx5IHNheSBpZiBJIHRoaW5rIHRoaXMg
Y2FuIHJlYWxseSBiZSB1c2VmdWwuICBBcyBhc2tlZCBhYm92ZWx5LCBtb3JlDQo+IGNsZWFyIHRo
b2VyeSBhbmQvb3IgcmVhbCBkYXRhIHdvdWxkIGJlIGhlbHBmdWwuDQo+IA0KPiA+DQo+ID4gPiA+
DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IHdhbmdjaHVhbmd1byA8d2FuZ2NodWFuZ3VvQGluc3B1
ci5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgaW5jbHVkZS9saW51eC9kYW1vbi5oICAgICAg
ICB8ICA5ICsrKysrKysrLQ0KPiA+ID4gPiAgaW5jbHVkZS9saW51eC9tZW1vcnktdGllcnMuaCB8
ICA1ICsrKysrDQo+ID4gPiA+ICBtbS9kYW1vbi9jb3JlLmMgICAgICAgICAgICAgIHwgIDYgKysr
Ky0tDQo+ID4gPiA+ICBtbS9kYW1vbi9scnVfc29ydC5jICAgICAgICAgIHwgIDMgKystDQo+ID4g
PiA+ICBtbS9kYW1vbi9wYWRkci5jICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrLS0tLS0t
LQ0KPiA+ID4gPiAgbW0vZGFtb24vcmVjbGFpbS5jICAgICAgICAgICB8ICAzICsrLQ0KPiA+ID4g
PiAgbW0vZGFtb24vc3lzZnMtc2NoZW1lcy5jICAgICB8IDMxDQo+ID4gPiArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKystDQo+ID4gPiA+ICBtbS9tZW1vcnktdGllcnMuYyAgICAgICAgICAg
IHwgMTMgKysrKysrKysrKysrKw0KPiA+ID4gPiAgc2FtcGxlcy9kYW1vbi9tdGllci5jICAgICAg
ICB8ICAzICsrLQ0KPiA+ID4gPiAgc2FtcGxlcy9kYW1vbi9wcmNsLmMgICAgICAgICB8ICAzICsr
LQ0KPiA+ID4gPiAgMTAgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp
b25zKC0pDQo+ID4gPg0KPiA+ID4gQ2FuIHdlIHBsZWFzZSBtYWtlIHRoaXMgY2hhbmdlIG1vcmUg
c2VwYXJhdGVkPyAgTWF5YmUgd2UgY2FuIHNwbGl0DQo+ID4gPiB0aGUgY2hhbmdlIGZvciBtZW1v
cnktdGllcnMuYywgREFNT04gY29yZSBsYXllciwgYW5kIERBTU9OIHN5c2ZzDQo+IGludGVyZmFj
ZS4NCj4gPiA+IFRoYXQgd2lsbCBtYWtlIHJldmlldyBtdWNoIGVhc2llci4NCj4gPg0KPiA+IFll
cyxJJ2xsIHNwbGl0IHRoaXMgcGF0Y2ggdG8gYmUgMiBwYXRjaGVzLg0KPiANCj4gVGhhbmsgeW91
IGZvciBhY2NlcHRpbmcgbXkgc3VnZ2VzdGlvbi4gIEJ1dCBJIHRoaW5rIGl0IGRlc2VydmVzIDMg
cGF0Y2hlcywNCj4gZWFjaCBmb3INCj4gDQo+IC0gbWVtb3J5LXRpZXJzLmMsDQo+IC0gREFNT04g
Y29yZSBsYXllciwgYW5kDQo+IC0gYW5kIERBTU9OIHN5c2ZzIGludGVyZmFjZS4NCj4gDQo+IEJ1
dCwgbGV0J3MgZnVydGhlciBkaXNjdXNzIG9uIHRoZSBoaWdoIGxldmVsIHRvcGljIChpZiB0aGlz
IGNoYW5nZSBpcyByZWFsbHkNCj4gYmVuZWZpY2lhbCBlbm91Z2ggdG8gbWFrZSBBQkkgY2hhbmdl
KS4NCj4gDQo+IA0KPiBUaGFua3MsDQo+IFNKDQo+IA0KPiBbLi4uXQ0K

Return-Path: <linux-kernel+bounces-667767-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 25F3141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04: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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 4F8634E010A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:06:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 423AA211A05;
Fri, 30 May 2025 08:06:38 +0000 (UTC)
Received: from mail-ua1-f47.google.com (mail-ua1-f47.google.com [209.85.222.47])
(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 99FB038B;
Fri, 30 May 2025 08:06:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.47
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748592397; cv=none; b=PS1DMPywh9PtnL0dZuCj/YHcTNBKnnoZrvk1rnDpyJ87BF+x62/wVUy0mNklku5emeuQwx3TP5DBXlZq2wAdUqJU4LP2uwrtfIZTdz0dq2UBUgb/ibKaZdoB9b0B2Oqlnka6D9OwE5t0lZ2hoqFSM2XWKHwC3kygD7PjFyoRBG4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592397; c=relaxed/simple;
bh=lvLxyVrYQzJysV3uOxVPsS5JhN/ohssoYL5mRw3MV+M=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=Wu0Iq8xxEEz2i+lDQombBrC+Hzki611Bqu3MckStmGSzufIzCTBpah+B19aT8u6/LCCxOsZ7w4rQXMHclqJXhj/KTlLGVk/BjOGfDam7ywnRC2p23F1Sh9B3MrMatXWKj9wmNTGxaTRwpCFPlS5uwaLCQrY0vg7y+Wg2vmV3I3w=
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.47
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-f47.google.com with SMTP id a1e0cc1a2514c-87dfde2aea2so467738241.2;
Fri, 30 May 2025 01:06:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748592390; x=1749197190;
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=UODADZBFNNuhdOjNi7w1d1lWaPaCSwIUX58mKie6mVI=;
b=oNlFZsYdIE7gwINfDQw+t7ZjXs9pJFH2MiJIefyCXFRNb3LoyWIFRswXPo3vKrwZ0F
F55MT1izLI/2R+uV99dSjF5pNpfRbhCxbIBHXIoPR63zMmlom8CM6bndHjrEA1gQ19FH
upNBiHDADq5/3yDkSDQatZwDVhN9CwwK9pm9myVvQ3wTqMzfb9gMm6Pf3vE/9fIQBwlG
FPBMRXwCfClsTcXqfPV1OzVidxCuej9iNI0iOyy5Kbnb668jNV3uNxUWaky35sTb9OLv
ukGfw0j98Qkb0pLiOWTpuSckZeSqHEAnxfJllb9Psp4S7HLcgd6b/LTynWjoLZRdFM0h
Fnzg==
X-Forwarded-Encrypted: i=1; AJvYcCUB6rnhVVrN++sOInR6FEmPk2eDAoCMYh5ClQd83Js5Ns/5ppT9QL9I2iP2K+DR6gPxpthZGswbgAYrBF81@xxxxxxxxxxxxxxx, AJvYcCUrZFgu/FNVDqaAlnrZJlZ2DcFPnG1zKJTf506odnyBQf86ukoNglHn1vU89nIUJhh5RZyxXhf56aj+@xxxxxxxxxxxxxxx, AJvYcCVZO/1q/TLnFA5aZpgdNvMljM4KpXOY1oJQ4GWOISsjNwnPGNGgrJTu4UmSY2YGn087TV12NncXWiDfbYw=@vger.kernel.org, AJvYcCWdG9N/PeiGpZPwLWL7rQ7J5PAohS1x75HzTmrCyhyAKPGJ3lodStRgSQuih5w2pZAJFclaPx7wuQ/c@xxxxxxxxxxxxxxx, AJvYcCXtnh+VMDUiq2uL04wSu7KB0McGMcV4mncuOvHR48xm3txR914KqHLrdDovfocMmyDYZYazL21QBqKpZJhKNqHlhnE=@vger.kernel.org
X-Gm-Message-State: AOJu0YwsXIuZPYofvTmPdqTrRKkA5c4bWeMD32QWLeHOmuRIQrmettog
WE5pWEeI1jMrYAcrH+R5mKw6nl+kw02d4lDow2JRgGv7M5DXiaTvatO7N1jvSEFj
X-Gm-Gg: ASbGncvyu+cOWnwfz9IEBFd/IFUs0lh5xV8N3akIUKqjjnao3O3GNZpu+YK/KjmF315
c353egU9FOOC+udoVmKpZO0tpatocPWNw4A/R0A6y/sgJmzn30nCWqRQONrEwERaihroXw6zsB3
fBr2CsJb4OcrgN1Dnb1iUmRSOBN1ZHh7J9tw9FmS6N2Fk2sX4GzQcBEV1sAEzx5ge5htWF5XQzn
Qh5MXjRL8wVcKGYiptcZcFk3kpMhcNRwQxTC65UdBWv8a0j0pT5QFiy4mOomgpKu2WWeO7tGlHQ
q2W5Fldh/13fvdrk+78LWYwY9nsOp8eoJh206ZpXBPT9fC3TxrAo5QK9bWqiDjfmoqh7pWNUh1t
7JZ/lnjGkBf9b0IJtZw==
X-Google-Smtp-Source: AGHT+IFWq1SXxMlo8s+dLVsk6Dc+TcdJkvf+UTgpCEvKu7cUsL4LnPlY+2mnpsxt3AQ+1ZkyBf/rWQ==
X-Received: by 2002:a05:6102:508e:b0:4e5:a40b:5a72 with SMTP id ada2fe7eead31-4e6e40d93afmr2320037137.5.1748592390606;
Fri, 30 May 2025 01:06:30 -0700 (PDT)
Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com. [209.85.221.175])
by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-87e2a3b63c9sm2320275241.31.2025.05.30.01.06.28
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 01:06:29 -0700 (PDT)
Received: by mail-vk1-f175.google.com with SMTP id 71dfb90a1353d-527a2b89a11so728000e0c.2;
Fri, 30 May 2025 01:06:28 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCUZ5HETBlxCjIl/PE+SBuD3rCQluZPWGPXUYw+I/JLnNUrOsfeysr0WKJXMH9cEdPOkhXHTGR8+jiMz10g=@vger.kernel.org, AJvYcCUoWqKxhuWbBVn2M0caX90mfkkW3cwAqs7yi/7plCkst8iFwQHjJSbz76Hm7OD5/qPRocPp1i6HPRBC@xxxxxxxxxxxxxxx, AJvYcCVqj+ulthrjb4OJEy1adZvC7MyimW/EYdxyzOOmHh1EP2fjgiZ50lR4ZTjDmQOCouiLxENqR2LykMIzPKpmrvipOvE=@vger.kernel.org, AJvYcCW87ir6kPgbN15zHj1/9dsZxVH+VY6WoFvnJ94ng4lS0HD1snAI9/gvZ4ynQ6+fA5ky9gojZEmBaO1g@xxxxxxxxxxxxxxx, AJvYcCXi0Hxn1n6ckSApWBxIlxO2RWJ1dqZi6n7hQzWDQ+EpJ/0kEXI72JK483G2XIu9NinmCDJhv88WAI/KIoPz@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6122:17aa:b0:530:677b:1e93 with SMTP id
71dfb90a1353d-53080df1088mr2012964e0c.0.1748592388616; Fri, 30 May 2025
01:06:28 -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: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
<20250528-pinctrl-const-desc-v1-14-76fe97899945@xxxxxxxxxx>
<CAMuHMdUGDf5n_Fg7pwiPumm95nPUXyH15geAy2ULwY3U+OtZJA@xxxxxxxxxxxxxx> <b6b7fb61-878e-4407-b964-564efb3524b1@xxxxxxxxxx>
In-Reply-To: <b6b7fb61-878e-4407-b964-564efb3524b1@xxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 10:06:16 +0200
X-Gmail-Original-Message-ID: <CAMuHMdUHyLYk0oSN8XDNCXUvLQLe2u0k0noVJLbR+pYWDTB4+w@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFuCNZIpijI8V-LFtD11RdEuCtx09JrM6Rph_c1WT65W3SrLJtlImd30cUI
Message-ID: <CAMuHMdUHyLYk0oSN8XDNCXUvLQLe2u0k0noVJLbR+pYWDTB4+w@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 14/17] pinctrl: renesas: Move fixed assignments to
'pinctrl_desc' definition
To: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Cc: 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?B?UmFmYcWCIE1pxYJlY2tp?= <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>, 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,
Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
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 Krzysztof,

CC wsa

On Wed, 28 May 2025 at 19:55, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
> On 28/05/2025 14:54, Geert Uytterhoeven wrote:
> >> .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);
> >
> > ... if you would replace this assignment by a hardcoded name
> > like "pinctrl-rzn1".
>
> I saw it, but this would not be equivalent. dev_name includes platform
> bus id, e.g. pinctrl-rzn1.0 which might matter here - conflict of names.
> Are you sure this would work fine?

There can be only one anyway.
Most drivers used a fixed name:

drivers/pinctrl/renesas/pinctrl-rza1.c: rza1_pctl->desc.name = DRIVER_NAME;
drivers/pinctrl/renesas/pinctrl-rza2.c: priv->desc.name = DRIVER_NAME;
drivers/pinctrl/renesas/pinctrl-rzg2l.c: pctrl->desc.name = DRV_NAME;
drivers/pinctrl/renesas/pinctrl-rzn1.c: rzn1_pinctrl_desc.name =
dev_name(&pdev->dev);
drivers/pinctrl/renesas/pinctrl-rzt2h.c: desc->name = DRV_NAME;
drivers/pinctrl/renesas/pinctrl-rzv2m.c: pctrl->desc.name = DRV_NAME;
drivers/pinctrl/renesas/pinctrl.c: pmx->pctl_desc.name = DRV_NAME;

It might change the path in debugfs (/sys/kernel/debug/pinctrl/) though.
Wolfram?

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-667768-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 9F6E741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04: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 A3F913AE399
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:06:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C7560205E2F;
Fri, 30 May 2025 08:07:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="b/FLCOQm"
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 576A938B
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:07:01 +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=1748592422; cv=none; b=I4WYhqFL8fCrOEvzPmm5t3GcnCCbpjKVteUAnmlw2kjUcQ+tRhLQacGONvBTm/Du0ObBjoCCsSV+KGW22p3GmceoRgj4uPcjEZIlA2pr+GjTEHVpBMqJkoVN8niWU3f18ZIxkXNVNo4c/0fyviFxisf1f9xog1AzXf9Mw/sfQjI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592422; c=relaxed/simple;
bh=1MCaFvumFxkZrMchTN7K2ItI5FI8429EhqZG3F27pFs=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=E2T2GkHVXWjjQZvja2yE2poipYNWNPqy1nCcM1BeJpHzyV4XB1ImLTu1Bd+tKK3WyjbUCk9LCYdP9qTekf1vnVcbC3IcmX/Lc5bL2fluFyTod1dmksk0GvBwLH75tFwl8GGTlbkoFpoRSYm2GWdRZ1GzFz1E4e1UzzV2k3cVa5s=
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=b/FLCOQm; 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=1748592420;
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=6Dzf/b6l9QGCtMTCvICyRITM8gExIaAXao9oUV4gRsA=;
b=b/FLCOQmyO6YaAyO57zd3kMrnWVfPfLjewa2KHIKGTzqqIRCkaRK2Y/md9vMetBLhzzjxx
veSPpTK+rurYBxw+7aZfAJHEdCQhzzVcbRsvjckkGLItWlQOAA5A192+i97tvyfGWXWIKm
Pe6BsYyPzlY8wDH2LBEcQBfWci8rAu0=
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-589-GuSWWQmbP7WD8pwGbSJUQA-1; Fri, 30 May 2025 04:06:58 -0400
X-MC-Unique: GuSWWQmbP7WD8pwGbSJUQA-1
X-Mimecast-MFC-AGG-ID: GuSWWQmbP7WD8pwGbSJUQA_1748592417
Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4f3796779so899040f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Fri, 30 May 2025 01:06:58 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748592414; x=1749197214;
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=6Dzf/b6l9QGCtMTCvICyRITM8gExIaAXao9oUV4gRsA=;
b=eXqB0Hp8oQLtezM0J/jRj2ChrgaeMYuxB9EA7wUTsv5zZHvmfVg/hrSUAdFOYEL8Kz
3DvkDla6URlx9aciiu2e3ac7qTAp9FhLkrm7ckg883a2SQjC5tyju4jfIbdnGK2P22Xx
9dk1aKD12z4AsEVLCkuGHR2Ai76lX5kccfJeaJuZGCgTLzSdDhEdy0MMB2SWqjc1A12B
AsDqxRZ3VMqsJVNcM4YeP5oiqj3FJ7QJ9cqk2MecxtdxoOep/CqGK0ZsMbT1a6qZQ3lT
nwB7FWjHgRKy8cVJgNgTshHeOZd4yLAW+IL2xE7janCM8g28Dzvs1QwVy+kxFTg8wsMf
v/iQ==
X-Forwarded-Encrypted: i=1; AJvYcCXxie5cQJ+Q6Jli00TJ0Ug/Rz3PQItCK2eToC/HvmonAYb+cD2HNwA9r7wqXu7EE5mEKo2/R0w16WBFaf0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yyhwsbm+9jGTX4Gl6qTKjpo2tWol1zCPVk1Nq2t5L+lrJLYgFrP
q3stM92pz1G+en4P3zXcOAKQQF0+SVY15ZAFPIYQDr9wg89oqAXXbd78Op5CsNKeF/d9Gvfi3+Z
dGdOF3HE6MZrnySUvicFNOAqcrqrbYeHlFyKzEG2EmhMOZaBvlJlrR8QP8eh/GSpUmw==
X-Gm-Gg: ASbGncuax2N8Oa+VlO9i7wG99VKlT0WfzmjOjco64cZWauI+4IPFs3ZavZgVfNaiO51
z++oUDeDMAYXakFtz0MoADcjSst7xOdIVfnXcoEAvXYXvPIE57sXH7LUfrP482Jlux2zrKog6/B
R9i0fx4AlTR+VZ5NeHQQZNMiJ+v8Dv2mHBglVEgysJaVHLQY/XKC5FuvQEhqpYzeHoehvHEgdA9
rJ0tLWP9FNlqxpKhq9mVkw08Vv0ob9r53In8SlGO0rr9s5Q6g0PWwXe5hcdGIg8k8pHWuS8uUFH
TkdiaJpYmwQmqu/mcinuSAuD3zcgQPosGvL7CAnGotTxAumyc41wtugewD4bYGLPtDS2JQOXykW
V6dACAIHfF3XELnQSKi9ozpfYBbhktL7X8/nDGlE=
X-Received: by 2002:a5d:4e84:0:b0:3a4:f7e6:2b29 with SMTP id ffacd0b85a97d-3a4f7e62b33mr1233186f8f.5.1748592414505;
Fri, 30 May 2025 01:06:54 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFitKTov933TL6/U7IMqJv7qvimg/JjiUTLT8m5lvXzWlGBTnGMyap/xgTwc/uDHj8b7FUqpQ==
X-Received: by 2002:a5d:4e84:0:b0:3a4:f7e6:2b29 with SMTP id ffacd0b85a97d-3a4f7e62b33mr1233158f8f.5.1748592414107;
Fri, 30 May 2025 01:06:54 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f03:5b00:f549:a879:b2d3:73ee? (p200300d82f035b00f549a879b2d373ee.dip0.t-ipconnect.de. [2003:d8:2f03:5b00:f549:a879:b2d3:73ee])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe2b35dsm4136917f8f.0.2025.05.30.01.06.53
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 01:06:53 -0700 (PDT)
Message-ID: <a1a5af90-bc8a-448a-81fa-485624d592f3@xxxxxxxxxx>
Date: Fri, 30 May 2025 10:06:52 +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 0/5] kdump: crashkernel reservation from CMA
To: Michal Hocko <mhocko@xxxxxxxx>
Cc: Baoquan He <bhe@xxxxxxxxxx>, Donald Dutile <ddutile@xxxxxxxxxx>,
Jiri Bohac <jbohac@xxxxxxx>, Vivek Goyal <vgoyal@xxxxxxxxxx>,
Dave Young <dyoung@xxxxxxxxxx>, kexec@xxxxxxxxxxxxxxxxxxx,
Philipp Rudo <prudo@xxxxxxxxxx>, Pingfan Liu <piliu@xxxxxxxxxx>,
Tao Liu <ltao@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
David Hildenbrand <dhildenb@xxxxxxxxxx>
References: <Z7dc9Cd8KX3b_brB@xxxxxxxxxxxxx>
<04904e86-5b5f-4aa1-a120-428dac119189@xxxxxxxxxx>
<427fec88-2a74-471e-aeb6-a108ca8c4336@xxxxxxxxxx>
<Z8Z/gnbtiXT9QAZr@MiWiFi-R3L-srv>
<e9c5c247-85fb-43f1-9aa8-47d62321f37b@xxxxxxxxxx>
<aDgQ0lbt1h5v0lgE@tiehlicka>
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: <aDgQ0lbt1h5v0lgE@tiehlicka>
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 29.05.25 09:46, Michal Hocko wrote:
> On Wed 28-05-25 23:01:04, David Hildenbrand wrote:
> [...]
>> I think we just have to be careful to document it properly -- especially the
>> shortcomings and that this feature might become a problem in the future.
>> Movable user-space page tables getting placed on CMA memory would probably
>> not be a problem if we don't care about ... user-space data either way.
>
> I think makedumpfile could refuse to capture a dump if userspace memory
> is requested to enforce this.

Yeah, it will be tricky once we support placing other memory on CMA
regions. E.g., there was the discussion of making some slab allocations
movable.

But probably, in such a configuration, we would later simply refuse to
active CMA kdump.

>
>> The whole "Direct I/O takes max 1s" part is a bit shaky. Maybe it could be
>> configurable how long to wait? 10s is certainly "safer".
>
> Quite honestly we will never know and rather than making this
> configurable I would go with reasonably large. Couple of seconds
> certainly do not matter for the kdump situations but I would go as far
> as minutes.

I recall that somebody raised that kdump downtime might be problematic
(might affect service downtime?).

So I would just add a kconfig option with a default of 10s.

But even better if we can avoid the kconfig and just make it 10s for all
setups.

I would not suggest having a different (runtime/boottime) way of
configuring this.

--
Cheers,

David / dhildenb


Return-Path: <linux-kernel+bounces-667769-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 C07EA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:07: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 B6B53170A2E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:07:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AE636211710;
Fri, 30 May 2025 08:07:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="itqviZbu"
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 DB22F38B;
Fri, 30 May 2025 08:07:43 +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=1748592465; cv=none; b=p/tnMcfOfSiaXAcrIQTQWhmO06NPF0xA9y+27PlhboV4RH4L8sVyUApjH70ORbgwwJJb06gG58gZAKNrzVv5m7svGBhJc8FPwzRmei/elv3Urgaw+kyMyG0qEs1QSoTIxTx0137X6CVMQhL+JqiTJ10nOWyznc+carZStNcLals=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592465; c=relaxed/simple;
bh=jeQaQmSzajxhy2ABKGDv12x6kY0gugQNU8mqqLy4bfk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rtBGpMfgoySj6enFfVunpl1XlERW+mXr17b8qyqMyE/XKLAY1iCpNxXpWI59cO1tbe52LRz9VJlMmfLaRKEFCfsnqO4GYGWbbx/iVFzdAIQeC2WwtZoaRKtocdfp6zaK79Vq1IQwysaD3NgulSVvT+KR29CysYrJQfseODv0NFI=
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=itqviZbu; 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=x4yJenjzPsXu4YA54k4GxvBdrJDJtbFVIWhgAuxSODw=; b=itqviZbuhTKE8rKglevp6+/8a3
doOpg792yyQ86+iyeaJouM0F7eSW2PXqfEKD9Z6de1UM80onnwuU2K6jqphpUgA9mMWJ7vg2b3GY8
rjLfmH22LyBdJD5vHs3R9Bmmds1pyVeLP/gfDxPe5BJYhi1XvlXyfLrsvCoJeZ4vQlqV43gK0Imuz
z9c8q2KZUo79wdS+scP0cSLDRwShtWgJxXPLkzDS3cg/qSz0tLDDPfzrdLlhOYSUb5QDJNl2okN6O
WrizLVJgbDKUvRVYOW35+qM0jKL2GY33TzXIfP3M7oVZZ0C64ZKllKz/qz4e3Sr7p6tYLoYDxa2ME
ewdGL/zg==;
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 1uKum6-0000000Fbgg-34as;
Fri, 30 May 2025 08:07:34 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id 2AE3830066A; Fri, 30 May 2025 10:07:34 +0200 (CEST)
Date: Fri, 30 May 2025 10:07:33 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>,
x86 Maintainers <x86@xxxxxxxxxx>,
LKML <linux-kernel@xxxxxxxxxxxxxxx>,
Linux PM <linux-pm@xxxxxxxxxxxxxxx>, Len Brown <lenb@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Borislav Petkov <bp@xxxxxxx>,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>,
"Gautham R. Shenoy" <gautham.shenoy@xxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Todd Brandt <todd.e.brandt@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v1 0/2] x86/smp: Fix power regression introduced by
commit 96040f7273e2
Message-ID: <20250530080733.GH39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <2006806.PYKUYFuaPT@xxxxxxxxxxxxx>
<20250528131759.GA39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<CAJZ5v0i=TWMjPKxGa8eT-prV=dtQo=pwys5amcj3QL9qo=EYyQ@xxxxxxxxxxxxxx>
<20250528133807.GC39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<CAJZ5v0g2+OVdFM-bUCOynNivUc4doxH=ukt9e9Z_nKpoZh6gPA@xxxxxxxxxxxxxx>
<20250528160523.GE39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<CAJZ5v0jzF19rToJMHhEvU6Zbt3690KWCs-B_0sPR=s9xeRiUnQ@xxxxxxxxxxxxxx>
<20250529085358.GY24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<CAJZ5v0hw1910Gsb57POVhax1hAbEGHa7xksr_FygNd_JL-oeOA@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: <CAJZ5v0hw1910Gsb57POVhax1hAbEGHa7xksr_FygNd_JL-oeOA@xxxxxxxxxxxxxx>
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 Thu, May 29, 2025 at 11:38:05AM +0200, Rafael J. Wysocki wrote:

> First off, I'm not sure if all of the requisite things are ready then
> (sysfs etc.).

Pretty much everything is already running at early_initcall(). Sysfs
certainly is.

> We may end up doing this eventually, but it may not be straightforward.
>
> More importantly, this is not a change for 6.15.y (y > 0).

Seriously, have you even tried?

AFAICT the below is all that is needed. That boots just fine on the one
randon system I tried, and seems to still work.

And this is plenty small enough to go into 6.15.y


diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index 0835da449db8..0f25de8081af 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -814,4 +814,4 @@ static int __init cpuidle_init(void)

module_param(off, int, 0444);
module_param_string(governor, param_governor, CPUIDLE_NAME_LEN, 0444);
-core_initcall(cpuidle_init);
+early_initcall(cpuidle_init);

Return-Path: <linux-kernel+bounces-667770-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 0F9C841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:08: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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 9E7F77A3042
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:07:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 71B5E211A27;
Fri, 30 May 2025 08:08:13 +0000 (UTC)
Received: from mail-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.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 69F8E1D9663;
Fri, 30 May 2025 08:08:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748592493; cv=none; b=K8uBlXmUttXvzPFXnNkB8iaTaAgIK/QnOkpjMV7Rx5A0X6yqR0CmYsXqaC28IR9adES1mjPnBzATEsX6BMx2JUQgmtgfEICfYADROD8DJS0JCf8YDjVopyO7Xf+fodD3XiXQmPU/z3Vl9Bt4mlJYEeTsjlv16VvRD/DTxUt523c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592493; c=relaxed/simple;
bh=6tCwL2u6KuPKr/TaecQfjUqpAzt2QIbqc/AOFOxhOf8=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=dSelu/iwPqziiRgu4GmopUgbVmAOMcU5jyPCNfM+fE3qmZ+33+OW5Hrh2tqSO9UO5unumsAXUZPPbzjzllrtoEZrvKIC4rV+J2f9fptBIsOpXpB7xd8pjrYT81v5m5F6QTsg16wXEqxpy076VByQQWgoQF+jdRudmoXoAl0dmAw=
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.49
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-f49.google.com with SMTP id a1e0cc1a2514c-87e37ab3c70so571823241.1;
Fri, 30 May 2025 01:08:10 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748592488; x=1749197288;
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=GikN2gdrNYhKG8oqhbkwJBiHi9aqCl1oQYrPKglurbU=;
b=PmQ9j59ZeBQMrbVHqo5PBc+GFAmKzmbCz/wQAxLqy+9wU2GI254MfeB039TlzwgvyQ
2yo2uq08XDgvqlDFdQTirJHyvPKva40jK3HDIFPaLYLZ/ySLwnyEvUvjju16+xv+V4C9
l36KJOXH7LOhW1D1S6nlTcvYbtzQhwCuvjmL53MSAgwJ/oHfeEhWskk6LKgaxjWzQDLG
S/WS+kBo7h5sU6RBtnjtzgfaU2Y4y7tSGAcSI8kttWAG2+PUZWR4T69XLvSU1KnmIGFz
iEipPUmH4cK8XM/0eiKnHfzjkXdMxMW0FNnV+gufmOVixzL1BFHNUbF3oeFAcQqJ25Ub
FnWA==
X-Forwarded-Encrypted: i=1; AJvYcCUxevDwWi6NFrhm7HOFtPqpFQGaaDDwapkdWKqP34lZjBrvztdQZKgkHeNhNK85rTZOcayEX0pJ3QoFZZxSnvM3GV4=@vger.kernel.org, AJvYcCVcU5o0ugbN57+/6uAHK3nQ5LlCm2Dv6LgFhHziyLwB0qn9O6b1CdKio9fdOiq1NWmfDdn21O97W1s=@vger.kernel.org, AJvYcCVcailjDvrV/SWMCUaoNbz+lV045gpumP15ZHdreZgfdiHr+iZ1ymPn7TS/K5SI5uo8wcR6qZ+wTjp42t8=@vger.kernel.org
X-Gm-Message-State: AOJu0YybLhQwA5oG7IK8hq3fTFR6Qx+m9GeYbYOIqnoGzr00gqiIDRtl
011Fw/Fq5tUE3U0aXfSpGrNlO9mRfk6InJ2reEsnoZrTzhVr/VHCvDqpMzbW9HrN
X-Gm-Gg: ASbGncu0MEaWOVBbLkz+Q0e0bUaTBZ2cBf9o/TXdenoBxuSEmOrbP+JT9v1jLQfu+bc
6NwPBz8faGWTFyb6bXpHH537EnAsoU4PeDO4gv+evTpXZQA6Z74UFntrEPR0tcoA5ZAoFbAuOi8
dg8EjY+2BesdYxfeKCJpiUW/HW2hYUGCCiJndopcCWBA8sJZKa1lowKXBGxK/YKKbFVXlDV6LLi
sXR/AVRqSW+Rk4GiUzaSlHRM56w0YArAW7pF+gngff3MWL7PKAVleKnRLqOr2OmEB8hQHNOSgnS
cODgwdQNMO8SDoxXBH1LIfv+cDrDV8oYmabzSUz+vaV8oCBXvjBQRnHfCF+nitgS4xU+7XFQvtE
1imu4D39/3nTzrMtheRn0ZDDx
X-Google-Smtp-Source: AGHT+IEbrOoe4iL9jCNmTlAwrBaFqHWmLJH8lw3I10AhdMH9beDqejxmn3W0q/HunTFNjZPE0vhueQ==
X-Received: by 2002:a05:6102:3963:b0:4e4:5a1f:1414 with SMTP id ada2fe7eead31-4e5ac1ec663mr5249521137.12.1748592487861;
Fri, 30 May 2025 01:08:07 -0700 (PDT)
Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com. [209.85.217.48])
by smtp.gmail.com with ESMTPSA id ada2fe7eead31-4e6444294a6sm2478372137.3.2025.05.30.01.08.06
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 30 May 2025 01:08:06 -0700 (PDT)
Received: by mail-vs1-f48.google.com with SMTP id ada2fe7eead31-4e5aa697e7eso1118754137.1;
Fri, 30 May 2025 01:08:06 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCUn2Dw7G38+w5Nu4WMikY8lWp13Vh+gDyfVJXdWQBwWuiwOL52st8Gy+NWvVptU4jE85HAElDNYzmT+pugf9t9dNJA=@vger.kernel.org, AJvYcCVWLLYoR/1jQIfiQLY4f3pYnfIsRNik6k5YjeHSLH5Kjm3s82a/CW6YtS1MC5hzu6Byoehe6+uQmc4=@vger.kernel.org, AJvYcCW2DRbnB/7k4xbmGwyQOdx5qLUtGjt/PAd0Qi7N5nHNkdx1YmJjVtU1pxzXuU89tatOTAmVBfc0fE1zaLQ=@vger.kernel.org
X-Received: by 2002:a05:6102:821:b0:4e2:b21b:2cbc with SMTP id
ada2fe7eead31-4e5ac082e79mr5514782137.3.1748592485899; Fri, 30 May 2025
01:08:05 -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: <20250529101305686S2ehGmiFg5bnKwSa__96W@xxxxxxxxxx> <6eca9bc9-ac12-4aec-85c7-66397f70fca0@xxxxxxxxxx>
In-Reply-To: <6eca9bc9-ac12-4aec-85c7-66397f70fca0@xxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Fri, 30 May 2025 10:07:54 +0200
X-Gmail-Original-Message-ID: <CAMuHMdVojqSZVg9xCQBUaonTsaDZ5ORsh_ttueOrhKgr10omiw@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFuMwjrh6D-uoATe2WLWzQS7eI4m-tnyK-8gdH6v7YKT3QMk4tB_kj_UBT4
Message-ID: <CAMuHMdVojqSZVg9xCQBUaonTsaDZ5ORsh_ttueOrhKgr10omiw@xxxxxxxxxxxxxx>
Subject: Re: pmdomain: renesas: rcar: Use str_on_off() helper in
rcar_sysc_power() and rcar_gen4_sysc_power()
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Cc: shao.mingyin@xxxxxxxxxx, ulf.hansson@xxxxxxxxxx, magnus.damm@xxxxxxxxx,
linux-pm@xxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, yang.yang29@xxxxxxxxxx, xu.xin16@xxxxxxxxxx,
yang.tao172@xxxxxxxxxx, ye.xingchen@xxxxxxxxxx
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 Krzysztof,

On Thu, 29 May 2025 at 08:41, Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> On 29/05/2025 04:13, shao.mingyin@xxxxxxxxxx wrote:
> > From: Shao Mingyin <shao.mingyin@xxxxxxxxxx>
> >
> > Remove hard-coded strings by using the str_on_off() helper function.
> >
> > Signed-off-by: Shao Mingyin <shao.mingyin@xxxxxxxxxx>
> > ---
> > drivers/pmdomain/renesas/rcar-gen4-sysc.c | 3 ++-
> > drivers/pmdomain/renesas/rcar-sysc.c | 3 ++-
>
> Stop sending such trivial patches one driver per patch, but entire
> subsystem in one patch. That's a lot of churn, considering this was
> rejected:

Was it? I only see my Rb, and a review comment asking for more...

> https://lore.kernel.org/all/20250114203547.1013010-1-krzysztof.kozlowski@xxxxxxxxxx/

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-667771-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 8145941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:09: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 83AE11BA4CC7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:09:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1A40E2165EA;
Fri, 30 May 2025 08:09:10 +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 5264738B;
Fri, 30 May 2025 08:09:07 +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=1748592549; cv=none; b=HPQdME1PdQKkK3fBpc0A9H26caaR68VcSx308JNABagdYL0CoZvFampJ4A7qSZXYH67QXNtj2WJeTFe6Lje7AyURslR+MGWw88u5W3dgfcZELILQizVfs+FNWyLH4Xy8NtGZBjd89xnLX8cixW+RQKUy2bg9UlpeTANmh8dh4/8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592549; c=relaxed/simple;
bh=aC7ZZT5vqDvhPiQdxbOwr/UJHbnVRNUppLn4j5pfyOo=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=mjNlC+zfOmmUYOwIqC1/AcT0tsmIJZytTJBhjDZqBAAYdbUu9GcJx1zf0RB0P9E85XOY+lVmkHl7k5frVWVMVlVmh43PNuihelz4dpDRjwEpxEC3xtN9kUiDmdG4/wwooEFkenAPyacMNEAKOXA9ulSw/xaBBPvJp4+hinNe2pw=
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.235])
by dggsgout11.his.huawei.com (SkyGuard) with ESMTPS id 4b7wqj6KzQzYQvFM;
Fri, 30 May 2025 16:09:05 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.252])
by mail.maildlp.com (Postfix) with ESMTP id F0DDE1A0D46;
Fri, 30 May 2025 16:09:04 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP3 (Coremail) with SMTP id _Ch0CgAne8WfZzloSi3_Ng--.6274S4;
Fri, 30 May 2025 16:09:04 +0800 (CST)
From: Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx
Cc: linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yukuai3@xxxxxxxxxx,
yukuai1@xxxxxxxxxxxxxxx,
yi.zhang@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx
Subject: [PATCH RFC 0/4] blk-mq-sched: support request batch dispatching for sq elevator
Date: Fri, 30 May 2025 16:03:51 +0800
Message-Id: <20250530080355.1138759-1-yukuai1@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:_Ch0CgAne8WfZzloSi3_Ng--.6274S4
X-Coremail-Antispam: 1UD129KBjvJXoW7ZFyrKF1fuw4DJr1rZrWxXrb_yoW8Gry5pr
4fKa9xKr1jqr1fZF1a93W7J34rJws7WasxGrnrJ3W8GFnxCr13JF18K3WkXFyxZrWfAFsr
Wr18tF97WFyUCaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUkC14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lc7CjxVAaw2AFwI0_
JF0_Jw1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67
AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIY
rxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14
v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8
JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjfUYCJmUU
UUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/
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

From: Yu Kuai <yukuai3@xxxxxxxxxx>

Lock contention for sq elevator is quite intense when multiple contexts
are dispatching request, main reason is that a global lock is held and
release for each request:

while
spin_lock
disaptch one request
spin_unlock

This set support request batch dispatching to reduce the lock contention
a bit.

A simple test for null_blk in my VM:
32 job randwrite

| elevator | bandwidth Mib/s |
| -------------------------- | --------------- |
| none | 813 |
| deadline before this patch | 531 |
| deadline after this patch | 689 |

The test is one-sided, however, this is just a quick test to show this
set might be meaningful. I'm sending this RFC and want to get some
feedbacks before I continue work on this set.

Noted: do not test bfq for this set, it's not changed yet(like patch 2
for deadline).

Yu Kuai (4):
elevator: introduce global lock for sq_shared elevator
mq-deadline: switch to use elevator lock
blk-mq-sched: refactor __blk_mq_do_dispatch_sched()
blk-mq-sched: support request batch dispatching for sq elevator

block/blk-mq-sched.c | 224 +++++++++++++++++++++++++++++--------------
block/blk-mq.c | 5 +-
block/blk-mq.h | 21 ++++
block/elevator.c | 1 +
block/elevator.h | 62 +++++++++++-
block/mq-deadline.c | 60 +++++-------
6 files changed, 259 insertions(+), 114 deletions(-)

--
2.39.2


Return-Path: <linux-kernel+bounces-667772-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 EF82641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04: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 sv.mirrors.kernel.org (Postfix) with ESMTPS id AEE263A9849
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:09:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3985521767D;
Fri, 30 May 2025 08:09:10 +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 526991DF72C;
Fri, 30 May 2025 08:09:07 +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=1748592549; cv=none; b=jg6OvOs+849qQ57IL7K4GBcEpah0+/sqpUErDtvn7TfITA+jpeyG7uqGb/ngMilJhR/0GxA78W1aNhquNZ0YXE+pzwaESM4ZqcQjI48dX15lSmaDkhIEKBNF8VwGmNv60r61xd/ddM1cC5eyTEPhCX3YjxsKZ8aALtu10Zcxe0A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592549; c=relaxed/simple;
bh=wEQGdWGsmpfrovUYNN+akxZhK07M41/34FemLEAhQbE=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=aY72xjTTRAcwKFTqrYuS1irtz3QyRelZwVleVmitupuRRbm8ZecFh70y5qAOn2nZhdNFsPnLoRHC/BfnnJCjQD7rbmAtJABYM3zs8Ss4tZIRqKrTViDNJbx7Cu0pmPIFXakO0xmEw0CwoTSZbwdwMPCFftjZZKfyrbtWNKsPPDA=
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 4b7wqk1w1WzYQvG4;
Fri, 30 May 2025 16:09:06 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.252])
by mail.maildlp.com (Postfix) with ESMTP id 5488A1A01A0;
Fri, 30 May 2025 16:09:05 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP3 (Coremail) with SMTP id _Ch0CgAne8WfZzloSi3_Ng--.6274S5;
Fri, 30 May 2025 16:09:05 +0800 (CST)
From: Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx
Cc: linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yukuai3@xxxxxxxxxx,
yukuai1@xxxxxxxxxxxxxxx,
yi.zhang@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx
Subject: [PATCH RFC 1/4] elevator: introduce global lock for sq_shared elevator
Date: Fri, 30 May 2025 16:03:52 +0800
Message-Id: <20250530080355.1138759-2-yukuai1@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250530080355.1138759-1-yukuai1@xxxxxxxxxxxxxxx>
References: <20250530080355.1138759-1-yukuai1@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-Transfer-Encoding: 8bit
X-CM-TRANSID:_Ch0CgAne8WfZzloSi3_Ng--.6274S5
X-Coremail-Antispam: 1UD129KBjvJXoWxCF45GF4fuF48AF4xtrWDurg_yoWrtF4kpF
45Jan0kr4qqr47Za4xAa17Jw43t3929ry3ZrWfAw45tFyxGrWxXF18GFy8ZF4xZrs3CFsF
qr4ktFZ8WFyIg3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUBG14x267AKxVW5JVWrJwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2
x26xkF7I0E14v26r1I6r4UM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS
0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2
IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0
Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY1x0262kKe7AKxVWUAVWUtw
CF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j
6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64
vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_
Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0x
vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUfDGrUUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/
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

From: Yu Kuai <yukuai3@xxxxxxxxxx>

Currently, both mq-deadline and bfq have internal global lock, prepare
to convert them to use this high level lock and support batch request
dispatching.

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
block/blk-mq-sched.c | 4 +--
block/blk-mq.c | 5 ++--
block/elevator.c | 1 +
block/elevator.h | 61 ++++++++++++++++++++++++++++++++++++++++++--
4 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
index 55a0fd105147..c1390d3e6381 100644
--- a/block/blk-mq-sched.c
+++ b/block/blk-mq-sched.c
@@ -113,7 +113,7 @@ static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
if (budget_token < 0)
break;

- rq = e->type->ops.dispatch_request(hctx);
+ rq = elevator_dispatch_request(hctx);
if (!rq) {
blk_mq_put_dispatch_budget(q, budget_token);
/*
@@ -342,7 +342,7 @@ bool blk_mq_sched_bio_merge(struct request_queue *q, struct bio *bio,
enum hctx_type type;

if (e && e->type->ops.bio_merge) {
- ret = e->type->ops.bio_merge(q, bio, nr_segs);
+ ret = elevator_bio_merge(q, bio, nr_segs);
goto out_put;
}

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 4806b867e37d..2650b7b28d1e 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2637,7 +2637,7 @@ static void blk_mq_insert_request(struct request *rq, blk_insert_t flags)
WARN_ON_ONCE(rq->tag != BLK_MQ_NO_TAG);

list_add(&rq->queuelist, &list);
- q->elevator->type->ops.insert_requests(hctx, &list, flags);
+ elevator_insert_requests(hctx, &list, flags);
} else {
trace_block_rq_insert(rq);

@@ -2912,8 +2912,7 @@ static void blk_mq_dispatch_list(struct rq_list *rqs, bool from_sched)
spin_unlock(&this_hctx->lock);
blk_mq_run_hw_queue(this_hctx, from_sched);
} else if (this_hctx->queue->elevator) {
- this_hctx->queue->elevator->type->ops.insert_requests(this_hctx,
- &list, 0);
+ elevator_insert_requests(this_hctx, &list, 0);
blk_mq_run_hw_queue(this_hctx, from_sched);
} else {
blk_mq_insert_requests(this_hctx, this_ctx, &list, from_sched);
diff --git a/block/elevator.c b/block/elevator.c
index ab22542e6cf0..91df270d9d91 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -144,6 +144,7 @@ struct elevator_queue *elevator_alloc(struct request_queue *q,
eq->type = e;
kobject_init(&eq->kobj, &elv_ktype);
mutex_init(&eq->sysfs_lock);
+ spin_lock_init(&eq->lock);
hash_init(eq->hash);

return eq;
diff --git a/block/elevator.h b/block/elevator.h
index a07ce773a38f..8399dfe5c3b6 100644
--- a/block/elevator.h
+++ b/block/elevator.h
@@ -110,12 +110,12 @@ struct request *elv_rqhash_find(struct request_queue *q, sector_t offset);
/*
* each queue has an elevator_queue associated with it
*/
-struct elevator_queue
-{
+struct elevator_queue {
struct elevator_type *type;
void *elevator_data;
struct kobject kobj;
struct mutex sysfs_lock;
+ spinlock_t lock;
unsigned long flags;
DECLARE_HASHTABLE(hash, ELV_HASH_BITS);
};
@@ -186,4 +186,61 @@ extern struct request *elv_rb_find(struct rb_root *, sector_t);
void blk_mq_sched_reg_debugfs(struct request_queue *q);
void blk_mq_sched_unreg_debugfs(struct request_queue *q);

+#define elevator_lock(e) spin_lock_irq(&(e)->lock)
+#define elevator_unlock(e) spin_unlock_irq(&(e)->lock)
+
+static inline struct request *elevator_dispatch_request(
+ struct blk_mq_hw_ctx *hctx)
+{
+ struct request_queue *q = hctx->queue;
+ struct elevator_queue *e = q->elevator;
+ bool sq_shared = blk_queue_sq_sched(q);
+ struct request *rq;
+
+ if (sq_shared)
+ elevator_lock(e);
+
+ rq = e->type->ops.dispatch_request(hctx);
+
+ if (sq_shared)
+ elevator_unlock(e);
+
+ return rq;
+}
+
+static inline void elevator_insert_requests(struct blk_mq_hw_ctx *hctx,
+ struct list_head *list,
+ blk_insert_t flags)
+{
+ struct request_queue *q = hctx->queue;
+ struct elevator_queue *e = q->elevator;
+ bool sq_shared = blk_queue_sq_sched(q);
+
+ if (sq_shared)
+ elevator_lock(e);
+
+ e->type->ops.insert_requests(hctx, list, flags);
+
+ if (sq_shared)
+ elevator_unlock(e);
+}
+
+static inline bool elevator_bio_merge(struct request_queue *q, struct bio *bio,
+ unsigned int nr_segs)
+{
+ struct elevator_queue *e = q->elevator;
+ bool sq_shared = blk_queue_sq_sched(q);
+ bool ret;
+
+ if (sq_shared)
+ elevator_lock(e);
+
+ ret = e->type->ops.bio_merge(q, bio, nr_segs);
+
+ if (sq_shared)
+ elevator_unlock(e);
+
+ return ret;
+}
+
#endif /* _ELEVATOR_H */
--
2.39.2


Return-Path: <linux-kernel+bounces-667773-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 4680F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:09: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 7D9C61BA4E98
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:10:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2954721ADD3;
Fri, 30 May 2025 08:09:11 +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 193231E1C1A;
Fri, 30 May 2025 08:09:07 +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=1748592550; cv=none; b=ij+lldFfg+8Fd7ua3+1aofELK0WMWT1qVvF4npWoGtC1m3VLD9FX+DPT8sHCANCzlrEgR1DTFa8p1hcEVqQRA+nOZRc47d/PV7vQfWPHFxYMO1tjkmSfDOzlIqm3eFfk6MS5MzI5is86j/KiuK9HACngJbPSE0X/3+rgYhjNq8Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592550; c=relaxed/simple;
bh=EyPn0v8wmitLWs9aCg2B546g5NqdZvn6zhrSgVC0Fkg=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=AO1zMkd0mwtk0lT2ezwAfgGB7X4b/kchCWzAbl5DTQyr18RlyWSsC9cdDAxb31VMHvZYBmKxZmG6mhTzbH45WeJ15PBC1aCTUmdK0MH5Sgbjvzu9/WMY3jaE0EsMUoAlzFE5gC3y5jlat3Z+55DOLiTcLXosmz9Kkg64aN1hxOc=
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.163.235])
by dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4b7wql4nfrzKHMvG;
Fri, 30 May 2025 16:09:07 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.252])
by mail.maildlp.com (Postfix) with ESMTP id 153461A09DF;
Fri, 30 May 2025 16:09:06 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP3 (Coremail) with SMTP id _Ch0CgAne8WfZzloSi3_Ng--.6274S7;
Fri, 30 May 2025 16:09:05 +0800 (CST)
From: Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx
Cc: linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yukuai3@xxxxxxxxxx,
yukuai1@xxxxxxxxxxxxxxx,
yi.zhang@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx
Subject: [PATCH RFC 3/4] blk-mq-sched: refactor __blk_mq_do_dispatch_sched()
Date: Fri, 30 May 2025 16:03:54 +0800
Message-Id: <20250530080355.1138759-4-yukuai1@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250530080355.1138759-1-yukuai1@xxxxxxxxxxxxxxx>
References: <20250530080355.1138759-1-yukuai1@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-Transfer-Encoding: 8bit
X-CM-TRANSID:_Ch0CgAne8WfZzloSi3_Ng--.6274S7
X-Coremail-Antispam: 1UD129KBjvJXoW3Wr45uw17CF1xtrW5try8uFg_yoWxZr13pF
4fGa13J395XF4jqFyI9w43Jw1Sy3yxWasrWryrKr4fJws8Zrs5Jrn5JFyUAFs7JrZ5uFW2
9r4DWr95AFs2qFDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUBG14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2
x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS
0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2
IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0
Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY1x0262kKe7AKxVWUAVWUtw
CF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j
6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64
vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_
Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0x
vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JU9J5rUUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/
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

From: Yu Kuai <yukuai3@xxxxxxxxxx>

Introduce struct sched_dispatch_ctx(), and split it into
elevator_dispatch_one_request() and elevator_finish_dispatch(). Make
code cleaner and prepare to support request batch dispatching.

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
block/blk-mq-sched.c | 181 ++++++++++++++++++++++++++-----------------
1 file changed, 109 insertions(+), 72 deletions(-)

diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
index c1390d3e6381..990d0f19594a 100644
--- a/block/blk-mq-sched.c
+++ b/block/blk-mq-sched.c
@@ -74,85 +74,88 @@ static bool blk_mq_dispatch_hctx_list(struct list_head *rq_list)

#define BLK_MQ_BUDGET_DELAY 3 /* ms units */

-/*
- * Only SCSI implements .get_budget and .put_budget, and SCSI restarts
- * its queue by itself in its completion handler, so we don't need to
- * restart queue if .get_budget() fails to get the budget.
- *
- * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to
- * be run again. This is necessary to avoid starving flushes.
- */
-static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
-{
- struct request_queue *q = hctx->queue;
- struct elevator_queue *e = q->elevator;
- bool multi_hctxs = false, run_queue = false;
- bool dispatched = false, busy = false;
- unsigned int max_dispatch;
- LIST_HEAD(rq_list);
- int count = 0;
+struct sched_dispatch_ctx {
+ struct blk_mq_hw_ctx *hctx;
+ struct elevator_queue *e;
+ struct request_queue *q;

- if (hctx->dispatch_busy)
- max_dispatch = 1;
- else
- max_dispatch = hctx->queue->nr_requests;
+ struct list_head rq_list;
+ int count;

- do {
- struct request *rq;
- int budget_token;
+ bool multi_hctxs;
+ bool run_queue;
+ bool busy;
+};

- if (e->type->ops.has_work && !e->type->ops.has_work(hctx))
- break;
+static bool elevator_can_dispatch(struct sched_dispatch_ctx *ctx)
+{
+ if (ctx->e->type->ops.has_work &&
+ !ctx->e->type->ops.has_work(ctx->hctx))
+ return false;

- if (!list_empty_careful(&hctx->dispatch)) {
- busy = true;
- break;
- }
+ if (!list_empty_careful(&ctx->hctx->dispatch)) {
+ ctx->busy = true;
+ return false;
+ }

- budget_token = blk_mq_get_dispatch_budget(q);
- if (budget_token < 0)
- break;
+ return true;
+}

- rq = elevator_dispatch_request(hctx);
- if (!rq) {
- blk_mq_put_dispatch_budget(q, budget_token);
- /*
- * We're releasing without dispatching. Holding the
- * budget could have blocked any "hctx"s with the
- * same queue and if we didn't dispatch then there's
- * no guarantee anyone will kick the queue. Kick it
- * ourselves.
- */
- run_queue = true;
- break;
- }
+static bool elevator_dispatch_one_request(struct sched_dispatch_ctx *ctx)
+{
+ struct request *rq;
+ int budget_token;

- blk_mq_set_rq_budget_token(rq, budget_token);
+ if (!elevator_can_dispatch(ctx))
+ return false;

- /*
- * Now this rq owns the budget which has to be released
- * if this rq won't be queued to driver via .queue_rq()
- * in blk_mq_dispatch_rq_list().
- */
- list_add_tail(&rq->queuelist, &rq_list);
- count++;
- if (rq->mq_hctx != hctx)
- multi_hctxs = true;
+ budget_token = blk_mq_get_dispatch_budget(ctx->q);
+ if (budget_token < 0)
+ return false;

+ rq = elevator_dispatch_request(ctx->hctx);
+ if (!rq) {
+ blk_mq_put_dispatch_budget(ctx->q, budget_token);
/*
- * If we cannot get tag for the request, stop dequeueing
- * requests from the IO scheduler. We are unlikely to be able
- * to submit them anyway and it creates false impression for
- * scheduling heuristics that the device can take more IO.
+ * We're releasing without dispatching. Holding the
+ * budget could have blocked any "hctx"s with the
+ * same queue and if we didn't dispatch then there's
+ * no guarantee anyone will kick the queue. Kick it
+ * ourselves.
*/
- if (!blk_mq_get_driver_tag(rq))
- break;
- } while (count < max_dispatch);
+ ctx->run_queue = true;
+ return false;
+ }

- if (!count) {
- if (run_queue)
- blk_mq_delay_run_hw_queues(q, BLK_MQ_BUDGET_DELAY);
- } else if (multi_hctxs) {
+ blk_mq_set_rq_budget_token(rq, budget_token);
+
+ /*
+ * Now this rq owns the budget which has to be released
+ * if this rq won't be queued to driver via .queue_rq()
+ * in blk_mq_dispatch_rq_list().
+ */
+ list_add_tail(&rq->queuelist, &ctx->rq_list);
+ ctx->count++;
+ if (rq->mq_hctx != ctx->hctx)
+ ctx->multi_hctxs = true;
+
+ /*
+ * If we cannot get tag for the request, stop dequeueing
+ * requests from the IO scheduler. We are unlikely to be able
+ * to submit them anyway and it creates false impression for
+ * scheduling heuristics that the device can take more IO.
+ */
+ return blk_mq_get_driver_tag(rq);
+}
+
+static int elevator_finish_dispatch(struct sched_dispatch_ctx *ctx)
+{
+ bool dispatched = false;
+
+ if (!ctx->count) {
+ if (ctx->run_queue)
+ blk_mq_delay_run_hw_queues(ctx->q, BLK_MQ_BUDGET_DELAY);
+ } else if (ctx->multi_hctxs) {
/*
* Requests from different hctx may be dequeued from some
* schedulers, such as bfq and deadline.
@@ -160,19 +163,53 @@ static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
* Sort the requests in the list according to their hctx,
* dispatch batching requests from same hctx at a time.
*/
- list_sort(NULL, &rq_list, sched_rq_cmp);
+ list_sort(NULL, &ctx->rq_list, sched_rq_cmp);
do {
- dispatched |= blk_mq_dispatch_hctx_list(&rq_list);
- } while (!list_empty(&rq_list));
+ dispatched |= blk_mq_dispatch_hctx_list(&ctx->rq_list);
+ } while (!list_empty(&ctx->rq_list));
} else {
- dispatched = blk_mq_dispatch_rq_list(hctx, &rq_list, false);
+ dispatched = blk_mq_dispatch_rq_list(ctx->hctx, &ctx->rq_list,
+ false);
}

- if (busy)
+ if (ctx->busy)
return -EAGAIN;
+
return !!dispatched;
}

+/*
+ * Only SCSI implements .get_budget and .put_budget, and SCSI restarts
+ * its queue by itself in its completion handler, so we don't need to
+ * restart queue if .get_budget() fails to get the budget.
+ *
+ * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to
+ * be run again. This is necessary to avoid starving flushes.
+ */
+static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
+{
+ unsigned int max_dispatch;
+ struct sched_dispatch_ctx ctx = {
+ .hctx = hctx,
+ .q = hctx->queue,
+ .e = hctx->queue->elevator,
+ };
+
+ INIT_LIST_HEAD(&ctx.rq_list);
+
+ if (hctx->dispatch_busy)
+ max_dispatch = 1;
+ else
+ max_dispatch = hctx->queue->nr_requests;
+
+ do {
+ if (!elevator_dispatch_one_request(&ctx))
+ break;
+ } while (ctx.count < max_dispatch);
+
+ return elevator_finish_dispatch(&ctx);
+}
+
static int blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
{
unsigned long end = jiffies + HZ;
--
2.39.2


Return-Path: <linux-kernel+bounces-667775-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 A789241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:09: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 DD3181BA4EA9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:10:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5F32921B9F4;
Fri, 30 May 2025 08:09:11 +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 43F8520296E;
Fri, 30 May 2025 08:09:07 +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=1748592550; cv=none; b=aqj2LXzpKoHZSEg0Flgkoou8XL1IhBdR/FpBbuMTXZOOx+nrn7U1FSniFI0bF9xOXouvMy4/touO8WInnL1WRDfDS2Qm/21YNT4fn5MQPYXN3B6YR6NhvCBg/J1sqHVbm0JgibjIBxSIxm9bVLFNij8n682w2MKPz2KwcjGv4Ow=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592550; c=relaxed/simple;
bh=r3LJPAy8th9swxuOjpAlgE/XhVIli1+QsomGV1LR4tU=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=IFfnQHzUJVH73n+ttyCTUb0hIpBKq0ZWV7QIfrh7POgAO1olchUdhg5jU91TdESLBoLPZnFpjULjD7+vFe2LUI2tYcI0AwzFu98ac2VPJmCaWJ6wmsHByuj1qzY8XRVbf69sIUedo47rwkSg/2/dWEc/M+Is/0yFqcL++2Yna3A=
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 4b7wql28XwzKHMvG;
Fri, 30 May 2025 16:09:07 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.252])
by mail.maildlp.com (Postfix) with ESMTP id B0F8E1A07BD;
Fri, 30 May 2025 16:09:05 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP3 (Coremail) with SMTP id _Ch0CgAne8WfZzloSi3_Ng--.6274S6;
Fri, 30 May 2025 16:09:05 +0800 (CST)
From: Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx
Cc: linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yukuai3@xxxxxxxxxx,
yukuai1@xxxxxxxxxxxxxxx,
yi.zhang@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx
Subject: [PATCH RFC 2/4] mq-deadline: switch to use elevator lock
Date: Fri, 30 May 2025 16:03:53 +0800
Message-Id: <20250530080355.1138759-3-yukuai1@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250530080355.1138759-1-yukuai1@xxxxxxxxxxxxxxx>
References: <20250530080355.1138759-1-yukuai1@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-Transfer-Encoding: 8bit
X-CM-TRANSID:_Ch0CgAne8WfZzloSi3_Ng--.6274S6
X-Coremail-Antispam: 1UD129KBjvJXoW3GF1kGw4DZF1ftF1DGrWUCFg_yoWfJFW3pF
45Kan0yr4rXFsrZ3WDJa9rZw4agw4I9ry2qr93C3yfKFn7JrZrW3WjkF10vr4fAr97CFsI
gF4qqa98JFy7twUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUBG14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2
x26xkF7I0E14v26r4j6ryUM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS
0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2
IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0
Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY1x0262kKe7AKxVWUAVWUtw
CF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j
6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64
vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_
Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0x
vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUFoGdUUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/
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

From: Yu Kuai <yukuai3@xxxxxxxxxx>

There are no functional changes, prepare to support batch request
dispatching.

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
block/elevator.h | 1 +
block/mq-deadline.c | 60 +++++++++++++++++----------------------------
2 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/block/elevator.h b/block/elevator.h
index 8399dfe5c3b6..1b325d131c51 100644
--- a/block/elevator.h
+++ b/block/elevator.h
@@ -188,6 +188,7 @@ void blk_mq_sched_unreg_debugfs(struct request_queue *q);

#define elevator_lock(e) spin_lock_irq(&(e)->lock)
#define elevator_unlock(e) spin_unlock_irq(&(e)->lock)
+#define elevator_assert_lock(e) lockdep_assert_held(&(e)->lock)

static inline struct request *elevator_dispatch_request(
struct blk_mq_hw_ctx *hctx)
diff --git a/block/mq-deadline.c b/block/mq-deadline.c
index 2edf1cac06d5..a68a50da6320 100644
--- a/block/mq-deadline.c
+++ b/block/mq-deadline.c
@@ -101,7 +101,7 @@ struct deadline_data {
u32 async_depth;
int prio_aging_expire;

- spinlock_t lock;
+ struct elevator_queue *eq;
};

/* Maps an I/O priority class to a deadline scheduler priority. */
@@ -213,7 +213,7 @@ static void dd_merged_requests(struct request_queue *q, struct request *req,
const u8 ioprio_class = dd_rq_ioclass(next);
const enum dd_prio prio = ioprio_class_to_prio[ioprio_class];

- lockdep_assert_held(&dd->lock);
+ elevator_assert_lock(q->elevator);

dd->per_prio[prio].stats.merged++;

@@ -253,7 +253,7 @@ static u32 dd_queued(struct deadline_data *dd, enum dd_prio prio)
{
const struct io_stats_per_prio *stats = &dd->per_prio[prio].stats;

- lockdep_assert_held(&dd->lock);
+ elevator_assert_lock(dd->eq);

return stats->inserted - atomic_read(&stats->completed);
}
@@ -323,7 +323,7 @@ static struct request *__dd_dispatch_request(struct deadline_data *dd,
enum dd_prio prio;
u8 ioprio_class;

- lockdep_assert_held(&dd->lock);
+ elevator_assert_lock(dd->eq);

if (!list_empty(&per_prio->dispatch)) {
rq = list_first_entry(&per_prio->dispatch, struct request,
@@ -434,7 +434,7 @@ static struct request *dd_dispatch_prio_aged_requests(struct deadline_data *dd,
enum dd_prio prio;
int prio_cnt;

- lockdep_assert_held(&dd->lock);
+ elevator_assert_lock(dd->eq);

prio_cnt = !!dd_queued(dd, DD_RT_PRIO) + !!dd_queued(dd, DD_BE_PRIO) +
!!dd_queued(dd, DD_IDLE_PRIO);
@@ -466,10 +466,9 @@ static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx)
struct request *rq;
enum dd_prio prio;

- spin_lock(&dd->lock);
rq = dd_dispatch_prio_aged_requests(dd, now);
if (rq)
- goto unlock;
+ return rq;

/*
* Next, dispatch requests in priority order. Ignore lower priority
@@ -481,9 +480,6 @@ static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx)
break;
}

-unlock:
- spin_unlock(&dd->lock);
-
return rq;
}

@@ -552,9 +548,9 @@ static void dd_exit_sched(struct elevator_queue *e)
WARN_ON_ONCE(!list_empty(&per_prio->fifo_list[DD_READ]));
WARN_ON_ONCE(!list_empty(&per_prio->fifo_list[DD_WRITE]));

- spin_lock(&dd->lock);
+ elevator_lock(e);
queued = dd_queued(dd, prio);
- spin_unlock(&dd->lock);
+ elevator_unlock(e);

WARN_ONCE(queued != 0,
"statistics for priority %d: i %u m %u d %u c %u\n",
@@ -601,7 +597,7 @@ static int dd_init_sched(struct request_queue *q, struct elevator_type *e)
dd->last_dir = DD_WRITE;
dd->fifo_batch = fifo_batch;
dd->prio_aging_expire = prio_aging_expire;
- spin_lock_init(&dd->lock);
+ dd->eq = eq;

/* We dispatch from request queue wide instead of hw queue */
blk_queue_flag_set(QUEUE_FLAG_SQ_SCHED, q);
@@ -653,14 +649,10 @@ static int dd_request_merge(struct request_queue *q, struct request **rq,
static bool dd_bio_merge(struct request_queue *q, struct bio *bio,
unsigned int nr_segs)
{
- struct deadline_data *dd = q->elevator->elevator_data;
struct request *free = NULL;
bool ret;

- spin_lock(&dd->lock);
ret = blk_mq_sched_try_merge(q, bio, nr_segs, &free);
- spin_unlock(&dd->lock);
-
if (free)
blk_mq_free_request(free);

@@ -681,8 +673,6 @@ static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
struct dd_per_prio *per_prio;
enum dd_prio prio;

- lockdep_assert_held(&dd->lock);
-
prio = ioprio_class_to_prio[ioprio_class];
per_prio = &dd->per_prio[prio];
if (!rq->elv.priv[0])
@@ -721,11 +711,8 @@ static void dd_insert_requests(struct blk_mq_hw_ctx *hctx,
struct list_head *list,
blk_insert_t flags)
{
- struct request_queue *q = hctx->queue;
- struct deadline_data *dd = q->elevator->elevator_data;
LIST_HEAD(free);

- spin_lock(&dd->lock);
while (!list_empty(list)) {
struct request *rq;

@@ -733,7 +720,6 @@ static void dd_insert_requests(struct blk_mq_hw_ctx *hctx,
list_del_init(&rq->queuelist);
dd_insert_request(hctx, rq, flags, &free);
}
- spin_unlock(&dd->lock);

blk_mq_free_requests(&free);
}
@@ -849,13 +835,13 @@ static const struct elv_fs_entry deadline_attrs[] = {
#define DEADLINE_DEBUGFS_DDIR_ATTRS(prio, data_dir, name) \
static void *deadline_##name##_fifo_start(struct seq_file *m, \
loff_t *pos) \
- __acquires(&dd->lock) \
+ __acquires(&q->elevator->lock) \
{ \
struct request_queue *q = m->private; \
struct deadline_data *dd = q->elevator->elevator_data; \
struct dd_per_prio *per_prio = &dd->per_prio[prio]; \
\
- spin_lock(&dd->lock); \
+ elevator_lock(q->elevator); \
return seq_list_start(&per_prio->fifo_list[data_dir], *pos); \
} \
\
@@ -870,12 +856,11 @@ static void *deadline_##name##_fifo_next(struct seq_file *m, void *v, \
} \
\
static void deadline_##name##_fifo_stop(struct seq_file *m, void *v) \
- __releases(&dd->lock) \
+ __releases(&q->elevator->lock) \
{ \
struct request_queue *q = m->private; \
- struct deadline_data *dd = q->elevator->elevator_data; \
\
- spin_unlock(&dd->lock); \
+ elevator_unlock(q->elevator); \
} \
\
static const struct seq_operations deadline_##name##_fifo_seq_ops = { \
@@ -941,11 +926,11 @@ static int dd_queued_show(void *data, struct seq_file *m)
struct deadline_data *dd = q->elevator->elevator_data;
u32 rt, be, idle;

- spin_lock(&dd->lock);
+ elevator_lock(q->elevator);
rt = dd_queued(dd, DD_RT_PRIO);
be = dd_queued(dd, DD_BE_PRIO);
idle = dd_queued(dd, DD_IDLE_PRIO);
- spin_unlock(&dd->lock);
+ elevator_unlock(q->elevator);

seq_printf(m, "%u %u %u\n", rt, be, idle);

@@ -957,7 +942,7 @@ static u32 dd_owned_by_driver(struct deadline_data *dd, enum dd_prio prio)
{
const struct io_stats_per_prio *stats = &dd->per_prio[prio].stats;

- lockdep_assert_held(&dd->lock);
+ elevator_assert_lock(dd->eq);

return stats->dispatched + stats->merged -
atomic_read(&stats->completed);
@@ -969,11 +954,11 @@ static int dd_owned_by_driver_show(void *data, struct seq_file *m)
struct deadline_data *dd = q->elevator->elevator_data;
u32 rt, be, idle;

- spin_lock(&dd->lock);
+ elevator_lock(q->elevator);
rt = dd_owned_by_driver(dd, DD_RT_PRIO);
be = dd_owned_by_driver(dd, DD_BE_PRIO);
idle = dd_owned_by_driver(dd, DD_IDLE_PRIO);
- spin_unlock(&dd->lock);
+ elevator_unlock(q->elevator);

seq_printf(m, "%u %u %u\n", rt, be, idle);

@@ -983,13 +968,13 @@ static int dd_owned_by_driver_show(void *data, struct seq_file *m)
#define DEADLINE_DISPATCH_ATTR(prio) \
static void *deadline_dispatch##prio##_start(struct seq_file *m, \
loff_t *pos) \
- __acquires(&dd->lock) \
+ __acquires(&q->elevator->lock) \
{ \
struct request_queue *q = m->private; \
struct deadline_data *dd = q->elevator->elevator_data; \
struct dd_per_prio *per_prio = &dd->per_prio[prio]; \
\
- spin_lock(&dd->lock); \
+ elevator_lock(q->elevator); \
return seq_list_start(&per_prio->dispatch, *pos); \
} \
\
@@ -1004,12 +989,11 @@ static void *deadline_dispatch##prio##_next(struct seq_file *m, \
} \
\
static void deadline_dispatch##prio##_stop(struct seq_file *m, void *v) \
- __releases(&dd->lock) \
+ __releases(&q->elevator->lock) \
{ \
struct request_queue *q = m->private; \
- struct deadline_data *dd = q->elevator->elevator_data; \
\
- spin_unlock(&dd->lock); \
+ elevator_unlock(q->elevator); \
} \
\
static const struct seq_operations deadline_dispatch##prio##_seq_ops = { \
--
2.39.2


Return-Path: <linux-kernel+bounces-667774-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 CF3D541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:09: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 B7E237AF1D7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:08:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 14CE521ABC1;
Fri, 30 May 2025 08:09:11 +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 89C28205E2F;
Fri, 30 May 2025 08:09:08 +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=1748592550; cv=none; b=iP7PG11O+oTDv8ngYAbsb3s2Rzo8WblvbGuvAtc9OlQ9fPglIqEpBplEtaRvXtw3reBDhl2imVcovM/sCiTeyoGL6Z3EF9cuepB92T8/dq0gEgkcd/+RkumrDCTvV1/yFKBd1gauo/qQkIHKh22kU81wjwpfCgU4Iv6bmTCyu+Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592550; c=relaxed/simple;
bh=QCd4T4J0SpzU2OCx/fj7+3sZvzN/6q1CRTgmuVdWTCc=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=O/9mUUbPY6wXiY/yiZORMzQjAZmW2rbArNTMV86fonNqeHtxKONQQ3vaHy2SPj62rOnDdv6XGQ95npOGKWccM9PErmR9Uvh5g1LJxZhZl1tnbb30V2E8SCmuYxfPKINCKL6CCJovrVSIDZqhGEAppW58vMRdmQxrsK2v22VwYHI=
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 ESMTPS id 4b7wql2SsvzYQvFM;
Fri, 30 May 2025 16:09:07 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.252])
by mail.maildlp.com (Postfix) with ESMTP id 6F5FE1A07BD;
Fri, 30 May 2025 16:09:06 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP3 (Coremail) with SMTP id _Ch0CgAne8WfZzloSi3_Ng--.6274S8;
Fri, 30 May 2025 16:09:06 +0800 (CST)
From: Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx
Cc: linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
yukuai3@xxxxxxxxxx,
yukuai1@xxxxxxxxxxxxxxx,
yi.zhang@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx
Subject: [PATCH RFC 4/4] blk-mq-sched: support request batch dispatching for sq elevator
Date: Fri, 30 May 2025 16:03:55 +0800
Message-Id: <20250530080355.1138759-5-yukuai1@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250530080355.1138759-1-yukuai1@xxxxxxxxxxxxxxx>
References: <20250530080355.1138759-1-yukuai1@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-Transfer-Encoding: 8bit
X-CM-TRANSID:_Ch0CgAne8WfZzloSi3_Ng--.6274S8
X-Coremail-Antispam: 1UD129KBjvJXoWxJF47AFyUGF4kury3ZrWxCrg_yoW5Zw15pF
4rXa1FkryqqFnFqFyfAw47J3W5G3yI9r9rWrW3Kr4fJFs2qrsxtF1rJa4UJF4xJrs5CFsr
ur4DWa4DuF1IvaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUBE14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F
4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq
3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7
IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U
M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY1x0262kKe7AKxVWUAV
WUtwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v2
6r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2
Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMI
IF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUvYLPUUUUU
=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/
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

From: Yu Kuai <yukuai3@xxxxxxxxxx>

Before this patch, each context will hold a global lock to dispatch one
request at a time, which introduce intense lock contention:

lock
ops.dispatch_request
unlock

Hence support dispatch a batch of requests while holding the lock to
reduce lock contention.

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
block/blk-mq-sched.c | 53 ++++++++++++++++++++++++++++++++++++++++----
block/blk-mq.h | 21 ++++++++++++++++++
2 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
index 990d0f19594a..d255c3e6c2a8 100644
--- a/block/blk-mq-sched.c
+++ b/block/blk-mq-sched.c
@@ -101,6 +101,47 @@ static bool elevator_can_dispatch(struct sched_dispatch_ctx *ctx)
return true;
}

+static void elevator_dispatch_requests(struct sched_dispatch_ctx *ctx)
+{
+ struct request *rq;
+ int budget_token[BUDGET_TOKEN_BATCH];
+ int count;
+ int i;
+
+ while (true) {
+ if (!elevator_can_dispatch(ctx))
+ return;
+
+ count = blk_mq_get_dispatch_budgets(ctx->q, budget_token);
+ if (count <= 0)
+ return;
+
+ elevator_lock(ctx->e);
+ for (i = 0; i < count; ++i) {
+ rq = ctx->e->type->ops.dispatch_request(ctx->hctx);
+ if (!rq) {
+ ctx->run_queue = true;
+ goto err_free_budgets;
+ }
+
+ blk_mq_set_rq_budget_token(rq, budget_token[i]);
+ list_add_tail(&rq->queuelist, &ctx->rq_list);
+ ctx->count++;
+ if (rq->mq_hctx != ctx->hctx)
+ ctx->multi_hctxs = true;
+
+ if (!blk_mq_get_driver_tag(rq))
+ goto err_free_budgets;
+ }
+ elevator_unlock(ctx->e);
+ }
+
+err_free_budgets:
+ elevator_unlock(ctx->e);
+ for (; i < count; ++i)
+ blk_mq_put_dispatch_budget(ctx->q, budget_token[i]);
+}
+
static bool elevator_dispatch_one_request(struct sched_dispatch_ctx *ctx)
{
struct request *rq;
@@ -202,10 +243,14 @@ static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
else
max_dispatch = hctx->queue->nr_requests;

- do {
- if (!elevator_dispatch_one_request(&ctx))
- break;
- } while (ctx.count < max_dispatch);
+ if (blk_queue_sq_sched(ctx.q))
+ elevator_dispatch_requests(&ctx);
+ else {
+ do {
+ if (!elevator_dispatch_one_request(&ctx))
+ break;
+ } while (ctx.count < max_dispatch);
+ }

return elevator_finish_dispatch(&ctx);
}
diff --git a/block/blk-mq.h b/block/blk-mq.h
index affb2e14b56e..450c16a07841 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -37,6 +37,7 @@ enum {
};

#define BLK_MQ_CPU_WORK_BATCH (8)
+#define BUDGET_TOKEN_BATCH (8)

typedef unsigned int __bitwise blk_insert_t;
#define BLK_MQ_INSERT_AT_HEAD ((__force blk_insert_t)0x01)
@@ -262,6 +263,26 @@ static inline int blk_mq_get_dispatch_budget(struct request_queue *q)
return 0;
}

+static inline int blk_mq_get_dispatch_budgets(struct request_queue *q,
+ int *budget_token)
+{
+ int count = 0;
+
+ while (count < BUDGET_TOKEN_BATCH) {
+ int token = 0;
+
+ if (q->mq_ops->get_budget)
+ token = q->mq_ops->get_budget(q);
+
+ if (token < 0)
+ return count;
+
+ budget_token[count++] = token;
+ }
+
+ return count;
+}
+
static inline void blk_mq_set_rq_budget_token(struct request *rq, int token)
{
if (token < 0)
--
2.39.2


Return-Path: <linux-kernel+bounces-667776-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 711E541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 04:11: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 9FB321BA6B65
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Fri, 30 May 2025 08:11:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 15247213254;
Fri, 30 May 2025 08:11:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="k0vN59jV"
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 69AC538B;
Fri, 30 May 2025 08:11:31 +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=1748592693; cv=none; b=N/p9uNQqo24+N15t8ippfqF6bnhqBy+xEs/q4l2VX+GqbonDmD4yFuFCyvfDnJbAi3BKdybQ9D6EtrUlqWWpx/L5LiQV9ZmKUkZla/8BiZQG/kNTpYsWjNq8ftXJMgkiR1BN9l4L5VJ1+xTsatgUJdaf8jRPqw7E80D033ip5R4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748592693; c=relaxed/simple;
bh=nljyD7oGpKi/pB343Z0SDcbWcB4VlyF/oMtqy5oonPg=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=F2Gz3EDDiuW42Z88QeXxW3P3ArRe9tT8enkkR2mjQzGKzDZayl6Ww45i6tlgRcnHt4Z0VbIhigbnGgxUYm4ww0RinlhPgGdkGRcQfbOz+bb4kI0w+2XNfJrE6WsqE6lYZAZNCdyl1fFLDtDHlhj6rRX+9AM5+Awk8qsNiz6GwN4=
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=k0vN59jV; 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 (m0279872.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54U05iW9011696;
Fri, 30 May 2025 08:11:27 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=
BfwfesnKPE1k+zYrC748qyklIi19iAGRhf67EVTHwB4=; b=k0vN59jVEZ2nbzFw
r7QTiqjZxQa3AoxU8Ooq8eoojJpQrT1PZ9GGZ4tGjo6epvB7VA/NqId0k3B0zlrK
izjbiTsMCUDtLhh/NsTHibM3gkIWusIWJe92PD+G2WUP+hEZK7+ySUN2HRXewz96
ItE9XTJABMa88pGsMw0hUURBQCkCWgwOAkcbveEChJlBewiagjkCURT/6ER3C5Wr
rLswk/ZtmmqTk9ihJu6H6+tITRIevRHZ9KI2zQg4DMGQOD5EU4eiDQ9fhbuAlTvy
H1iyUcq7sVimnWbYE/x6xT5CelqswJrFUvL7xperBN6pIiYb1OcnXH1MogRc5lDm
+55SCA==
Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6g98bqx-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Fri, 30 May 2025 08:11:26 +0000 (GMT)
Received: from nalasex01b.na.qualcomm.com (nalasex01b.na.qualcomm.com [10.47.209.197])
by NALASPPMTA03.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 54U8BPJp008217
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Fri, 30 May 2025 08:11:25 GMT
Received: from [10.253.39.138] (10.80.80.8) by nalasex01b.na.qualcomm.com
(10.47.209.197) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Fri, 30 May
2025 01:11:22 -0700
Message-ID: <7d656b7e-3e7b-4357-80c3-24ab597bdcee@xxxxxxxxxxx>
Date: Fri, 30 May 2025 16:11:20 +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 v1] tty: serdev: serdev-ttyport: Fix use-after-free in
ttyport_close() due to uninitialized serport->tty
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
CC: Rob Herring <robh@xxxxxxxxxx>, Jiri Slaby <jirislaby@xxxxxxxxxx>,
<linux-serial@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<liulzhao@xxxxxxxxxxxxxxxx>, <quic_chejiang@xxxxxxxxxxx>,
<zaiyongc@xxxxxxxxxxxxxxxx>, <quic_zijuhu@xxxxxxxxxxx>,
<quic_mohamull@xxxxxxxxxxx>,
Panicker Harish <quic_pharish@xxxxxxxxxxx>
References: <20250430111617.1151390-1-quic_cxin@xxxxxxxxxxx>
<2025043022-rumbling-guy-26fb@gregkh>
<d388b471-482b-48ba-a504-694529535362@xxxxxxxxxxx>
<2025050851-splatter-thesaurus-f54e@gregkh>
<38bf94e1-ebed-4d03-8ea0-4040009e8d31@xxxxxxxxxxx>
<8e171057-b3c3-4808-b49e-f04ffd310b31@xxxxxxxxxxx>
<2025052926-net-economist-a016@gregkh>
Content-Language: en-US
From: Xin Chen <quic_cxin@xxxxxxxxxxx>
In-Reply-To: <2025052926-net-economist-a016@gregkh>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01b.na.qualcomm.com (10.47.209.197)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=d4b1yQjE c=1 sm=1 tr=0 ts=6839682e cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10
a=X2qtyJaRkhN_4_ZcoJQA:9 a=QEXdDO2ut3YA:10
X-Proofpoint-ORIG-GUID: rQSImzhdcu1SUdpJ9GWlwqoTkByhVxb1
X-Proofpoint-GUID: rQSImzhdcu1SUdpJ9GWlwqoTkByhVxb1
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTMwMDA2NyBTYWx0ZWRfX/eDViJL2BQbB
9Hd/Ul7RBQz8n4zgD0jN36oM+Womc/u9Z3sXov7wqhrhz1sGkeDB+Cfssl0t92cVWmw5OA22JiQ
/+3AWMin4M3lU1sdl2xKylEnWobjgqL5pQYUYlP+q8qhjjhKUg6auPBhn3p6gj4mHywPDO+a1Mb
0B9R7/QZP3iIwrYx6OblsU7HpyTIX1g1YVGWxpB7alL/P0IGUg2YjeDCu0BQH5OvTV6G/LbAfuy
D8bd0KDFocBs9RWaa4QWNjbpAL25YTV6y9rOP6vjphnhyznwW+IsW3Ohp3UqFujU3euCQEanHRh
9PIpMH2TmdBDkOJduONdCeaOuNV2GycDzJF2Sgs29X+rE34GO544mhg5Dt9Chat4pZ11vR/5Qcm
Plrd9kR98ARFQhxHJVPOAwyUScgF4gFzriZLajWqFPsJUT32hjne2Nl1l5yQVIW4uGMKk4Z+
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-30_03,2025-05-29_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-2505300067
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/29/2025 5:07 PM, Greg Kroah-Hartman wrote:
> On Fri, May 23, 2025 at 10:52:27AM +0800, Xin Chen wrote:
>>
>>
>> On 5/14/2025 5:14 PM, Xin Chen wrote:
>>>
>>>
>>> On 5/8/2025 5:41 PM, Greg Kroah-Hartman wrote:
>>>> On Thu, May 08, 2025 at 05:29:18PM +0800, Xin Chen wrote:
>>>>>
>>>>> On 4/30/2025 7:40 PM, Greg Kroah-Hartman wrote:
>>>>>> On Wed, Apr 30, 2025 at 07:16:17PM +0800, Xin Chen wrote:
>>>>>>> When ttyport_open() fails to initialize a tty device, serport->tty is not
>>>>>>> --- a/drivers/tty/serdev/serdev-ttyport.c
>>>>>>> +++ b/drivers/tty/serdev/serdev-ttyport.c
>>>>>>> @@ -88,6 +88,10 @@ static void ttyport_write_flush(struct serdev_controller *ctrl)
>>>>>>> {
>>>>>>> struct serport *serport = serdev_controller_get_drvdata(ctrl);
>>>>>>> struct tty_struct *tty = serport->tty;
>>>>>>> + if (!tty) {
>>>>>>> + dev_err(&ctrl->dev, "tty is null\n");
>>>>>>> + return;
>>>>>>> + }
>>>>>>
>>>>>> What prevents tty from going NULL right after you just checked this?
>>>>>
>>>>> First sorry for reply so late for I have a long statutory holidays.
>>>>> Maybe I don't get your point. From my side, there is nothing to prevent it.
>>>>> Check here is to avoid code go on if tty is NULL.
>>>>
>>>> Yes, but the problem is, serport->tty could change to be NULL right
>>>> after you check it, so you have not removed the real race that can
>>>> happen here. There is no lock, so by adding this check you are only
>>>> reducing the risk of the problem happening, not actually fixing the
>>>> issue so that it will never happen.
>>>>
>>>> Please fix it so that this can never happen.
>>>>
>>>
>>> Actually I have never thought the race condition issue since the crash I met is
>>> not caused by race condition. It's caused due to Bluetooth driver call
>>> ttyport_close() after ttyport_open() failed. This two action happen one after
>>> another in one thread and it seems impossible to have race condition. And with
>>> my fix the crash doesn't happen again in several test of same case.
>>>
>>> Let me introduce the complete process for you:
>>> 1) hci_dev_open_sync()->
>>> hci_dev_init_sync()->hci_dev_setup_sync()->hdev->setup()(hci_uart_setup)->qca_setup(),
>>> here in qca_setup(), qca_read_soc_version() fails and goto out, then calls
>>> serdev_device_close() to close tty normally. And then call serdev_device_open()
>>> to retry.
>>> 2) serdev_device_open() fails due to tty_init_dev() fails, then tty gets
>>> released, which means this time the tty has been freed succesfully.
>>> 3) Return back to upper func hci_dev_open_sync(),
>>> hdev->close()(hci_uart_close) is called. And hci_uart_close calls
>>> hci_uart_flush() and serdev_device_close(). serdev_device_close() tries to close
>>> tty again, it's calltrace is serdev_device_close()->ttyport_close()->tty_lock(),
>>> tty_unlock(), tty_release_struct(). The four funcs hci_uart_flush(), tty_lock(),
>>> tty_unlock(), tty_release_struct() read tty pointer's value, which is invalid
>>> and causes crash.
>>>
>>
>> Hi Greg, could you please take some time to review my reply?
>
> I am not disputing the fact that there is a bug here, I'm just saying
> that you can't test for a value and then act on it without a lock
> protecting that action because the value can be changed right after you
> test for it.
>
> You might not see this in your testing, as you have narrowed the window
> that the value can change, but you have not solved the issue properly,
> right?
>
> thanks,
>
> greg k-h