From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 646B234C9A3 for ; Wed, 5 Aug 2026 14:08:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785938889; cv=fail; b=njF3k05F9wRUEx/m2Wdc57/lppPfxXgIzzh22eF1QbHxzUGo1leCd4YcCsIZxeaRk6FetikkhbKYKU/PQvEt4ofC8Ga4AEcwX4TLLCcks3JBm1jAytWQmaBshUC5QCMcSXvPqb51/N3p/RpqhttMvuGfVNI2LlmVX+5LL7l+4n4= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785938889; c=relaxed/simple; bh=UEdP3aQMWjeVL7sLbSH4izt9BMzs6qyoxuLL5YEutos=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=VGObcY8qS9jReY4dgayg06DqfVbJZlQMP/yXk9kb/S2x0gAAAXxgBsqkqLRRT36Umw/u58KK+0VT2iwMd/3Pq6fDYN4BmVAw/wGlV3JfGSBvQ6zvalY3UkKhCe4BfQAFTTyLpu55kv4/Y3gDskdJ6MQp7l2CzL3ZIJeDzNoJUNQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=jW4nMKoO; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=V+rLwPPE; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="jW4nMKoO"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="V+rLwPPE" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 674HY9EJ2306777; Wed, 5 Aug 2026 09:07:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=PODMain02222019; bh=8RUGOfIY+6UU97JnaC jo8Iwj52PU+rcK0Oay6iGW3pc=; b=jW4nMKoORIZFc55zNvPiE68PjrRzk7lFx+ nF3rcw5cZMshNEccNXYPO98rdMfbzoMryukXX08mHIrDkJEa8PAq7H1UAwtfI94C 8gIYW5ISABEsXgDUJxJ1perq9j2IHs7eNyClN9ua2B2NBVy9jX3PLjJwTO0SKR6i aTsmWEFYOZaA61QsZIr+oDTOAi+jZjAWlZheQorpTN2ijE8abwDOQY4HTGUTGqgs G/2XSOrOFzniEoYXpguR+ovRV2FZtecF5luINcrTYurtjRHhQwJpDMmK4Cy9bAWZ S8mnGP914vWbajx+SJ35diFvOCvH5Frk1LCtfpQEIYqIVnyZVuNA== Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11022079.outbound.protection.outlook.com [52.101.48.79]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4fse6vnsdt-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 09:07:52 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jp1FsKTLdlHmN+lV0r7zwX/ZYS8g2dUs22tSI4Y3sDpqqeL/96oF9+/lqZLwe6EWqB0MOU0DK4AeeGQv6ynseKRoyFQt3nuYMBXWr84piADItUiFPVqGQu0cYVe86aNlpX9H0f0entMV5KSJRnPAxACWNeQD762PQy8RQ0uGmBOeJBG+ya8dcBEYTD2NnQcqHfn5V1ltyphgaJa5sM9NprF7vjH1xLj2HoAXvd+1QAsOIij68qgxpwINEJKbPoBdIvSQdOG8N7LevGKQnXou7pEyMxWJ7xCoyfhY4P2PWh3OuAwm0SFzVqNqb5Gufl4mJWk80ws/kR7ksnWgcpktNw== 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=8RUGOfIY+6UU97JnaCjo8Iwj52PU+rcK0Oay6iGW3pc=; b=dKNiLk5a0vHPFuhSGalMRYno6PXAu2gyyoi+XDRQqM24DiFqSJPYybAOuhWj/09DhLc2rNZ9TOj8wAMCY+5KBJZm72NQxTQku/QwUDQjqtMItuH+poyzrFoAC1/IPfZUZceCELb9bOxLQm/MqlLBdsT1cXOjpP0taeghSd/46JEIT4ij8NwIYRMfyicXKdJkgccFdPObZ1GdR+beXc2DEvIfCoAylMwdRYTIbD79XbCdPhblVzZ1tORRinAnioefEly/6iOb6LO7SSVdyrw+VGWKP1C0BlXHOm7Z5y0/RhckMQ8vaVlVmTBuZWX9cqYvq+B09i3Ndv/eg+O3TBc/4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=kernel.org smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8RUGOfIY+6UU97JnaCjo8Iwj52PU+rcK0Oay6iGW3pc=; b=V+rLwPPExWg4Pps/58Ov9UE2ZMxrfetIDint320BYUe+y7vC9Q3QubUtRD35UUxFr6uRAc5hnZTdCIUkBBhLreJBWoNvKuDjrLtv139tBMf6OM3aZjoT4LAfQecEq3fY4zZNgoxqCGi/OQKeNnQsJzhUpuXyh3D7rdMv7Reg3KA= Received: from BN0PR04CA0099.namprd04.prod.outlook.com (2603:10b6:408:ec::14) by DM6PR19MB3897.namprd19.prod.outlook.com (2603:10b6:5:229::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 14:07:45 +0000 Received: from BN2PEPF000055DF.namprd21.prod.outlook.com (2603:10b6:408:ec:cafe::6a) by BN0PR04CA0099.outlook.office365.com (2603:10b6:408:ec::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.15 via Frontend Transport; Wed, 5 Aug 2026 14:07:45 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by BN2PEPF000055DF.mail.protection.outlook.com (10.167.245.9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.0 via Frontend Transport; Wed, 5 Aug 2026 14:07:45 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 35F6F406544; Wed, 5 Aug 2026 14:07:44 +0000 (UTC) Received: from opensource.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 1D7A282025A; Wed, 5 Aug 2026 14:07:44 +0000 (UTC) Date: Wed, 5 Aug 2026 15:07:43 +0100 From: Charles Keepax To: Peter Ujfalusi Cc: Mark Brown , Richard Fitzgerald , Pierre-Louis Bossart , linux-kernel@vger.kernel.org Subject: Re: [PATCH] regcache: Sort the local copy of an unsorted reg_defaults array Message-ID: References: <20260805132250.2637-1-peter.ujfalusi@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260805132250.2637-1-peter.ujfalusi@linux.intel.com> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000055DF:EE_|DM6PR19MB3897:EE_ X-MS-Office365-Filtering-Correlation-Id: bc5c2a92-35c6-4382-b8d4-08def2faec52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|82310400026|36860700016|376014|23010399003|18002099003|16102099003|22082099003|11063799006|56012099006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: WPnVkd9hsMesKKPwcp1j+HttK07/caqqgruNoi1JHYQQHAdPjZletLH7IsXFO3kOM6DnHiJpqY97fQyKR8RGbhh5h8eSticzzAMSrEXLJNnQtFARQZOQFxe7JLeAXVCd6vKcUj3KavWbO/BxQ7m8s2AGOScgoXkvM1S6/c7TflwVyMGj0a5xcLVgfs+qTx1TTtXHiVoD2ZnB7p5QTgSNMEz0HZEbiM8D/EV9/LTdOj9kvF+UukvdlHxZa22y9SKL8LhrbdPdZ0cuZQyupoYCjD9PwjSI99u0K3c7Ol+rWYkneMuIwnz00T0UpfiyvmiyhA1UpRmMoWcYuZd9gaoWvm4RpT5scF/+XGyF9XJVLYo6tz+7Be9L6jXSFZAErPRf3v4azwIpAC/W2eQJWtpX0s5cLSnYU3UMBTGmo9Qh1n0rZoNW3+LAVlEvyV80GS5ztl2pGTm7rt8RNCCt8jG6IfEioHrJAsZMVd4/DDhYeOmDyvQ08zczl2vICrquBjKB8iGKatG/ie6St+JteafDwwyXpH8zVBFgHTuBSG42SuuB/ak99x5sTbDD4NjLbrKWkV4gie6j1KCDbXfvbtbPCj7RBI2GOeHybIeODRUKeNPfc+HrPmhBy2IZs5TfhLOoKZkTLoktWe1OPqSg70PYgq43Czwr++lG4COCPMgjNcQXdxGQvAMX/6/OLzQgg2xP4SnR3Wda3EFHm3IBcG/HoA== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(61400799027)(82310400026)(36860700016)(376014)(23010399003)(18002099003)(16102099003)(22082099003)(11063799006)(56012099006)(6133799003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2E86QyNeb13Bpe/g+9bgXmNCeeUQytF4k1VqlUPRgVpwrSti3+rgot/3BNjvIcpyrL5KINhcpF8LsLUVLx6CuPMhNjkkNH8DgTWozwwXkLX+A4yFDzt7zKw21xl3ZYp4MbacNu9+kv5QsUjpj0FTIsFDBgFdjSXzai2e974UaqltRzJGmGh1CGZWJXdtuJQXibB5bPI/fQ5TJBCaNI+eHKVNw+HWKcv7f+IqZ10wFcGc51ky/S5K5h/FbqhLN7XBfsr4nKuvjtl6lMDmUfEnOSnWKHFw7IQEgPisI8o4EPmb4CQ3R2KONRD5tKqAVq6jU+T3v5g7dEy0Kl55QVdA0RZYDUw0zbDcq/72X3VJsX+GKazgbmol2cdFog0a+Nkl0Xnlc2hqnqBpDZdeHI7fmds4CHTgJroV8A4Ad0kT7z2f3P4rJcKu9qjC0xaPl69m X-Exchange-RoutingPolicyChecked: XAgDZ2OlW8ptI3BuMfdPyrjx4A5A7g2BCzGfX+I8laWvFJE1aO4Ebvkn8RXBVk1ZVLkJiGkoUADoKtfTQomQQ6FM7Iy/xDJUqU061DxDJ9eDO0Vmo+fyXTCrtmcDTqE2L7rWqczFy+qlTiBwf1PnLDoJPmqc4GX/Y61AgbqsuW7wLCNt6M2O8ygMkvBpXxP1x4qN3P3mcbZPqPrGxKq5JticgTErkDRC4ixuGvokPwzGvqRQNXuioN2ayVr1obChCcFnlgKwelH2cAJS65YWtEdHoYGGTnw7Teo0JWw3She39zJOMm6A8n7ppuT0rWHBSzlzsQcgQ9WSfznHvvoahQ== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 14:07:45.1648 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc5c2a92-35c6-4382-b8d4-08def2faec52 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BN2PEPF000055DF.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR19MB3897 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDExNCBTYWx0ZWRfX9t5Rf4okdpOs h0c5KOwA7vnMHqKmH96bGp1QNyP+vcCW0zShQzRxx8yLFyaPF4HILcy4fFZvcFFtZ2r7bbrDBTx Nyxg/d8V1bJqM6z0QCta7U2u6jNA5P8= X-Proofpoint-GUID: aL6cK2M4krkiLRzC4-g790jOYByznKaX X-Proofpoint-ORIG-GUID: aL6cK2M4krkiLRzC4-g790jOYByznKaX X-Authority-Analysis: v=2.4 cv=N+MZ0W9B c=1 sm=1 tr=0 ts=6a7343b8 cx=c_pps a=oCGjzYnsqMZj53MIwVW12w==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=kj9zAlcOel0A:10 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=QyXUC8HyAAAA:8 a=w1d2syhTAAAA:8 a=2nmjP1jh1QE1PMLroJsA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDExNCBTYWx0ZWRfX0eU2aQMZOtky 3qAAaQQ5upPcFk26Os+zGYuGWRiqv0YCDbIpnu3NDlOEzkdqKcqetVQpxe5Lfyo+yJa8m9sVcOk dhVYTmghNmzQF1ZIAZldrqmC30j+WdwDnc4stOndZiS98nRTTkq7wcbzUPGecNuSWbENKOpKT2a PAe0hNiODhNaY2V86pGbGQSQ+Xw5N+6HxUJCXQiDarY1E88wpt0jpjPzWwcbkndF04LRMN0B2ef ZBG84zv/lsafzUkpkc2dbSDC8i1r30L8A+fioyu6u4WH/Quh954z6FA1SrEk+556QQdrWGYWvJQ UpKukw49HOWvhKPuNt/Oqv4mw9LhzBKiHdg2DzUoFSUyhNrChgz62MCXcn3463mMkfyADRllkmE VPqF21heQcjSHy1agahAPH+SxTQd4E4yRp/6rJoy7v8B63vZZ+hVPnkDWQ7gvW20oTBaguoHYil aUtVkdRDtl9fl12lLOw== X-Proofpoint-Spam-Reason: safe On Wed, Aug 05, 2026 at 04:22:50PM +0300, Peter Ujfalusi wrote: > regcache_lookup_reg() bsearch()es the reg_defaults array, which requires > it to be sorted by ascending register address. Entries following a > descending step are never found, so regcache_reg_needs_sync() reports > that they need a sync and they are written to the device on every > regcache_sync() even when they were never touched. > > Detect the misordering while reg_defaults is validated against the > register stride and sort the local copy. The check needs no new loop > and sort() only runs for the affected drivers, which are also warned > about. > > Note that sort() is not stable, so for arrays with duplicated register > addresses it remains unspecified which entry is found. > > Signed-off-by: Peter Ujfalusi > --- > Hi, > > Fixes for affected in-tree codec drivers have been posted separately, so this > is meant as a safety net for out-of-tree and future drivers rather than a > replacement for fixing them, as discussed on the Cirrus codec patches. > > I'm not sure about the print level: dev_warn() makes the problem visible to > whoever boots the affected machine, but the person who can act on it is the > driver author. Should this be dev_dbg()? Keep it at least as a warn, you need something annoying or no one will take notice, it is quite likely people will apply debug on their driver, much less likely they will apply it to the regmap core. I still lean towards not sorting the defaults for people, but not so strongly as to object if there is a rough concensus forming around doing so. Reviewed-by: Charles Keepax Tested-by: Charles Keepax Thanks, Charles