From nobody Thu Apr 2 00:14:15 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010066.outbound.protection.outlook.com [52.101.69.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 311E23D812E; Wed, 1 Apr 2026 09:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775036491; cv=fail; b=BmJYz/UzkZJGS/gCqiymmOuIvsRZwSIZdidjzuogrDKiJVIwYtPl3nmP+n50v3GJymMOLWyoC9eAWOEPwW8DAHKEP/ZeOoazhBYch6xVW1Je3UnKWJVnDIj5Id482W4rBCCGUBR16x0+UjuR7XkInIyvcCxn5LMgic7tBU1onm4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775036491; c=relaxed/simple; bh=aBA8GgaliWchNnTrDHeATWGIxXo6wFBqLqskkaY0O1k=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=k62vhbUV2t4TkL8rc6+B4XbPYz1ehcSrDUHUb3e/LX6v/uFLiFgx1mbBzpEaYcFnF1yDFaGbf0JvX1Cgc4gTs/TQ545RXSXfqwcYv1PdOdVsGfxdVDOD/J+AJ0wL8U0ouU31fL70GbV4oMAy2yAHVJYGSAOFLJzU72m9KMt67tA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=E8w/SDHg; arc=fail smtp.client-ip=52.101.69.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="E8w/SDHg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EOhUx1qD018s5ALMjfGup/KPG1CBoFqXAOxTcBNpwwY/Of0he0rbjiSf3Y3DeulC3TgKxT/HUZryaQ91ItsD71DgC7XVH9Xs60OHoSli0UcP35JyFK5e9DRq73Kz+c/3Ggrk242YT4KiU1M5g11vPEwgrtUuZw0hjK4r9LTMmEGK/dc/8poKW2h5kJUC/t3qUsHS3Eeep0g+EUVL138CRixAeg/DgEB8P2nLKHoLKWAnzz6I+9e9dQWZCsbpZBzcgD6Kr2W4WGbbMMguS4eeK8+b8OWC9ZmbL8chB9NfIVAesRA0hV8AclzWce0Y9IIi7vcugYHjEDNsp0LAxenPEA== 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=9Oi/2KTsaG7nxKIQclwlTR7Vxue18R5nbgO2D18qPW4=; b=ZQbEIs1RWm+BoQPpx8vvHY6E/JGYZpXqvh7J4eTeUDexQUt9/33P2Co78eurx/vavG+YeK4GWI5Dk+wmdKexXFpxX7dqXCi2YNDa3NFAxBHhUT7KmBV0td9+uqQfTH7yrXAgUU4j5NSI2udmpLzwFWIxT0GIQzaIt7JU10WE5wkEvi7UH0RJzylgFuissQef81iyUG0tLLcSVgOmqq9c6nQ4o8BGWzFmW1PtrgKsVoLKAwkLays8Q2FnkxOSKvfOdw2B4g8l3lVphPg7Onu91xZIy+0O3Ocs73vn0T6G2S1uVuQioQKxzAvD/qaXk1d1Q+UgSKRODn6TjUZlGYzzCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9Oi/2KTsaG7nxKIQclwlTR7Vxue18R5nbgO2D18qPW4=; b=E8w/SDHgHotgAfWZlXqLOOCdSBeZxkbsy/c0R/01bF7nNSWWmAuML1+/l+KPJfJcsdq5h/M6+5bQtC620uv9qifddq27/WdmHIwlYtXRj6NERQFwXt4D0fVulI8fL1mLOlgYvuCK2ega+/dm5PqH0yEVqZNZH/c9wZk/qWzdMSCZQxs1MbTbHwuaQeIFHNHwI33sa3NnJycIZmcUlZfMDQnNfmPi6VTzCnEkK2Id7WBdruxoPenSEnOaZWwEPrxf6LErNveEvHE0dAFstOOq+7U0/7B4qimp5jTvUegTLwfivIXxUOYmVPgFf+5XLHJww68f/2vFJBT9npq5z7y+tw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB7044.eurprd04.prod.outlook.com (2603:10a6:208:191::20) by AM9PR04MB8241.eurprd04.prod.outlook.com (2603:10a6:20b:3e4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Wed, 1 Apr 2026 09:41:27 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b%4]) with mapi id 15.20.9769.016; Wed, 1 Apr 2026 09:41:27 +0000 From: Shengjiu Wang To: shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, linux-sound@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 06/11] ASoC: fsl_micfil: Fix event generation in micfil_quality_set() Date: Wed, 1 Apr 2026 17:42:21 +0800 Message-Id: <20260401094226.2900532-7-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20260401094226.2900532-1-shengjiu.wang@nxp.com> References: <20260401094226.2900532-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0029.apcprd02.prod.outlook.com (2603:1096:4:195::6) To AM0PR04MB7044.eurprd04.prod.outlook.com (2603:10a6:208:191::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB7044:EE_|AM9PR04MB8241:EE_ X-MS-Office365-Filtering-Correlation-Id: 49822465-9f1c-4d01-b101-08de8fd2d8ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|19092799006|366016|1800799024|18002099003|56012099003|22082099003|38350700014|921020; X-Microsoft-Antispam-Message-Info: 8GR1takhoBIam+kT+HaooapJ5FOlhQE89vaeKmQUhPTnnL+Hvoj2U4Kxn2n60PG/mJf+xYInksXi/73SeOGuvs3aTf1fbohcuA9+LNyvf7ltF+SdDAPHpHFogb1VpYvHNU42DwtHuVkz7wvAqSIutzGIvjMcwboljdBnbepcnToA+8z/lpJ9M9AtQLMzyCUluGPjDZfV0AVTt56sI2H6UEKIB+qrHe114lS2PmRK48dsiB+UjbDngf1teRZBuICgj+bzwiskMISLAfLAB8nlHnGZ8nNyfNe+Scn/+Ac9WBRJtAc6LrJkj6SbV0+I5gegtUYTouh+XQPF4DPpCy4SD0xX2f4JkVh3R8X29uR5Gu+9ZGACPinyae6Nh681o2+iVYGXHScsh5xNM8OhiW3Fpm3NGodP4s+hWSj0eQ/AbEnKJLKrrWFUyi2RQhGXnTwmPZ5Xt7RAiKHaPUMwBbLZg3xbODeQFxKjsezbKiDoZznRViejs+CM63blVWoB1gEI5Q7cRKIVDntZ2BfpYPc5omr1A979FvdVhYo9Is+Y6RnQNGIXCQdcuMICgBvl7s8Wp3/1vum+kQvezsFPMOPYdwdS0/bgLl6t2W5jeO3K38JRCaC43DUApuTJkfMKmBFLeh4VK/5P5jC3ovjeRlutT7KROY4fOhMmJWMvd4rX+YcD93NmyXIGBn2BB29ZwJzrgP1k83PvWyrXRUCbQd1sio27raWWiIbB63V40ugWHIn5LQ+TMX9uuYMLx0EFppMjmDo8piW0bHbj9oUhClEKfG0TvwubF4h2EZXFiZG/JdBQa4qxMS2zHHNHYLKDl7lr X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB7044.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(19092799006)(366016)(1800799024)(18002099003)(56012099003)(22082099003)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?h9Jsjik8QTKGgLNrYO4EQoQU3ServwyJoUFToZiK6qYkDfNVU1XcKnf5ks/6?= =?us-ascii?Q?E/gLIMtpWdvC0AqIfnFVxNrqZkThAGX7cyD6cUyopQQdBXxEjx2llbhXqCab?= =?us-ascii?Q?2wd1SocoNBJMyppiqUymjRY3Bl5NGIg8m7muaZ8l9TnQlErVCjzXIdIxbtwR?= =?us-ascii?Q?hNGvoFD+axsP8n9oxs8aXWh6PjFbAB8TdlnXa9fZO4LFt6f8meEBdliwPR/U?= =?us-ascii?Q?HH+dO8uLXshE4sfkZNrcn0VuYNT2LbXn/o5ecPAenuoIP7ulrtN26G847OrX?= =?us-ascii?Q?2df0F8QzWyBRYr5QG0fethC7D/k3MMSlcBlAYGcHg0jXY39ESDK3q4QSfFik?= =?us-ascii?Q?qTjabzSImwDUzdhzv2rxKB1bHARcOHjGhfs/tOe/qgnvBFqyjuHxj1oLrMwT?= =?us-ascii?Q?x+ZqPN+BTe47IO23+c23mIIuYHStxHNHLmnuYWdmmwte8zU/SNrRdV5gGjT3?= =?us-ascii?Q?Iap675in64FwhbeQOsuP7423w+RBKSS5/8rKTAXP3BWnZgQfxgtudtlYgBaN?= =?us-ascii?Q?vxXoqtln/GCGnucCF5sNs90b+Lb6DL/EqbaPHdftrZ2qaJgr4fbemnyOYffL?= =?us-ascii?Q?X49KmmwUZViIA/bir5YSe8SvNHH+TrmmNa/xlSNhs6VPUZiFm6DbFZQ4fyVd?= =?us-ascii?Q?bj8nRiENWCZPJPD0w5x7cWqgqL38BirEAU2twvfoKGZokmNxxQ8XQO3AaeSk?= =?us-ascii?Q?MV+apkGkGCNE+5FdgG7TLIyIfEt7NVUTmaLKcH06SAZwXCXeuPPaEQ3GeutU?= =?us-ascii?Q?ERwT+vrWjWmtozJ9iJgCCLK1FYJ/V67pUSv6VTR11+G2ox/r1/JZM/+6TWNM?= =?us-ascii?Q?wrlIequNlt6hQgsFB3Mxo8k9nZjCX/ytWYmycTr7ItUGbXI5KjRnmydd84EZ?= =?us-ascii?Q?nKyVGeyDbZk/yMFqQdReEdZLXP14PS/JkByIx1dxrCZdkcuXsqaRaSLR3/SS?= =?us-ascii?Q?fXj+iNuNoGzgwjm9f/viATZ1mWJDL+7HDWE3xxg3IaBUfqYsybTmhaGXZkMb?= =?us-ascii?Q?GrSwMaVje/p6OxSQ/zSfeTP6Byc5dMyEqSZ9vCr3TqzvXqe+SJ0Ho8v7Ifno?= =?us-ascii?Q?rmf+jxnxbOehqHQfuelX2tJvV0RmKK/jyThr2RdFVJo3v96I2PUAQ+JDqEcm?= =?us-ascii?Q?1hdOeAeQ+VvYypjpdzZwWrPWOHx9nuyZNWxfOAG9Z6+co+UmW3ODzrcdRzyG?= =?us-ascii?Q?RgPhnLwBJGJPmwe1jzukrSUIX+4zOOzGRyt+V3RLk3ayU/UHA0p3S6mnMTMc?= =?us-ascii?Q?nV8LuJCW+JS1SDp44vACxeihhjydWgJsNfY16aFoJZyfqCtyD1Vf6I+FpFm2?= =?us-ascii?Q?BCb5TIQt9O54R+aYqtSxwSTgkpvq3B4kQeXWe9av68y0dtUqdQHSQKhVWmaT?= =?us-ascii?Q?iLhR36GLZ87DXWMV3TaFINiXAGMzvk9KQ7eJ6fZtpp9zwqqpF9mLsmg6T3m4?= =?us-ascii?Q?NnraQyqHYcaqlvP6CE2n4DBrHZmG45ESpT46iezSwlhdXc3vNi37gaFun9Bu?= =?us-ascii?Q?9+Vv0FAAgHdzoNhIXPtF+uEOS/iXLDVGa3eULUxCjfWKIIPi1QSH9zgM73Hz?= =?us-ascii?Q?C0RPgQ1FuVNsbw9wYfy9OOQ8qRe7614yYqKpy0eLNqkc7vq3nBVUiYmiF1AH?= =?us-ascii?Q?Rs8GUY89KtGYqtkFA0nBwoO+fohoVM2uHtkrycVDoFPUxOORVm1IHN7LQeyc?= =?us-ascii?Q?GBNRQSU0FB6XT/s4pzndyA+O/uqK4+jUJXfoQ2vWMh3+FKa5XQBNXtu48ajS?= =?us-ascii?Q?ALd4Av9wag=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49822465-9f1c-4d01-b101-08de8fd2d8ab X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2026 09:41:27.5836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9xCz7IhW5CijWIDRfboZ7LwXdAYduHN5ORsXmEaQmjQbe0uMh6VZWsKWkZqzqqsOilKraUa+DwK652d4cJj7Eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8241 Content-Type: text/plain; charset="utf-8" ALSA controls should return 1 if the value in the control changed but the control put operation micfil_quality_set() only returns 0 or a negative error code, causing ALSA to not generate any change events. Add a suitable check in the function before updating the quality variable. Also enable pm runtime before calling the function micfil_set_quality() to make the regmap cache data align with the value in hardware. Fixes: bea1d61d5892 ("ASoC: fsl_micfil: rework quality setting") Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_micfil.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c index 983805bbaae2..2e887f1f1f36 100644 --- a/sound/soc/fsl/fsl_micfil.c +++ b/sound/soc/fsl/fsl_micfil.c @@ -289,10 +289,34 @@ static int micfil_quality_set(struct snd_kcontrol *kc= ontrol, { struct snd_soc_component *cmpnt =3D snd_kcontrol_chip(kcontrol); struct fsl_micfil *micfil =3D snd_soc_component_get_drvdata(cmpnt); + int val =3D ucontrol->value.integer.value[0]; + bool change =3D false; + int old_val; + int ret; + + if (val < QUALITY_HIGH || val > QUALITY_VLOW2) + return -EINVAL; + + if (micfil->quality !=3D val) { + ret =3D pm_runtime_resume_and_get(cmpnt->dev); + if (ret) + return ret; + + old_val =3D micfil->quality; + micfil->quality =3D val; + ret =3D micfil_set_quality(micfil); =20 - micfil->quality =3D ucontrol->value.integer.value[0]; + pm_runtime_put_autosuspend(cmpnt->dev); =20 - return micfil_set_quality(micfil); + if (ret) { + micfil->quality =3D old_val; + return ret; + } + + change =3D true; + } + + return change; } =20 static const char * const micfil_hwvad_enable[] =3D { --=20 2.34.1