From nobody Sun Feb 8 23:06:40 2026 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2077.outbound.protection.outlook.com [40.107.247.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F8D92135C2; Fri, 28 Mar 2025 08:59:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152367; cv=fail; b=inHDMu2tojinlF3Jg6T9kJDE1ZCV0qNGGFC7VZwQyRisFLv4oZ2cpG1DgJaEGIVNCCYStvXA61o7CbKP8jxO0YtlARQMUW5QJ1x0qj6wWI8yhfsf/1Z0nKf/M+WE++iQlJIGPMl32IekkyGl0kV/ZSbqntuTC36++BUm9nvy2pc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152367; c=relaxed/simple; bh=dUHMwc289j+somToQSbPcymUeHkfJQfqn2AJOWh109c=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=L4ZbRxOV/iOhJAn1oLQdPs4jRfryhpo2r+Fq/aiY0bXbwx5LLf34hIabfeJjpKSZyrKMYX9m1XYKufdCdk6k2H/NGmVsMNM9apYNxq6jA1UCHycxqTG8Z0cb8MwFGlY9x4RIErmikY5FttU+HlTaj1FEJyrlkK+82s/lCf1+bWc= 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=JAiLyfQz; arc=fail smtp.client-ip=40.107.247.77 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="JAiLyfQz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RP/rf3FamFY8EQ580C+/45gHJ37Jp3YicT8IAVUz4SuT1VEbFMPseDR7nx+aWqH+BKX18+QOy1eRocZFTVz6g4eMmbjG/6WKNaqMZ7JN0/nz/KoJwO1j5kPWteyLSIiRoFoqEMtjFr3sByvH6hVO7OBqdKADrWdGH2/HYf9UPQ7We1GxEtiPu62tgKtsOaMLvYBkadgFkiE4i+WiUYNNTgIfFoSGwrDOqqGBlUz/P5wbwkCtbCM/pd9YiuJ+9B1lHHPDH6nUjreiCrAF+9pEyScto4pDmymfDZp0FDNBjNswSztKPdBsOg5eOXBnBDuA9dLA2nA76Cg5GGHDMQEuyA== 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=fXT1c3W89hRUWkpz7jScNcX+xgJeOlXxRCJh3uTYJHY=; b=w9Y7Ifo60CH3p/wTi8/Qc6mYVhQyhE1B7EVDvWMjESKgs3eLlFDk6A0AkbEjcHWY4pf7fUBh/QMEfo4wyC/lVfheZWoMs/7YHPR6c/k51oU5i9MAS5DocUX7E0JrzododkDh8uw/JdkXyqic8E9E60dwXErTVsgujreKJGzrv6L4r2CRlzrEnS79Q8PnLr+q0OOHwll1hOSIY8ojbbE8iPUR2B3SM/V5npTKt3RGwgXwhA7Q3J553Ch+WKav2DwVkWktqSVTwSUAB1/2zGD3ZTFfRMLTVY0va98uyKKejOnX3XJZj7jqOvwTiB1qKd26WPvf+5hFrMffPLmQi0PhJQ== 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=fXT1c3W89hRUWkpz7jScNcX+xgJeOlXxRCJh3uTYJHY=; b=JAiLyfQz0QKiEPVeEMjuprmr1o6+j57oACQA8+l1OtfPz01iJCFZ7UwStmfiZfqVfRw4+InMxMFH1IYUK1kbMw4hE5kV77KOljP5xGvKTccqiO4BD6JO6hq/jyrc5anyxIB/+o4LZnUdwawPWDMRpPLy7JVCs25PjvV46Kkw2ni91ULl2MilkfRs4W23T3YiQ7pG87TlymZmIxGjcC8Yxk8dx5Qex2i5CRTde6dybLdgoM0BkgD9l4YfS/nNRlxOY+lu4mDLdMPVrdgSVK2lmx/pX7BxX7EgntKN3RCGcDRBOwMKJNGTQMDrGMjTcCZ4g2I68KkoxwAgPiGEm9Qu+w== 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 VI0PR04MB11046.eurprd04.prod.outlook.com (2603:10a6:800:269::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar 2025 08:59:23 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891%3]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 08:59:23 +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 1/4] ASoC: fsl_sai: allow to set mclk rate with zero clk_id Date: Fri, 28 Mar 2025 16:57:41 +0800 Message-Id: <20250328085744.1893434-2-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250328085744.1893434-1-shengjiu.wang@nxp.com> References: <20250328085744.1893434-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0009.apcprd02.prod.outlook.com (2603:1096:4:1f7::10) 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_|VI0PR04MB11046:EE_ X-MS-Office365-Filtering-Correlation-Id: 1480a309-a322-44ac-929b-08dd6dd6d5cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Ub2z4cxKRxkA1o592m251ULckZQghJ6//HDSGbPtDO8UQscEvPuW8oiU7be9?= =?us-ascii?Q?hr1COIIlO2F6XdgS4iDJMaxoFnnL3fm/xbm5TTe8CveDHup3K4EDNL7yNhxF?= =?us-ascii?Q?xWPrEMbDtONO5q6VS2BuJAKm/WDV8aCuRVAIk0BI0JNSUsnehR29oIjPeGwk?= =?us-ascii?Q?0M6Heoq2mAuL2DZ+IrDM+Pg1CO1wIAm06C8vipi/qulCXvhPyEgCqCaLvV0U?= =?us-ascii?Q?kfjuOeqMQyAsIgnwtz5LZbSXbRJoE20383AeTJ5wGfQ7mEA3MlKHIznYvnyA?= =?us-ascii?Q?S7o3CuotHhG5WHkHbP+GsZiNy5Wnj+JVU4A3QD9DnqrN9ZOWePxQvKyVSsHG?= =?us-ascii?Q?O5QMjucwvF7TuzssldXnEzqNINkITcxeogoM/lbJYrvWPj7f2RxuMm3Tst80?= =?us-ascii?Q?+FbKtaAq7nON4Oi7sqmHoQ8yf5RJZ42+iXaNe/0MKgKEhV1dPyJNJZA0YztK?= =?us-ascii?Q?0P9l3aj3l2rri+WR5xWvs09peBFD0hcLlfA5BKAsojWpU8Ph3l8zwU+FdkH/?= =?us-ascii?Q?rukpbZQ0QoDdrLSFsdUBETMYoBuKUyF5gi2q8eJ/7dxQ+Pa5OX8oLp5mtQT1?= =?us-ascii?Q?pnRlvQztEBxdFRNeJeTKDgM4W/N8uaIhmh9hAMGVLiF5iUyit3BbYAGTS0HI?= =?us-ascii?Q?CwqpIMDOggaRYhUhFsnLuq3gk750e5z7h1uL9LI7lJYqj/vfU0u99dVnCRok?= =?us-ascii?Q?JrFtHejQydmfCQtbAg3AZmbIO+5wGsLa3UtrNiIifn3SFmFeX5vdekzaP2Ny?= =?us-ascii?Q?JeofLNsf+leIvuYWDWqj9MUMG/GQ54rs4EsRO13+mZbSo+k0fiM9lwKhzFSd?= =?us-ascii?Q?ZtKn+V28NkWtgC56GMTxzTM3ObQC8kHh0H6xkXnARetCDodP8HLbrEFtH39C?= =?us-ascii?Q?tzsaG5CPnYDIECp2pIGfoMTPozxi95wo0KZhOJwHn9sip+1VXxo9aID8OB+o?= =?us-ascii?Q?kRtoitckwKgGVPb9yFRCf1qjX0OAyzCKeH0HNcnHDGTWH0omMA1T5M4sSUoz?= =?us-ascii?Q?nJLTFIihYc9KG1pWfqZya3K3h3JFKVgySSklTgh14Xwq8YkhBGeAi6mdV2A8?= =?us-ascii?Q?yRYr5iQOFlAaXwHWcqB8XTxOqybqymFsITD7l0/E5dPmCEp+VvXqWZLz9gFy?= =?us-ascii?Q?MY+4BnkdnmKOqHuRDXEbA39fSHE5RDuztr8wnO6uzbHVRU0is0/XagcRN56m?= =?us-ascii?Q?xpwCFKJCKttIDGCTxoKiGq2IKoIs/7ZqBZQcJ31J0JLcFujkx4ckHf+DeSce?= =?us-ascii?Q?rUhMbomokCjO5mCNOJIOr+sbOG777AuTpwORtnSzxxL7aHkDYeyUlDE/8R1s?= =?us-ascii?Q?nkFa3K355drwOrres+ZkA95PCn/uSBjeogwFJi5U2Z9XvBqxvyIEw/3S736o?= =?us-ascii?Q?AFSuzuNRVsskDl1p+CxYdapxAziSddFMjVWt2bHCSMsauVmpaBOiAU3NktDy?= =?us-ascii?Q?GM9En916ME55IpGLUz9EA3mp+mWWKxDGorMEU2bEIoR2PEKh3xNwXg=3D=3D?= 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)(7416014)(376014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?17IbYbpb9Tf7lPa93k9dL/f4Gm2fvaZBCgYawsHVkCO6QG1LxOhEwHYgClj2?= =?us-ascii?Q?YtXqbEr8RFMyzcb9FyAlWDUYMkd73MC5t2fDpGV7D++0aurREDjhihD7lALv?= =?us-ascii?Q?kFe5wTYK8LmmrjOpmfSwk54ELa/Gvstd13vB4DKKDbK6kYbh7FtKi2BdLDaC?= =?us-ascii?Q?nM2BhxlPnOepF1KTcIMNS8nHMPxGOzaUythdbJrnS/sw1ah/ntzrdUJnsMK3?= =?us-ascii?Q?auTuJsRByT3enGmhq21Ogns46he116qa9Jo7pvWWorpxnmo2SCem6EoWILad?= =?us-ascii?Q?ZKqBZ6WJpMoq0fLGn7F2MScO5oTU2tWA5DahqbHnBNynhb3Cd3M/VOOPAV9t?= =?us-ascii?Q?Vn1MY0jk7P432w/Q0O2BHs563f6Kx094a0up9P+J6yItt9bgYmFlMC0DwLAE?= =?us-ascii?Q?1ZEaQnX2gKkmpQrUxKjyH3xI7kMK1l0FPphrJP+rhry53e/FqFiG5B0YJnOV?= =?us-ascii?Q?Z5r6a1VG6TKl8g6JoGK9Jvy7BrvF6dJho/ynf7Jl686G3Ym3RVKpciObEV4A?= =?us-ascii?Q?xaYUnOKDSGkeTVt1M/JAlSNIc9KNG2mvI84pfiI7pR1qJ9P+HqAaPCfJ1xDA?= =?us-ascii?Q?suCaHhz587+I2YpvdlOYj4/d/vOBOQWHHdCWXf9j93DHmKsYEr8iwoiqswNC?= =?us-ascii?Q?wh2xeyLvgN8qP6OmMmzxFpmotFHUe3NCH8JBQstqQ2sHjQkpJ1lCHoKSibVv?= =?us-ascii?Q?E4+p5uqB1JeuRy5jUq4sWY1/yOHXi7/CqPNx7iOznlaGtIW7ua7150N//9OL?= =?us-ascii?Q?MwuIpZwTDGNtr4Pfa9MDC54x7uhs5AqoQPEvXlbVTcW0hpB62wPQl3NGe6aA?= =?us-ascii?Q?uz5o3Z1Vgxpz94BpiezEVsp+hmzJ3f40aXWvPUvFkKcdLgNxkgW8UGKMUSG7?= =?us-ascii?Q?q/B0XSrDWjOm+LP8g7k+/fjp8URNTA63oO+dBtycLVysVQenTir75z6rpJX+?= =?us-ascii?Q?aDJOFJ3o2c6S6HncqyUlvc5mw1NiRz4ov2paBOVJ/Ddp1rk+I55T6fOyWvtm?= =?us-ascii?Q?WYT7Fg5tY1gWY2DfVbVl5ps2UlST1VQjQEb3VYneol86E0JznHGtLtZZIDqE?= =?us-ascii?Q?Z28BCOjkHbvgNTum3gwvsUlXpAN1pcM8Jh0CPkXuNoJr6GJDisd/ejXJ/3ST?= =?us-ascii?Q?I+kE2zRtdXjpQYsEqU89fex7jN3I9a+YNMk3MWH7BYWXL1ufxy1AgKJ0384j?= =?us-ascii?Q?s1UymfSir+j0+LI2Pqffd6B68HDktaisdzhezxBhAyofoT6TsEX/SynVx3EX?= =?us-ascii?Q?16AZQwEQTxrpu6vrLSGfSFLrZw64YsAk7QX/hxaghoewF+WBnpO+Y+OEqSQI?= =?us-ascii?Q?FEaZZ0CtdwYC0MNPf4EpHar53LAXgaIN70YtpJh+xGeMldGN95Dd36qXwMcA?= =?us-ascii?Q?njGKBN2EyTLE/4hizRaJTF8EPsFIbNKff+X43NmabFJCrqMGg8Y1f766rn75?= =?us-ascii?Q?B9yObnDgBlFZZFG39xt2jqKiTEuh5fyxMnr7YfAD1+X1d64dMKMTipXIJ2eu?= =?us-ascii?Q?X1/UYD4bP0dHXXNFMTIgzOjr0CbBuot3so0+ud51KpKwGk3o2vi4nrEuzFf7?= =?us-ascii?Q?kbRq2qqo+LOlpHJFjcOwSi3JV6rt7WmlFzJg2Boz?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1480a309-a322-44ac-929b-08dd6dd6d5cc X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 08:59:23.6782 (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: ERpKLpGPNdDPOoMDUWFzGh0N8VNnv29H5jETrPbLk13KTEoY8Vt0Y7BTk35gb0zN97PaZOYxJZKk2hK3BV5p3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11046 Content-Type: text/plain; charset="utf-8" If clk_id is zero, it means FSL_SAI_CLK_BUS in fsl_sai_set_dai_sysclk(), as the clk[FSL_SAI_CLK_BUS]'s rate can't be changed, there is no rate changed for mclk. But with audio-graph-card, the clk_id is always zero, in order to allow to set mclk rate with zero clk_id, update the condition to be if clk_id is zero, then set the FSL_SAI_CLK_MAST1's rate. This would not change the original function for master mode. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_sai.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index ed2b4780c470..bcb46a0b5e68 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -238,22 +238,22 @@ static int fsl_sai_set_dai_sysclk(struct snd_soc_dai = *cpu_dai, if (dir =3D=3D SND_SOC_CLOCK_IN) return 0; =20 - if (freq > 0 && clk_id !=3D FSL_SAI_CLK_BUS) { - if (clk_id < 0 || clk_id >=3D FSL_SAI_MCLK_MAX) { - dev_err(cpu_dai->dev, "Unknown clock id: %d\n", clk_id); - return -EINVAL; - } + if (clk_id < 0 || clk_id >=3D FSL_SAI_MCLK_MAX) { + dev_err(cpu_dai->dev, "Unknown clock id: %d\n", clk_id); + return -EINVAL; + } =20 - if (IS_ERR_OR_NULL(sai->mclk_clk[clk_id])) { - dev_err(cpu_dai->dev, "Unassigned clock: %d\n", clk_id); - return -EINVAL; - } + if (IS_ERR_OR_NULL(sai->mclk_clk[clk_id])) { + dev_err(cpu_dai->dev, "Unassigned clock: %d\n", clk_id); + return -EINVAL; + } =20 - if (sai->mclk_streams =3D=3D 0) { - ret =3D fsl_sai_set_mclk_rate(cpu_dai, clk_id, freq); - if (ret < 0) - return ret; - } + if (sai->mclk_streams =3D=3D 0 && freq > 0) { + ret =3D fsl_sai_set_mclk_rate(cpu_dai, + clk_id ? clk_id : FSL_SAI_CLK_MAST1, + freq); + if (ret < 0) + return ret; } =20 ret =3D fsl_sai_set_dai_sysclk_tr(cpu_dai, clk_id, freq, true); --=20 2.34.1 From nobody Sun Feb 8 23:06:40 2026 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2089.outbound.protection.outlook.com [40.107.249.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A9FB213E8C; Fri, 28 Mar 2025 08:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.249.89 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152371; cv=fail; b=UdlIXjKV60Ax7dfvis1mCd9emIpF3h4OR8o6m6f83b6zZdBcmwk3qJnATDQAPCDQYtDDqyJVnlIFScbhnGMlwVQaspCAwkGaHvhfK2tMiMZ9iePoTsn47GSeXiNsTw8ymqOpyYa/fRLOSkzhZdwR7evQb4QnsUT5+iqrM4sVYeU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152371; c=relaxed/simple; bh=cym/yuBxOD7K+MiMEQne8zYNSLc55ipwq8IF11kozw4=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=KyPmKYmi2yIlEyIk6hU2MGrAZaWbVZya3NUy1L83K2SnWTJBC/ORB/uVakeEWN0MeKBcPCmfrZeWj9XG2SJoUdKfbJmGq6h6mmLiSam1SXOHGpeN4Rd0Ur3XhiJqtk4xTh+DN5JGcSmpT3e7Eqo32DpY8s3dY3IJ6ZRxpD2gKs4= 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=i9e6DYAz; arc=fail smtp.client-ip=40.107.249.89 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="i9e6DYAz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=affSZWaEf8DnJk3/20qBg0zASAzHVGApqOPWY1Sn/yhOD9XVuhKojqwxBij3giU0SxHy4oicYFU+KeEkEw1yMtP8c5JaWWeF/YyabFiM3rQYxPdmeCtadfRmyEm9KOHU39oNN82q10aJCNierkNxzNWrCOwd7vdWeJKMwTlr1y5uqbl5lN/IH2KcdMn51jtn0GxU7fCJ6EuiIvP042DyQbSkNLfEMcI54HK2C2RE/eDA584XmyYjXr1qnUPBUb7V3xWGrdsybyF7AfFhymv9SiQOJY1vsU5uCIBJ71RLjeGIeJkqSb8fHn+pkyBO8GMz3st+s3d0GllXqS+fzL1eVw== 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=yUtvq+OX3ZLxhYKy3ssDYKXPCxqIFU8MZ+ndbeqjLg0=; b=ilSm60LQxzYwK7ru/e3uqs0/jF3/bpNpo2iIJXLMRLa65DHgFzOCFwAbCWiABVeN3MZP3gYNfzNsVymvZs4J90whQFdUAwbzD4R7QdnQBoYJuJP3AQfXeKhK6CwH8uZ3pzP8+zBXdky3u0BaA7LlunJCKRO9ANs5NZ7B7Y8XwGbC2CPRX2egwBm9sDE0nhVUMFKYbz/hgHEJtiicR65HB+aD95Bx0jtjZIuUCgYvmmB0D7r6wCe+FGBIyaY1lqLHKF/8fS9sTushvhLuTY1zsJPEWNfHJR4XoPQlkVMeDGg4mZjP2OF0Mgtsj0l1mD8uWMMUBRQFxbOVZJ8TwydiQw== 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=yUtvq+OX3ZLxhYKy3ssDYKXPCxqIFU8MZ+ndbeqjLg0=; b=i9e6DYAzOucEImojMHJaGiztYFU1Fo/z/tNLItW1iNdZxjHk15DBbW8SC4Kc6DJbx6i4GP98q4N9PHorhJergx6C8uZqKOJ/y8KbWTAP49rlniLi6DcErQVu4sFkQdN4VCqzELq3ts4/l1EUjJ7S7u9A8gH4pooaZMW5OBWSdSDOOIGOMfw4s9S/YNKC0oYyTNH8jHk2ikTEwHL0+ZFw58RbMp5XhVSSYnpCACAr5VF8z9kMcVFtROgQ1uz+q4Ww1PLlKWdu4TCDhv9YY9MWK2n6HCLy9TZpXAMu0sb56Lbe624RWBu/t3/rqSxEzT06JS6dbS9Hj95KbySueHMqwg== 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 VI0PR04MB11046.eurprd04.prod.outlook.com (2603:10a6:800:269::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar 2025 08:59:27 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891%3]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 08:59: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 2/4] ASoC: fsl_sai: add xlate_tdm_slot_mask() callback Date: Fri, 28 Mar 2025 16:57:42 +0800 Message-Id: <20250328085744.1893434-3-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250328085744.1893434-1-shengjiu.wang@nxp.com> References: <20250328085744.1893434-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0009.apcprd02.prod.outlook.com (2603:1096:4:1f7::10) 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_|VI0PR04MB11046:EE_ X-MS-Office365-Filtering-Correlation-Id: 02ed9c6f-5c34-440d-aa24-08dd6dd6d7fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?S6473Rbi004G1YKrIUftC7v7maYHy4GUox4MbJvVu4FEmVBI/DbSsztvgBOI?= =?us-ascii?Q?4P58BR7trf4zpYCCxV8PHTci5BTo1m/r+DvdUCv7VOkBpzGGAcLqdl2fSAVP?= =?us-ascii?Q?nCNU/kCZR3ELmenY09uo5l8LmrIT8z4EgHcliApcuETi2jw6P5m1pB90DyhE?= =?us-ascii?Q?P3P4l8rP9hmkCm+6wbNtYIar7JYqMy2bh71QVHUjTkV5GxGn1RvX+bqEuiE3?= =?us-ascii?Q?p5ZWw8qKbIcF3Y5E9dKgoujTggbvpCk06ZuLsDwFTSy/NS8OVpfiAU1zVezN?= =?us-ascii?Q?9Ej+APFv/8GRBmbRJHfDHfh9vTJ+PUF76ulvK3Ci2/2uty3Aip0epnIij7pA?= =?us-ascii?Q?iEwKWOautukQ9prj52ILSoieIarO4qCcmYJR3lDOMw3g1RpodBOM9X/QfrY9?= =?us-ascii?Q?aa5Fqroiq7umZa0qBrHp5/v0gZtRrQbMFzMEqbZ36ztF4Rd9qFUDD6DptrYT?= =?us-ascii?Q?DfjOXAArmkvmc+7Nc59SLA+5+NNB50fzHoV9aK3TtvWgnSn5Wwq4mgkK4QNo?= =?us-ascii?Q?13axNTM5sec6Hxs75lntfw14rTPpOI38rQsSe5lM8leV0fPDfYmy4EKVDGvf?= =?us-ascii?Q?sGAq1+5ZY/6aElvpwuywBtbMejxUsbxL3b/4bI9vbqpChSVZrA7ZCd4rgEXN?= =?us-ascii?Q?9F6l9ZdnpIZFcmKYX+BdYAFV26hHJ2zyOaYWQ3SxLM6PRu7SaSM4gEmmZEBS?= =?us-ascii?Q?6hseVCA9uhDNzroNtCrg0/0w7C/flI3BlZk7GF/bAblb4uiYKdS3CH7D2aTK?= =?us-ascii?Q?TqcQA51SVb/sUv+GKmC9RW5f3V7dhxxMZ8/7hhfIBiGXhkhzs8uj9uzj5CqL?= =?us-ascii?Q?iEVLgNrUXn/V0XpYK80xWcff649bI3PgQwNDO+BnjLFJzOJN/d7E7hAOIEJq?= =?us-ascii?Q?pYfulywkfZ9lwpA3WXRZBAIAPy8XzBWCMzhfiJcYhkaI08dHkpWE/egR/Lhw?= =?us-ascii?Q?7Q7NPGfkR8m1JQmFqOHz1ZjQg7PFPGcW73PP/ncrQtCPk31eSIdsNFOcbljo?= =?us-ascii?Q?OVXOPD056SwMQEIjQ8Yz4GC6N9ROLcH4cxU17/Ds6g4nDKXgZ1yoyxN1+xxt?= =?us-ascii?Q?MkzXdexeDkx3y9S4mQSTg0TNLLvKIrhr2VoGryZWCl0uwlN94vVWwZ/Gvkxl?= =?us-ascii?Q?ylrHbtCEE+kaCVruQRe71um4yqdyjSf1gcdmBFgP3LsQy+xd2+WoEv74t+JW?= =?us-ascii?Q?YqAM48WTTLMVpGfhdHscQmN2SxGKjAofmQRdKWhkKgBcPbbTJDJyYl3LR48j?= =?us-ascii?Q?iCnepFYlu48VL54sNdxiDND/9BQ2X+y8/AxV+1iNJ3wGXz1FWh2v/dl5Wl+w?= =?us-ascii?Q?bIng602uLoZNAocV+gOlh4I7ces2GCzyD3WXjm0wOUrWuuISDbNcS1+MfxrS?= =?us-ascii?Q?llKhDvh7V2IlNRvAP5oSDFUHnI7G/p+YJuJybUOGM+942v30Kyvgdq0XLoEZ?= =?us-ascii?Q?Ea+dFFByXgEh0kNyiq3g4MRw77vxxuLQx55Dqc1uY7TRb7objsvRbQ=3D=3D?= 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)(7416014)(376014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6sEBq6qZUyv12Exl9IRjPAgMiu0NgUFUXnEHatDiBc6XMuQ+paXlhZsXuI9S?= =?us-ascii?Q?RDgTTLJDf4ZCGye7fwqm67odedeHtyhQUorc8wi52bfn24pcBMDZwr++LBDp?= =?us-ascii?Q?NTGXMjqqdD3URnRYwdbW2D+6KYmXl3fh10pPff60aJCQdCSN7kV14SBXT/gK?= =?us-ascii?Q?bnADW/yCUgsMLtaxFEC1m8GcJf58/7djqudTOuTdP7Aj2hHpo43n7k6Xxp9H?= =?us-ascii?Q?qgdru95W8L+kspjC58RaifpyPMNPSoj77PXsgbb/FLKoCDi7exa6Kv5GnOHj?= =?us-ascii?Q?nVI5EtaZ0nEtIlnvTdT1mM/s2L4Klr9kNM+Y2JaxhVrquhbPcJQUX/ZbLZ36?= =?us-ascii?Q?zDHjfwl3LwPjdZ527R2tw0koR4vuv/r/y2/Ah5qgZ2Ur/dOUZ6CGsdXDdyvz?= =?us-ascii?Q?SnN3EcpyeZkyd49G2CcdLK5fk88Xd5LEU2zS4V7U9Wf+7zkQVPl0onyE9S4E?= =?us-ascii?Q?9dnX3EsZsI7urA84PnGyo+Za0AbnZOZL7gtSlH89Wo2lskQ/BhGC4y3DNtM+?= =?us-ascii?Q?4mwFiVL1HffKg7i0GxcHbfL4jzhQY3/LzT4DUJ3V9+laX6MYo1uTsfhzocnX?= =?us-ascii?Q?cyvIbGimW+YiIAsYYa8jj/OpjsLdrhUrBLfgXeVGdcAf3W3kU3NquSUTTgT1?= =?us-ascii?Q?z9uaCq1zpAqHDqKVaMgN7awVrz125xGn99gsFm/dzQsP8e0ePipJ+QPRwG/B?= =?us-ascii?Q?z6AXM1htt9SX51K3bHesvTGdSMTzBpgbbsqwNR414z2m8oI8PJlfdYwDElz3?= =?us-ascii?Q?eB/Ym4IH/zM+mwsoYzhRZh7hFBfno9uExo5QovIdGI/x3VDI2OVCO9p7Lyiz?= =?us-ascii?Q?98LsyS4rRh+rnIMdoyeWXXKfzJxv9JXsxEJjuCFop25lAGL0LJt6g/t8Zs+H?= =?us-ascii?Q?kV+UmmNB251khCMnQecxkgtcHjE4ZF9CMuo4qMYKI8J9S6teRgBmmSq2ngkJ?= =?us-ascii?Q?uWEPt86fCcJOxAa04cmUSr4lt3Sw6YNQHvndB8FGYhzRWxSXAtRNP3e3CYbL?= =?us-ascii?Q?/8gudnodk9AahyG+VrpgbO46CfRHzBiW/4EH15QyH2gogyPORHHG5v5ApKmV?= =?us-ascii?Q?5psRirxenMdI89z5XmBvqOv2FYf2ydb1hO2DcIGxqZBW1v/AAeODZPY+uK2K?= =?us-ascii?Q?tIShCVVPxzmMIM2lGCiIbIZhqJZ5f8yHC3TXCW9wJwvtcPL18AK/JHkQuv5h?= =?us-ascii?Q?BHJ5Y8tL25NPZP+zQpa9kbNsk1KiVk0HCyE7fNz8ZhueJzrsVFXt4FN6/sJC?= =?us-ascii?Q?CkyxsBXhDWB4td/rYYs9DKPh6xAKmbfWXwkvmz/Kutng1RaHCQRa5Dd0hcns?= =?us-ascii?Q?pz6kkzCChfLviKZ0uqB9Fp1P8j//8cb01a0ZmKyayhj8RjQGD+DTwCBaAVd2?= =?us-ascii?Q?ZVUPMv3v/sITvjnPQf9e5gwhfZ2OK04lo3GUgnoFmmkZy6NrS4FzM6ct0lUa?= =?us-ascii?Q?A3mROdg9vQkxWeBBWAHwW48ZaBD462+zpG6HlQnbrssLQC44PgbA86n1Pmkn?= =?us-ascii?Q?jvBNT/JWCrcBwuCFLT9cv5bljmXiyiD6VexdX9kqT6CwbaKEid3dM8DBBd1R?= =?us-ascii?Q?77Qp1fk7dwxSSDWMcxGgSYqpfPKLFCyFojh5Rdaq?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02ed9c6f-5c34-440d-aa24-08dd6dd6d7fd X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 08:59:27.2546 (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: 0uNCbexIsvUr4N3to8yrQkkN5IyrlIW/OcPP60FdT3JSkFK4b3w+eCe8BhvaKy3PyGMamauTFzMKBp6nzxERbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11046 Content-Type: text/plain; charset="utf-8" With DPCM case, for example ASRC->SAI->AMIX, the SAI can be codec dai device in backend, but __soc_pcm_hw_params() will get the tdm_mask for channel constraint, tdm_mask is set by snd_soc_dai_set_tdm_slot() from slot number, but SAI supports flexible channel number with fixed slot number, so add an empty xlate_tdm_slot_mask() callback to avoid the channel constraint in __soc_pcm_hw_params(). Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_sai.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index bcb46a0b5e68..9a450fc86dba 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -174,6 +174,13 @@ static int fsl_sai_set_dai_tdm_slot(struct snd_soc_dai= *cpu_dai, u32 tx_mask, return 0; } =20 +static int fsl_sai_xlate_tdm_slot_mask(unsigned int slots, + unsigned int *tx_mask, unsigned int *rx_mask) +{ + /* Leave it empty, don't change the value of tx_mask and rx_mask */ + return 0; +} + static int fsl_sai_set_dai_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio) { @@ -933,6 +940,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_tx_= ops =3D { .set_sysclk =3D fsl_sai_set_dai_sysclk, .set_fmt =3D fsl_sai_set_dai_fmt_tx, .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot, + .xlate_tdm_slot_mask =3D fsl_sai_xlate_tdm_slot_mask, .hw_params =3D fsl_sai_hw_params, .hw_free =3D fsl_sai_hw_free, .trigger =3D fsl_sai_trigger, @@ -945,6 +953,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_rx_= ops =3D { .set_sysclk =3D fsl_sai_set_dai_sysclk, .set_fmt =3D fsl_sai_set_dai_fmt_rx, .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot, + .xlate_tdm_slot_mask =3D fsl_sai_xlate_tdm_slot_mask, .hw_params =3D fsl_sai_hw_params, .hw_free =3D fsl_sai_hw_free, .trigger =3D fsl_sai_trigger, --=20 2.34.1 From nobody Sun Feb 8 23:06:40 2026 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2078.outbound.protection.outlook.com [40.107.241.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF01E214213; Fri, 28 Mar 2025 08:59:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152375; cv=fail; b=dCNyZ5T9czFMDoMyaILw0WpDlX7S3wt9/vuzobVgiL/QfhHf35EtZRyPKL1kG9wkweC+g51T39P6aL/dULGIfbn0pAEZwyvR+P9nS19n9+KYKOSjU0bVhJJ2U1yZK39lEEdmZrWsb5NGdz2bl4rF3ZSkFQWL3g4MbteoyVkzqvk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152375; c=relaxed/simple; bh=UtGst5NWoIVp9NSpKCSkMRcjJNd9BsoMmY250c3h8cw=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=tqQOYU1bl8dCVh1B5vBlircMl5kFqPXMDdH4adPTDyZZCauqnBmv3jKORi2xFT1xYEjFt8uOemtQUGihJPS/7on3emhkLw+OTEviZ1pyq2SLWT2t97ftEQ+jD77RlNTCJQFKSG3QsWXT2YUrb7wRYOvKDLKGghDpV5oV7rxbJe4= 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=ePyEH75N; arc=fail smtp.client-ip=40.107.241.78 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="ePyEH75N" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n0HTxLMfwOGK3cq3g1vE48kIfknHiK8eWkRC/YHKKanrJapG/HuVEu6mfeU4ZV+gnN/yaKM5oQS2DznqRcKn+oi6DIjY7tr98+DZk2BrQYUuWht1f2L8EMu51fO1qwfkNWvrB4ZPDcdqcfCL30Y1A04uRyUXrRG4dxt0MwMa0Mv1El3+UHyw1LkMAz0bUB5szCFB8yeuDsupLoGFY4g5TXS5GxH5eS0eJa4q8XOvPYbeMr9I3vvTScbH8v4NLuF3VvA4Kbidc735vlxEiiIA79i5Wwh/ZMB2pFCoD/NW3wz9Fyr2J+7AzXHLr8Yeba0PTDqX3Xlwm20B0EtqYnXzCw== 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=EADBFlOxypym4EXgRKyAYTTw6n/3UcSyUhMwe94pv+M=; b=XWr0ZGsbeST/a2GsItV3fDIxJ3/CTLdLvyIEduy/Np65ehIREmPuuCvx5MGp4cMUbm18UsGq3IQf5cEwB7g8idlWH5pcpAItBZiEYMIR/nf8BtDzy7bqENLuIQ7+izHx2BZEOhjIDqDVz/xr0AIevPZAhSR9phwfVZUMBnQDxW8AuWL0cFM9UD2oPt2z4m1gcQAf9svm7bFgR87DfXTFGDf9fiWuY9Yj0MzIHf0faKUxFLAxrQU1mNh7E22UZLXoT8tOqkIYmcjijGQjs+KRjX9yLlOvusi/iq5h+dYkUWeBWDHEjYRpKSCK86UJG4yacCM65BNOVLn0VnkwV6okPA== 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=EADBFlOxypym4EXgRKyAYTTw6n/3UcSyUhMwe94pv+M=; b=ePyEH75NjSLZRhMw/lRbjFTPHpef955YSlyhH1VDq28/knm90jBP+gQzXSkWNOTjl65CBwhvNClUXSgbC0gJaHK+JPqq6ijLX71kR1iKEfSriLJFzSZ3awoRB3GKBNMcPHPMMEiY7D4LpNzDqmjwy4B+vmc5GgHlS5jcR7zPkdoWpbadxIAxnVib7keZGWmmFQhBKd9mKhXsHIn1vU9Jt/GoWfT49XHymfs7emV7QmAU8OTo53gBc7geXOQ9TK+F8vM/QTIwpb4mPP3hv977O/8pBxjCJY0bNpcW1w1LnKCIJYwXdcMb+yXeZ9JLHxmiU0Mc64r9FBp64l5T0YRYmg== 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 VI0PR04MB11046.eurprd04.prod.outlook.com (2603:10a6:800:269::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar 2025 08:59:31 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891%3]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 08:59:30 +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 3/4] ASoC: fsl_sai: separate 'is_dsp_mode' for tx and rx Date: Fri, 28 Mar 2025 16:57:43 +0800 Message-Id: <20250328085744.1893434-4-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250328085744.1893434-1-shengjiu.wang@nxp.com> References: <20250328085744.1893434-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0009.apcprd02.prod.outlook.com (2603:1096:4:1f7::10) 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_|VI0PR04MB11046:EE_ X-MS-Office365-Filtering-Correlation-Id: 19a70df3-b8ab-4530-1087-08dd6dd6da1a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/Mn6lmwpEhYDSTMw6Lsd4Vj1Rnc6P1bWuZWL1w5LW8ZM12Z8f6GM7/V2oMgi?= =?us-ascii?Q?XC7sr+J/tbkElxUu2Nxa+j9LPGsmCFM0BHSKpOhH1RGgTzVT83yODSPrArHn?= =?us-ascii?Q?lJeYbFa4Be9FuQ+zrmTiDVIrFMNYljYGXxqM+RhEwLuTizCOtS9A7cCf8li9?= =?us-ascii?Q?XMzFF7+Bk9Tn5SMo17qGtVdnobrlZyYO7az3wUvaFp0UvmfeJJ4K5+/NwalQ?= =?us-ascii?Q?Xca5sKuHerxIPNYrLhwmLbh0mGM1z4tLaAYGqA/52/VkSBMfIlgpQDbMms7O?= =?us-ascii?Q?rN7YhM+WSh7VvJ7yrJokb20fvoLow9JiuKbFjUAAo/gJ1OGXPkzpYPb0hJv9?= =?us-ascii?Q?UBgHGn02/E8qrE/tMpztvjGLcn5Mp5/I/EyTT+cRQEZzDXugIzPMISQdmqcC?= =?us-ascii?Q?WIxFkWfc6sEAnIFvEoz2+qAkMTzk61pUb2VHcO+pIhs/BKzOuJ9p1uQHf7Oo?= =?us-ascii?Q?/BBarXp2bZvy86Ca/y3aI2t4SEA2ZbQrFEsQScNbqAnCSMuc/weuGsCWz7Ow?= =?us-ascii?Q?wGhycaTLFNIiPP1gEzHnADYquZnoaACVlryATQUsRJ0FPUcnb7OoVrXSGHMW?= =?us-ascii?Q?Ciu4u0HzbCK+5NViskhazysir/tD53TFlwcXAbP/wYerrEV+YzqNzUzWJRBO?= =?us-ascii?Q?DtNxRu+ymXQoSoWQNpuhwWZLdnWFhzo+4PqOOmtYp8ULBHoj+lnalyFJ4n2g?= =?us-ascii?Q?Rkg4rJKJL8QSQWgoABGM3Ggsmlp5hXp5FABNrrpiHygKrwooQ2mXtqAZArC3?= =?us-ascii?Q?burYIO1DjRvaL2fOALt1+2MmcV9t2MMN7TUsMn+8AQ4ogdScSaYZb4IyvqU0?= =?us-ascii?Q?sYpNbfESsL7lwUdMT+byzn0WuiVLbK/Q/6aRrvvZ0esKCKy6+SaEINqQmtEh?= =?us-ascii?Q?smJpBEsr+GrWKnokgVsWprsfcOQXwzOZ6mdG3oX5nenvZvLYvrhDevf1q63X?= =?us-ascii?Q?foAkFPGTElxTDkduKvToKpEGkGBOBHZcihDCDtDmXKNytbUAxISbIekj3TDE?= =?us-ascii?Q?HdHxPgCqkh+mRinuNmJetUj0jH6kGP+KchybuSwXWQWAENgr8OF9YOwfMXqT?= =?us-ascii?Q?OsOycGtshUBWSbX5/pedN5yXG1yPPCR9z6r2I2KwqyUSjPkFQdZTM4gj43a9?= =?us-ascii?Q?wlIU9009J14DBcWRdEgXs/fb4ZOkpBrSDLmf0DAJkiypsTvEds9fBLgwDGfn?= =?us-ascii?Q?S4w9Hfp8QF6Rkhhq2djz9/wMyuYgA/VX4CbeKpxF8IMOmRz9OzJkqcDozr6N?= =?us-ascii?Q?BXRQVN2Q0zMHn0Gexv85M5lKPhdTvtHL4q1HiiwCs5H0aXLy8T7AGJsIcqrP?= =?us-ascii?Q?C9ivSNQQzD2m+2sD9mo0FpDbktwUZELDidnpv/zkZ7ZjzOq03BR39sR1iNlt?= =?us-ascii?Q?bRx81Zxvw3HEd5gxm//Ttf96l8s2rneCbLu/MyUiLJ3SB4RKow/jHRbY1ukX?= =?us-ascii?Q?VrY4S+iR/v8BHHTmrdwDPF+wVMEAau07?= 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)(7416014)(376014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7xUoJXpplBMrTByMivuwURyhXAiQJ1u1l8AdQwkVdUleBKHslqytKdHhEHjT?= =?us-ascii?Q?SZAWK+a8A+oIZW18ar3wlx6p/48cl1pAeN8Tq2IAm4vkeCUI6eOeLoVWQJDQ?= =?us-ascii?Q?ukFED7Y/UKCnfDxULfS7fb7yaJhxAKnObDKtgHYeoAYk2qVlwkk+2Gvh+VpF?= =?us-ascii?Q?ig0RwxITyvbc3dWTuP5ZO5tFKAx7zFF/RzvAWROsWHw58eLlKjHA69NRB+h3?= =?us-ascii?Q?L+sTI9IEhHrQOKFDO2eL2fYG3zHsSi8h2xrK93Y7wXNUr5ep+Cq6HzQfioC6?= =?us-ascii?Q?L4okF95SaQPKxhE6LSBspJOqTSAVbOrdW6jvxUEM4lLHpcfHtgG76R2ymIX0?= =?us-ascii?Q?PLyHbaz/SgzKClkdBlO1oe4p36FUiD1ixLQGahRR2JWOEv79XWhnMnIFJotL?= =?us-ascii?Q?GiWjyTWUIfU/ysssfmyBum4OThcdpdi6ZzwjLbeod78H8yCjNr30xgPgoSwK?= =?us-ascii?Q?o1yzyDQw/T5Y//cehvTT2vL1CwBy5W0ydt+TJsjvdx5I8YuR+vvs8fz8HUxX?= =?us-ascii?Q?xb0GNidZSr+efva6BUiFGScMNdaJen2XRVHQDeYKOEBjqdCJM4DT9JfaLfM+?= =?us-ascii?Q?vjyAB1dJHd+ha0SqdsIJl0bTUgC1ydaxX5WPooKRT4GqrsX0c8hhfDbnDZJt?= =?us-ascii?Q?dVKHyTUrpRcKyqCHOKfpzQqD4mBgBBIRbkMZXgFvNGyxh4f45CPLEbzvw1Pk?= =?us-ascii?Q?gXWksZsloHAKGnAgpjxWbAPdHB6RdismykFSertdfkDa20FcfMVs1qXNWhsq?= =?us-ascii?Q?XGZ2kE9qnbkEHIn96O8hpXIQLfCfhoVCOAHyjONuGM0GP9SPugc3EwUeep+W?= =?us-ascii?Q?+dJuIa1gE+DTxramQJ5x+zo01IC6EGKb3RnbQuMc9mCks1Zgq7DPqBgukzyl?= =?us-ascii?Q?gpXOCnZ2yuCBaEhACAruI5q0bqWkK1XVTMAJN2MuxWWJB0BsoEpVACj4RwKD?= =?us-ascii?Q?nTTbD7RzY0Ug9nIPZNU5o8LmVSOivtaY2uEi1QEmvJk/4wDR9LmG6c0UY7P3?= =?us-ascii?Q?jPobvqHIafQgeAChRGtbgwrziNgA2I8lxBaihjpgCJGVyM6fD3BeOS+YQjaq?= =?us-ascii?Q?ZINQHY+5TEI6s2CQBfkTyLhGyWjSXBHL9dii9G1aWac6cv3Gtrk7syTri+QO?= =?us-ascii?Q?esN5tkbrpqZyv9iiQHD79CcVHQkLy/kz/UdRQK8gE0jZ45fBt4bzY0E5O5mb?= =?us-ascii?Q?H5C3C4WrQK0SgGGhDqJJWWtqgzTCWh2DqvshNYsFHkdfZojgN+iXS7Qf9Cv4?= =?us-ascii?Q?LE6guCtUSiOSAZUmn+8064CNsiqBBe6Dj1wWqmIooARfisic0VE8jdC6SiNm?= =?us-ascii?Q?E2T1xiMHke7fnTNuIRBCUHUz9SMDvIxgfTQ6GJrHUIPyzH4h94avzHC+wRbm?= =?us-ascii?Q?jm/il8wybb0h8e6+A+djfZt5IyGC5xZXojcHGmJZdivAmhVJ3UxYPcOFRQZg?= =?us-ascii?Q?QJZiughbZTbyOkAlvNs2GgJvDdsN6cMZDB7027vbaf49LRZQAgbLvR0uReDb?= =?us-ascii?Q?gH7vM522jXdOkMIahZBn5putEyWYVV++w66uAcVypkO1ocnbEBJwIpIDytIm?= =?us-ascii?Q?t0yws5PVuZ838+uJ7OOX/rjP9h2b2fFK05CPJ5H2?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19a70df3-b8ab-4530-1087-08dd6dd6da1a X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 08:59:30.8093 (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: z61f8W7FGnCF25le1tind6+UC7tCXgrgPCgUo5MURvzRga9CC/Z8n4NXZWq5aLlkxlsdk9lahIF6xwebuOT9/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11046 Content-Type: text/plain; charset="utf-8" The transmitter and receiver of SAI can be used for different dsp modes, then 'is_dsp_mode' needs to be separated. Expand 'is_dsp_mode' to array 'is_dsp_mode[]' to support different configuration of tx and rx. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_sai.c | 8 ++++---- sound/soc/fsl/fsl_sai.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index 9a450fc86dba..09054e339b31 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -287,7 +287,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *c= pu_dai, val_cr4 |=3D FSL_SAI_CR4_MF; =20 sai->is_pdm_mode =3D false; - sai->is_dsp_mode =3D false; + sai->is_dsp_mode[tx] =3D false; /* DAI mode */ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { case SND_SOC_DAIFMT_I2S: @@ -316,7 +316,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *c= pu_dai, */ val_cr2 |=3D FSL_SAI_CR2_BCP; val_cr4 |=3D FSL_SAI_CR4_FSE; - sai->is_dsp_mode =3D true; + sai->is_dsp_mode[tx] =3D true; break; case SND_SOC_DAIFMT_DSP_B: /* @@ -324,7 +324,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *c= pu_dai, * frame sync asserts with the first bit of the frame. */ val_cr2 |=3D FSL_SAI_CR2_BCP; - sai->is_dsp_mode =3D true; + sai->is_dsp_mode[tx] =3D true; break; case SND_SOC_DAIFMT_PDM: val_cr2 |=3D FSL_SAI_CR2_BCP; @@ -607,7 +607,7 @@ static int fsl_sai_hw_params(struct snd_pcm_substream *= substream, } } =20 - if (!sai->is_dsp_mode && !sai->is_pdm_mode) + if (!sai->is_dsp_mode[tx] && !sai->is_pdm_mode) val_cr4 |=3D FSL_SAI_CR4_SYWD(slot_width); =20 val_cr5 |=3D FSL_SAI_CR5_WNW(slot_width); diff --git a/sound/soc/fsl/fsl_sai.h b/sound/soc/fsl/fsl_sai.h index 0e25e2fc7ce0..3f9357da0d8f 100644 --- a/sound/soc/fsl/fsl_sai.h +++ b/sound/soc/fsl/fsl_sai.h @@ -286,7 +286,7 @@ struct fsl_sai { =20 bool is_consumer_mode[2]; bool is_lsb_first; - bool is_dsp_mode; + bool is_dsp_mode[2]; bool is_pdm_mode; bool is_multi_fifo_dma; bool synchronous[2]; --=20 2.34.1 From nobody Sun Feb 8 23:06:40 2026 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2078.outbound.protection.outlook.com [40.107.241.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB0AC214229; Fri, 28 Mar 2025 08:59:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152378; cv=fail; b=EHJHNGWUqFR/lPlxgdMLmpq/+FUGRWgwHw8pDREVBmB10o9pqtEkwd6fbfkFpgllPiq2w+Hg05BKTRvDUZJoBjbw5tpgaqNWf0STbeK50AgAAnx9Xtwe8wtrdNlyupvTZv7PkesqowGL0GiZlZM1pBjmfoXZWQDKkYv+5YyND4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743152378; c=relaxed/simple; bh=4epSgtMbT7lo6XNhxJNMHungnVAYI7hFOVchqOIb7cg=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=CpJ2zbeEfcA6j0QleKC3loZvV74VlNl7Q5xu7NsF2DDlEtH3gQryaHDfNN1MtPfo0BmmUpPmZ0g/xvCXXZHp2a714UswNU9hbuosaqEOr3YVlDo1riBUO74DqYdz297viUeF3mH1bt1RW36x76xU40Ig/1D8SFSXhL3POGrEk0o= 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=CZu2oL9K; arc=fail smtp.client-ip=40.107.241.78 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="CZu2oL9K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cDLkEjDgKWS99aaQaDJj9C25SmZGmV0+5jhNcawqkTSikEih2fCflb/69utrCDAXNyUis/v0qo6SJWj5/ooE447R1gpGAdUOLLd7mDUw0cHw89r+YgefAPGr0GUna67IwLye+Z9CMlpw3NOD+dRHs74OOUbt5E7Gu2ES5LxmEoGJpktKH7J9xyZA1sTQW/A/ClEg6WRDLCgB5e/ue3egIoNXndIzh1YErgLB8WihSWH7iwVlS8dKVm/4OzVVsp4FcbT1OdmAicAnEBehZtZfD7N1HMNd7hW0650uMOPmGNKhIzF8RTotHQrvbeNa6+Td0lyleW3f3vUvPB6dLeKXgA== 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=jr0oOJfRa5+H0ur5dTlXG11g3LYRx5l2Ha42RM8bO7U=; b=m/bHUErbupyesX5nqEw26vvBDrEn/WtqQx5nybHuaeMKYZekGsv6rnslE3fOj1FdqMnsCOIgXR3xRAZc4nPP+YFwJrGQUjvp52Mu4zHmd4UlAK/QoGo+xWzI5ChzG52rUz7K34/MTWvXrV0LS5g1QelhC1LVMStSec4RwGGcLFSZmfFspTMhh2GmH9Q3VfbrDsf7jhKI5dtIznu8ZkZ8+fvccVSk5wtTG73dpN5tvZHL7NMkL3Gr3//AzOMLnUsZT9LzhZKqodn2i4Kh9UGB6AHCYL3m2DkDrjcf1Lcmks5eygtYZs6jukIB2a8sxaTUaPUSBe9GmQ2PGRSLTGPLFQ== 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=jr0oOJfRa5+H0ur5dTlXG11g3LYRx5l2Ha42RM8bO7U=; b=CZu2oL9KC7R38yv0BhHN8yMXUmNxulyzYpERcqeIpm86wbBfLUtVI75HNJ1nHsMVglXOx5II8GADloPVbdm75w/KuTO9LIbAEWRQYrmY8GlsTMj7WqyHoP62SXuABlciV/6IpSQ0eEB26Oj9leOAojEWT5uIQT64uGWHg48tPEwR2jtQrxFgl8aCrO++DO0UVyzxOrwtZpcrkPyksSxS2M8iLKuKmo5C7ChuQlXLToY229n5hb00sMMZS+v0uaTWyJ7Qq+fHSA99JWKyqMcyx7Xj+oCvVurbdOhqBNLK/qWaY/x3IAgaUKM5yW+vjMdKQXdpfij63CRiwhvMOhdMcQ== 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 VI0PR04MB11046.eurprd04.prod.outlook.com (2603:10a6:800:269::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar 2025 08:59:34 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::7be0:296:768c:e891%3]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 08:59:34 +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 4/4] ASoC: fsl_sai: separate set_tdm_slot() for tx and rx Date: Fri, 28 Mar 2025 16:57:44 +0800 Message-Id: <20250328085744.1893434-5-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20250328085744.1893434-1-shengjiu.wang@nxp.com> References: <20250328085744.1893434-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0009.apcprd02.prod.outlook.com (2603:1096:4:1f7::10) 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_|VI0PR04MB11046:EE_ X-MS-Office365-Filtering-Correlation-Id: 61a499a9-3020-48ac-efd1-08dd6dd6dc38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TNCQY8rO6fJw3A9jZcuedmR51hET4bQ36WJOvJ1ikegJCqgx9pEhrC+k//EN?= =?us-ascii?Q?WEvEJcFn91dlKpCgICFCVWwQ9bZNWsfboatifiyNGvovY6fbeieFE/CkJSbE?= =?us-ascii?Q?n5aziTT7vSF8ssNDteuThLLDET603CrNVrOwdB++EOv/f6Y3H+JyoP4Ywvz6?= =?us-ascii?Q?lngg9GEnFs1z2lk/KyIgzH97ixC7W75CVL7aKtwVxmYVDnJE+djmTLkhmaj9?= =?us-ascii?Q?3Kd5w/Vvk4efvQGDQqx/Xj5L6fjxzmHCRefdrBjDzs+uFCShqkeMjwyI8IWS?= =?us-ascii?Q?8dkGghb6ZE1YYe2AnCx0+ZfcF3XC6mzdnmm69uZRUayzASYAApJdHMwHqTum?= =?us-ascii?Q?jsm0IzApSkYSyHq1pMr3j7vx5C2iNKxl7c//8V7JeyV70IawByEXtAl+JPcN?= =?us-ascii?Q?8g9S7ATWbYWrPMGEp7ExUmahXe6VuCYAJvK0KeVJQPcTedwgyycQPUW+Y03U?= =?us-ascii?Q?41kezuGmeIAEVj2Jqznyt4WNChA/HvabdXHsyukyUQDZKf3iTibO+3PFNUv+?= =?us-ascii?Q?+JWW2BXPrYQUbjrS81GiOkO25gETuA3LUGaMJtrTzGr7RkZIKS/XOGui5hT/?= =?us-ascii?Q?8abBHFH1d++U9T9H8kR06ZWejQYLVuIYXUWo9Wh0xH2qZsvscsa/xmtIC8Gx?= =?us-ascii?Q?P7vzPmup9w9MaH/qM/PF8cFl43qYV7hqKucyjVmg/XvPrZkQ1rG54CPKhevc?= =?us-ascii?Q?Zw2Jsb8KD7LMkPv2dgo1wEq5wXB8ePWFTNQ8Ktk6wgLI00E3ALbVtsrBiWX1?= =?us-ascii?Q?Je8rvz+ClBkvymHLZjwOwlvoUxGDSNKQuKlVfiBSTAg9rXoijN7ard3fFrhv?= =?us-ascii?Q?8i1rWxWzFp1EYvB+lKHEgGNs4ju/Ejlgow0hcBHRB353tetlfvI0GfzEXfY+?= =?us-ascii?Q?FEeqTXQOPkSpEGlw40kaiBZr040DhPyq4gDkPJZw2I9fzbCsA6GyoaH7y8w0?= =?us-ascii?Q?9ZCLIIBIa2QxE6+t5vIa/dzqNfM0P/NmihQ1g5c9Gx3uFdaRPtqoWgSHgpql?= =?us-ascii?Q?27b+eBPBT+vmzcuuYfPoZxpYgfn5GpS/ysHqBoMgychCaeUp0RWiCdHcxtY+?= =?us-ascii?Q?pd1clOAd9+/pDWW5FlX9kI5OXefGyW13nU1ZC6tJ4e59IeqWo3OSNUEDZIWE?= =?us-ascii?Q?qKezEs8TMAJ0uq2BOTagnJbwZkQxYJd3yBrsPshC1T5yqtTpCSE7Gx268ZE0?= =?us-ascii?Q?+ZU/a/Zq86UXpclA8oFFZQVR2Lg4TFYagBcTkhHqZq5w4+SQB3AJ+ugGhK22?= =?us-ascii?Q?yI/eHxv+KSHqt/yGfOst0bl+OZhbBQAVUxQXOSGKB3BbkWkyTTKrUa+ZmfLP?= =?us-ascii?Q?BB4v58g6qgDqUvanE7gW65pH31onTBUQXkhY2fSYk6tasqe9ZsM/7ZpZAzZp?= =?us-ascii?Q?/K+QmNxTYtNuiWJezfEgUGO+j0ZD8Ud83VwNuiYbyBAGWIifgVNVlm+WJ7Aj?= =?us-ascii?Q?qc0I7gUJHFXjC0WUVY44PRW3VGCwQzHZ8lXF3aWbs4XhdEOIyn79rA=3D=3D?= 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)(7416014)(376014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HlWfb2A/16QX9TRi7twUwKArM0HCbQu++7ZPiEaFUc4vAwQQm17pIN/jhUAN?= =?us-ascii?Q?7D5VPGXUI5SjUUwHHxrg/2DoZB+lByXqDqevL3H94Aq57F+WfMlpPbS9I2WB?= =?us-ascii?Q?SIuvsiFGOpxsQDX30sDmicC+g2znElo6hYZ/ubS3U2jw7ILxSJAeUoMYkWep?= =?us-ascii?Q?Kr3DT46u38vRlzdzae1s5SXq8u9bFKtI6koDIQz+IF0hzXlOMQbYF8JTjYTm?= =?us-ascii?Q?5MnZHWOVP7oBkL3J/UFuHGx6YaHHAmAtMMu9RPn32CnZpkWnwrNPNmhVZVlg?= =?us-ascii?Q?yhx3P4UD4UVBs7JNJyGcLnpJJRDg4V5PLcSkM/EpkOsW1UxDGnNRzsytDuyr?= =?us-ascii?Q?nJjHz1XDTTYg+1ZNL+F/4p8ztPfSuwgdrzYn3u0UXKX4OlVMQnjEzilL2XQF?= =?us-ascii?Q?vEjYdimyUxjtd8WK1M/QmdzySIjKtbVY1HMU0f2XORPfuTJDMp+Couxzveaz?= =?us-ascii?Q?7IIn3HvqVIgIBIPYZ27G6pzgwZA3krpi1W4F+NIS10PIXPDe7piQQ/okUz2K?= =?us-ascii?Q?BoM/QMRve7kakpGo+ZUcFOOC4I9KuDYjvWl3J43SAMzteUUmO8LHetxTNvxZ?= =?us-ascii?Q?a0WLVEbPJQzBwHfRa3vC4oOyYgw9SVgddGmZ2Zi/CHPtpmpWvJ95vNw9e6Mw?= =?us-ascii?Q?Ae1jkScp9n8Es4BYqQc1K/rQuQJke4aHalcCMmYcWl32Kge2Dnf969Ru6F/5?= =?us-ascii?Q?9U0C77BLWgB9sLE3UXlEGOwNs2X4YB+QQOpBU1MRZgErAp9g9JD7qAHvCKTM?= =?us-ascii?Q?TvWzEOHc2l/obpdQGe0gq9M2gZ+0blUS/U23Gcuxlj7AoiIpBnzbKbq1da5T?= =?us-ascii?Q?Rh07ZUv/M7b0pYySV7X3EjhT84UAIoYijxZ8ApKEj59Wn5MOqoW0racVn68E?= =?us-ascii?Q?1ESnLrJEnFgN5LFNv13FQ+AfU0iE+qNByFnURmCqyhCFdP7zgjvP04lSF+Ux?= =?us-ascii?Q?zZpbHxTWN5W0XXbFo0drHj2EfS5fd5MLx4NspXq7MFwljoMq/3VyEzhXUVbJ?= =?us-ascii?Q?8SX2rnlc2Ka2WfaypQpsPp69sPHXlESu6sHPzvW6vb2yxD2ntFkyyClFMJTl?= =?us-ascii?Q?Ngqn/X2r0PebhJjMOw+YRGT8RtbBvzvNTBcgq/hIn1s4C5DePcyrJO4HqbGC?= =?us-ascii?Q?PNA7o66YpF8k7sb78jgIP93O2SpG10941Lxohles3pu8NbXj9UJrDFqAKgHg?= =?us-ascii?Q?3hs+gPi68LU8+h++d1BchAzwrXG01D8bLGgb2tdExCTYM81tgsSd1Qc/7M+g?= =?us-ascii?Q?DtbOvR0bMGwdPSrrBPHzlonk9ZgVUa6mEVKt9nqKXSy7cjtqfa5ui/JKp7lf?= =?us-ascii?Q?9WULwzK/vNwhVw92z6kmT0f+1VwQoH6nsxx0itWkLgF8wX2iF9UkkY6nLFu9?= =?us-ascii?Q?wsmlu00gkzuCaTgJgswdI8c/1hSMUpPAGq+OnhmndjrHNtLb3j9Bc5YdJyt4?= =?us-ascii?Q?ER+/yRr05TgmCBgMYN92tWXNc9binNOz7S20A03oVS5occjNt5qHmOjWlR4H?= =?us-ascii?Q?hOfKWQIeBitJBAPqcJVT84alyzUG8qqRihxcaRD/VPTLpftrRwQ+9haSKTPt?= =?us-ascii?Q?HlUjl0lcRDXtzarwAi9r+BtNarHl+GAEn1w8v23a?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61a499a9-3020-48ac-efd1-08dd6dd6dc38 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 08:59:34.4458 (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: XFeyS6L9zbqjEXqyFU/XFjWwyKAq9lmVyu3C9oKs24ZQpE7S0xjo5M+SHcc6mOa8bCjCvhK7e59RoC3KFbHAfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR04MB11046 Content-Type: text/plain; charset="utf-8" The transmitter and receiver of SAI can be used for different slot number and slot width configuration, so refine fsl_sai_set_dai_tdm_slot(), add fsl_sai_set_dai_tdm_slot_tx() for tx and fsl_sai_set_dai_tdm_slot_rx() for rx. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_sai.c | 45 ++++++++++++++++++++++++++++++++--------- sound/soc/fsl/fsl_sai.h | 4 ++-- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index 09054e339b31..af1a168d35e3 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -163,17 +163,42 @@ static irqreturn_t fsl_sai_isr(int irq, void *devid) return iret; } =20 -static int fsl_sai_set_dai_tdm_slot(struct snd_soc_dai *cpu_dai, u32 tx_ma= sk, - u32 rx_mask, int slots, int slot_width) +static int fsl_sai_set_dai_tdm_slot_tx(struct snd_soc_dai *cpu_dai, u32 tx= _mask, + u32 rx_mask, int slots, int slot_width) +{ + struct fsl_sai *sai =3D snd_soc_dai_get_drvdata(cpu_dai); + bool tx =3D true; + + sai->slots[tx] =3D slots; + sai->slot_width[tx] =3D slot_width; + + return 0; +} + +static int fsl_sai_set_dai_tdm_slot_rx(struct snd_soc_dai *cpu_dai, u32 tx= _mask, + u32 rx_mask, int slots, int slot_width) { struct fsl_sai *sai =3D snd_soc_dai_get_drvdata(cpu_dai); + bool tx =3D false; =20 - sai->slots =3D slots; - sai->slot_width =3D slot_width; + sai->slots[tx] =3D slots; + sai->slot_width[tx] =3D slot_width; =20 return 0; } =20 +static int fsl_sai_set_dai_tdm_slot(struct snd_soc_dai *cpu_dai, u32 tx_ma= sk, + u32 rx_mask, int slots, int slot_width) +{ + int ret; + + ret =3D fsl_sai_set_dai_tdm_slot_tx(cpu_dai, tx_mask, rx_mask, slots, slo= t_width); + if (ret) + return ret; + + return fsl_sai_set_dai_tdm_slot_rx(cpu_dai, tx_mask, rx_mask, slots, slot= _width); +} + static int fsl_sai_xlate_tdm_slot_mask(unsigned int slots, unsigned int *tx_mask, unsigned int *rx_mask) { @@ -548,11 +573,11 @@ static int fsl_sai_hw_params(struct snd_pcm_substream= *substream, u32 watermark; int ret, i; =20 - if (sai->slot_width) - slot_width =3D sai->slot_width; + if (sai->slot_width[tx]) + slot_width =3D sai->slot_width[tx]; =20 - if (sai->slots) - slots =3D sai->slots; + if (sai->slots[tx]) + slots =3D sai->slots[tx]; else if (sai->bclk_ratio) slots =3D sai->bclk_ratio / slot_width; =20 @@ -939,7 +964,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_tx_= ops =3D { .set_bclk_ratio =3D fsl_sai_set_dai_bclk_ratio, .set_sysclk =3D fsl_sai_set_dai_sysclk, .set_fmt =3D fsl_sai_set_dai_fmt_tx, - .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot, + .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot_tx, .xlate_tdm_slot_mask =3D fsl_sai_xlate_tdm_slot_mask, .hw_params =3D fsl_sai_hw_params, .hw_free =3D fsl_sai_hw_free, @@ -952,7 +977,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_rx_= ops =3D { .set_bclk_ratio =3D fsl_sai_set_dai_bclk_ratio, .set_sysclk =3D fsl_sai_set_dai_sysclk, .set_fmt =3D fsl_sai_set_dai_fmt_rx, - .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot, + .set_tdm_slot =3D fsl_sai_set_dai_tdm_slot_rx, .xlate_tdm_slot_mask =3D fsl_sai_xlate_tdm_slot_mask, .hw_params =3D fsl_sai_hw_params, .hw_free =3D fsl_sai_hw_free, diff --git a/sound/soc/fsl/fsl_sai.h b/sound/soc/fsl/fsl_sai.h index 3f9357da0d8f..6c917f79c6b0 100644 --- a/sound/soc/fsl/fsl_sai.h +++ b/sound/soc/fsl/fsl_sai.h @@ -296,8 +296,8 @@ struct fsl_sai { =20 unsigned int mclk_id[2]; unsigned int mclk_streams; - unsigned int slots; - unsigned int slot_width; + unsigned int slots[2]; + unsigned int slot_width[2]; unsigned int bclk_ratio; =20 const struct fsl_sai_soc_data *soc_data; --=20 2.34.1