From nobody Sun Feb 8 19:43:27 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013012.outbound.protection.outlook.com [40.107.162.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E88123783C9; Fri, 30 Jan 2026 05:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751850; cv=fail; b=jjFAsFBRtjg/JC5BXwCauPKZIGVqYzsc75pGz0oDWp7LBGuQmqkooCk8bJhq+FC2ZzW/cSU5a37iNSDIFDP4G3QUwQTbMUrMXJn0ZLRjoK5B3fhQ6lDLT+WXFSzGJb/sPa2JdDHL9TXyYdBv16lVqjpn6HuNQ8UqXN/yXB7KgXc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751850; c=relaxed/simple; bh=wJ2c0GctWUQvfY3izaREapMAmg8kRY4pNmx83Oiy6hI=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=RhNUZTEYH6gXu5a1q4vC5BABU/wZYJHHu3u90J6fuXVxNIcXmrsM6i/e3jvvN7vFIOOJc7U3Mg1oaYYm9tc3B2DgoWs6ufXo2cWBBjjHWdo6MUAnfeOsCp8KuEQKuUz4oXrNlZaIg0MF/AFJsy/KjG1M4r8Kf7MupzkCUrUvBOw= 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=Cwgs0Av/; arc=fail smtp.client-ip=40.107.162.12 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="Cwgs0Av/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hjl6bzaYmr700In+8/X7/A7IMfGxrngkse3NhRvUgblqxBmxG5QLipXsVwO2oNRWFgM6G8DRz1jeeRWdpq9d3a9o8OMMrZm9QM0OhAjfwQmxLwEInutfzStPl3N3np7/TBxNBsOcQrobt+IpgzVbxltXSztf0O6mO3qUyAZOYsVESLo9KlL5LIFyP+aFWFjGYbpruMwVCpP5omEbi2gQMaadXNEyTYsXrhR6JoBpxLCxZmutpEYbMSTdljPWi7T18NM85mzlxK/CmcKtyCE2YmDsVgPT+ob6CZzdhHgvzKEmc8vb3/fIBlAvhlCzYWnbdZfQ+pOKJQ1q1kEFTDEibA== 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=mV9JS+d5BWOfvTtBxUjFVYed1gdNzIsWD/9doD/Bh48=; b=fdWlxBuw+7OFP+Vj/aTFlfEByDyzlZHLnqGIIa16OJo9RKlTrCaGPeZ3CEK52fX0lg19v98BbVow0WDvbgcp4j9nLAqre1wksHDG8afi3V0V3NtOA29qRbNmh2hDPDVP/P7uyUGteXuIWOkyTSMW2zFaouuR6wkTS/d/qnVMpZWbkZypZWr3KQAbO4IVDdgbHct5dK6zRdaxASrjc9OZbRHZ4xlTiYZrzC7g1gjjyrCbT2WvaHUCDTC+cxA7bugrgWsxZwkvRARaqTLqVjwelS1DCl3ph25cFiFpf+mWOQ4a2+GoM/16uWjM5LYk4wPnFuNwsmhQptno1rSVabNCwQ== 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=mV9JS+d5BWOfvTtBxUjFVYed1gdNzIsWD/9doD/Bh48=; b=Cwgs0Av/YLOx5CHKLiqe17ZEjj1uys4uJ053YzYDsCSbi8CQaG76KfXl9Qr1PR+V9Rcdl6lM1wNA+VBaCmQ3YCqoR6g2b+ZasA15YKaIAQkQZDUaS3JCi2VzUWYSVdXxf3Yw2jFKdsIZZ60lrH6PE3YZSLp+QYks9IC3M3k/p1kY0Id/tzAzNCMee6/JovROEVpvrM9oPfNncswEStjpYr4Y6y4qQs/Ia/58106SkbHKF3oIp3w5+mdmV6dMV4RyLNg7AZnPEreY0m/nGN5ca19ztgFoxQpzuov5T7sL/QikX8RT5YxcVztwbKpv2yQfCi8ULY8fFxna5lQbYmbkNw== 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 VE1PR04MB7277.eurprd04.prod.outlook.com (2603:10a6:800:1b3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.9; Fri, 30 Jan 2026 05:44:06 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b%3]) with mapi id 15.20.9564.008; Fri, 30 Jan 2026 05:44:06 +0000 From: Shengjiu Wang To: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 1/4] ASoC: dt-bindings: fsl,imx-asrc: Add support for i.MX952 platform Date: Fri, 30 Jan 2026 13:43:27 +0800 Message-Id: <20260130054330.3462544-2-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20260130054330.3462544-1-shengjiu.wang@nxp.com> References: <20260130054330.3462544-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|VE1PR04MB7277:EE_ X-MS-Office365-Filtering-Correlation-Id: e1b5a1fc-dcb4-4d46-c384-08de5fc294ca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|52116014|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KD7nLjauAU+lhYIDUTDWcdITFP8r2YQB38NOnUjjN28pvC198tfp3IoTPWNA?= =?us-ascii?Q?fI8tabLcWZrT83SXTJcNnfJ2XTjWzpfPT7ykF5MEz9fPXhgxEpZE4DeYxsTc?= =?us-ascii?Q?MOrUZA4iOizChiBm228zOw+4San4uUtH8EPqtPkBJqHA03//9YdmZdMcDPny?= =?us-ascii?Q?RnHqXtZD9omEPhEokDMnYkYiIwo7iMV5tDMKq3sjpJJPk6CCZXjoLYToXR1G?= =?us-ascii?Q?lreAu9thAbySrF7bzxRQYzPwcwcU1yDbTREWIKrG23KG6ZJEK0KzCaClNL/F?= =?us-ascii?Q?SYk6M1SBP0FYeNHSAEDy/YC3tJ1z+7HVHf+L729TtpKuyFYwtwdfpkKd0o/S?= =?us-ascii?Q?a3fKm8P8FzciYotdXY7SSLTp4Q2KrsBLyPlpPmQADH7O47hQdxCzIB1sHE/L?= =?us-ascii?Q?bBu92lZgC4aiXD/5oB/COo09rP91ES+R6Q7u6KFpkh6Ct/TbAhWlgtJ8HxfH?= =?us-ascii?Q?n1PfPXyyWVEMAByznvqsfczQK00Hxgpv3B2fvpspC0kLDNP0cTFCx1l/GneZ?= =?us-ascii?Q?4vOrMkCNbeDNuyT5FsnC5X3XM8Xj/C7fW6VUTju9shQMteTP+KIDrMiejOYe?= =?us-ascii?Q?0kvmBRHaViBkwrbPazAb9Hop97I/UkeDOHeYQqhoiVHXL4WliKK+dhggNO5q?= =?us-ascii?Q?WeP9P19eOVkxnNEIpF8v6KZM1xTf6Q+DmisE/jzw8XjKyCwd9ryeNO98rOye?= =?us-ascii?Q?jSXsw83yeMr6yghjwu4coVPfC0o9SnYvWjL7yifbZOTiwaFggflOAY+A5IbY?= =?us-ascii?Q?k6PyqpSdYDijLj8z2qSfLHi0YVcW+L441Ch6wl0AS8RfczrEoWN0FhNrxDFZ?= =?us-ascii?Q?zrKClXBpDfQTv1L1vN363zAKUUpnKV9IqPJJL8VuYVP3aOnjylwQ0dNEzvXK?= =?us-ascii?Q?KLYM1THRLGeBdY1L31pOSNL8Yhri1gYFskUuv3p3ZyYaK/Ji8jV0BYptHs0Q?= =?us-ascii?Q?4A/ZG3zrprq/fsgZwxFYSBUYkQubhZ2u1IYH9lnnW1Qej+cxWT4nfGDAnYAo?= =?us-ascii?Q?ta9hMR12R8XbKKZ4y6cTT37mljq8UTsM6SxJOCZaIh2vZnl9RypICdzksw89?= =?us-ascii?Q?tffcxG4kiVLF2HDffLSSeXBBBko5wMV+xkt9fStjtgz1VkG6knPkunueAfkK?= =?us-ascii?Q?u0PwYEfUSywvlfC5UtnXRvQx6j7hOIgM6B2/H0hcAEZLZlmPQ++9U1b9SN+0?= =?us-ascii?Q?yofPueEQqz/Lf+XENANwxUb5uOp12I2IrlOdFfnmT7t0cAAUzUu7j2lWseNh?= =?us-ascii?Q?mX9vytB3gUDZAZ8Wwq+Xo4nJbktGNFHzy2ssIS8YmQyMUMGm2al8P4P99Gzu?= =?us-ascii?Q?+e9aWcxYoml8kvi1uUXrfrVWxVqJWCEMureVa3rzylG3Zwx3CavLUFIq21Jp?= =?us-ascii?Q?5dLwuboZ2zCpWlpenRDizYRJ2NcGcrtrJd1JCiJvtZUsgFp02gIDMPFu+0ME?= =?us-ascii?Q?c8eCiYsr7AW3uaTtRH+D6B/CoGtEMW1oYsnghP82XaXXo+s3P6r8p9d+snhN?= =?us-ascii?Q?7bVP+LXz1K7FuOHXGn9IJtlg/lB4bXjnH7lU3xTza4SI12J02Tgs2I771RSs?= =?us-ascii?Q?5QyHSmR9FBnf8kFWlUXu5uI1wccXVMg/ZX99SKWlpLE8q27kzwZRcgX+VWby?= =?us-ascii?Q?cfk8Wi9AJgpft9YPjhYHR3ZIFcUN9EdHoP6Ai6+mNssN?= 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)(366016)(19092799006)(7416014)(376014)(52116014)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?COpwQUhvWqLdLQWOYD+51otHtC35Jua6D0gEwtbx+EsvRIuhC1x6TWAdiSaW?= =?us-ascii?Q?PdGrTz2Nhnx79Pgy9niaCiZEDzLkUT8a7q7xmhv4XrdDDf4qgA0mR5aFmP4G?= =?us-ascii?Q?J9G2rXet5WebgsnWNoWuCwpXzCUq0HxUJiev6EBLED3foBcOKYkRaPQnLvCd?= =?us-ascii?Q?cvMpnx9wYxOfdTlPZK3bBe8keFTQBNSRP8dbrDDXeeQMgYZEP4WmOFAwWmaB?= =?us-ascii?Q?9dyF+07hBeTxGLPX0SUed4gI3U6huAMXweyN1iad13nlfXjFRXNzAGBVu+vP?= =?us-ascii?Q?ZoYVNly8TQaJ8Q4s4pAiynwrITKxVY7q8m2fJhXPhERZ4hjv0gNHlAzyO1/P?= =?us-ascii?Q?y98nldcB9EkTMF0QDadxuL4JolcBnYiJoNMyct2AY/z96246w2H9SVvxKjBy?= =?us-ascii?Q?p+YftCUij23UMwPcVdXp7NTcz313dDekxz+Z7vunDkL0sOl7dcALYvSiZUwd?= =?us-ascii?Q?FlFad3ImE3BOC97PgWhyXiDXrFDIB09duomphsRIEO7G0hTiKwRGf8ofLpGE?= =?us-ascii?Q?cu18v1+kIar8ecqfbh/+ofmHMg4vx6VjdatIJJuH0NnUbDMracG93+aYhuqZ?= =?us-ascii?Q?/1V9K6iX9o0Y8ewa+YTeXcfKoejEXcfpSJpqBeAizZ1Uu7Sl4aYSwkWcAjfD?= =?us-ascii?Q?bPGlpVkCeylB7rB3D/pmkZewOuMmNxWaNk4EmwTolKDncAC/ceHS+QubYyy1?= =?us-ascii?Q?y+tF+2DaYXEHjofT4WotyeK/0pCP/6whvko3W937fB12eQFcnDfdqTeCGe47?= =?us-ascii?Q?JfwstBJmZJ767AGsDaVJoHxLALGxRjloyUGvbeRii/kaJN219Za0zBnXcIYW?= =?us-ascii?Q?2YmwluRctbJqjbRqbSzehZDXqGwoIInrUoQDYAuO9mUwQrWb6Ekkui9rJ4AY?= =?us-ascii?Q?tKGCsRtZB9Zz9QaEwKIuKjpD2YoMNMbzbfbRBD0E24IPqn6Pv962haK3JPYC?= =?us-ascii?Q?VAQ8Tgb+/OReuEXvs3kFmDi34ebtNwZm1dqrAulp8J5SSlz6oPjaamDoCgIB?= =?us-ascii?Q?Ybs+R46n4uFJBoK04ZcCtj+gE0/JhX8eTdHjdEuqyWw687dUKUo8uq5u7G4A?= =?us-ascii?Q?ixsrMIWFC6T/270K4PPj5U9MD8NvWPamwJESPAx+4EMhSI09Jo4g7FuJfNQI?= =?us-ascii?Q?u/6310wit3kB1FEIl47EZUI2yehhH5ZTEwIV6XVdptCHwYuB9YXZp4kn1cFO?= =?us-ascii?Q?db8tStvyuG9Fkm6FyV/kvlfw/6aAtpuwKqfxdbLiaslVi8A+C0QY4x9W+TKC?= =?us-ascii?Q?VM5zhk5LjGTAhs6Ws6OyNcICeuS7zPDHJwcquQXx1/sqkQz+cNblPrgQVUoE?= =?us-ascii?Q?GwITn9X5xfqlXRB/PzQd1UNaVobQ79S6MH++lC/kF2JM1yZSVXWFMnWTCOLc?= =?us-ascii?Q?xwSlP7Gy13BqNX7gh5h0A59x8Fek/HHa6fNBxvfLWXxiD8S1vqF+fUiZPRXX?= =?us-ascii?Q?BW098iU/ymcwyhxQH6wnNUJ9Mn25kUi/zDwBZnDkx9X9IrNTN2ir/0FDbGt0?= =?us-ascii?Q?kQkr1LlXBmGp9lWig5k6FY4k+co/unsxxLR6ptxDZ1tOoPjkRTao0T/i/sB/?= =?us-ascii?Q?4DZeGVTTZB1ErkWypqrzOR48EvPeL77/w94czR+KdtaUItwEG5jHh/NYgSxS?= =?us-ascii?Q?gMWB4QcATZOufbHXqxy/haE5mP/hbH3yICYizWEbCC2OKUNV1pQiPN3381F6?= =?us-ascii?Q?fCbE0GRqVsdj+a1nrQVWa4TMGb64XWufd/DGDmDMEmjD/fvwuYSANnHs4qdU?= =?us-ascii?Q?1dkwqwRK1w=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1b5a1fc-dcb4-4d46-c384-08de5fc294ca X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2026 05:44:05.9886 (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: toGuokc2QppH1oxgav8Q+Td8ZQEp+U+NidL4ko5kzbaiJ5TNsElg/4NQTE6zVav9uRvN8SSG4hZQToco60TgVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7277 Content-Type: text/plain; charset="utf-8" Add new compatible string 'fsl,imx952-asrc' for i.MX952 platform, below are the differences that make this ASRC not fallback compatible with other platforms. 1) There is a power domain on i.MX952 for the wakeupmix system where ASRC is in. But it is enabled by default, ASRC device don't need to enable it, so it is optional for i.MX952. 2) The clock sources of ASRC are different on i.MX952. 3) There is a limitation on i.MX952 that DMA request is not cleared at the end of conversion with dma slave mode. Which causes sample is dropped from the input fifo on the second time if DMA is triggered before the client device and DMA may copy wrong data from output fifo as the output fifo is not ready in the beginning. So there is specially handling in the driver. Signed-off-by: Shengjiu Wang Reviewed-by: Daniel Baluta --- Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml b/Do= cumentation/devicetree/bindings/sound/fsl,imx-asrc.yaml index c9152bac7421..608defc93c1e 100644 --- a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml @@ -25,6 +25,7 @@ properties: - fsl,imx53-asrc - fsl,imx8qm-asrc - fsl,imx8qxp-asrc + - fsl,imx952-asrc - items: - enum: - fsl,imx6sx-asrc --=20 2.34.1 From nobody Sun Feb 8 19:43:27 2026 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11011070.outbound.protection.outlook.com [52.101.65.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A0FB3783D2; Fri, 30 Jan 2026 05:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751856; cv=fail; b=WYtIa5v1jGkEI72LQAeVAXFVm/DgZdyU0mPfKIVq0OHFJ0KpZmbscxld90qBEy6t1bviOphKiwEgY26vKyw7aGODOrJrg7JGiASp2wJpQ2a4jmTX3m2x1WuF+hqKCM4XJmbpwG9iA/ax/sXuS18wEwT9SKKbYT9KRk7rW1kuwvc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751856; c=relaxed/simple; bh=jBUdBs/tLJmktfkilCx+BC0tAMLUU0ZJCKrYE6ffv9s=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=IK5c8wOvMlD6kWRlphS/a4dhykgUXCVHzDRLKAPQqrw7IVjcBP3/NM3d/3cqlu02lCppASVvpIIrFHCVfyxXgvvkv5eD5j81PlvzTOybu8LwZZAEnFKczc+i6cIlnw0Ji6i/VrVHdcKP5e4nOwpsaTMm4m/uJtP1FwvyCLE+m0s= 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=eo+VAE6E; arc=fail smtp.client-ip=52.101.65.70 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="eo+VAE6E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=msQ3g27oSLjkmeji/FBF9tbY2ZgmHJwFegujh8+fgHUZ1OWLnO29UfBn9QtparYQyYIG0M2RjBzc8Iadv3IgOaXVzTMNQXGOmpWUT5RNQqbEsMCv/1cRRsMUWBWI4/tLvb0Efj5XFEtsveVJlyFBTcuDw/wWbBfLQ9UgDp0RscratFK6joQ+fkPvcqDj2TOsC0Ww/2JmDRoXh2cR59n3NMXppDLAi4KxsH2G9Oy7lFkEOpasCD3X0npXrcFEJLF4wjoILkgDsE4MR3XbVrZ4u+LKYGh7BxbvXblwjTWjqPPTQ75tG6GTEFFvCpmz8lSW8pmUq6QezXvY31k/DWkX7g== 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=yA6L39XcGQS9q/2XZInXMG/kiehrTH1eu83n6LXKJ+A=; b=DSmFYKkSmU0b1PrB7Yyx4NocD7y3vTA+KWqQW4g5zKhidCGElyzAyc5+MH42z2vgpcQ1tBFttbisRqjMtqvhRsFZhYdstZDSJtFcXS5oxS8Boma6mAYu6AbP8/pJTygVbIYfdkKr8tr5FcxYpNfazDRBNRxLt9jYYOVTnyzX/S7cSmBURFaYkcxUZT9hj32eEeuxSzBCgnyRboUEku/8VwgEEm4rFknEqX5ZFwtjBrW4INhjmqdgRajipRVLB86Vy3+mxXMFLpIEFm7Z8ALTirDPlHFTrCrdVyPmXCRA3KtMoy6/2e+tIIOUeYfjO6vM8GME+UydW/hysTAFhkKNag== 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=yA6L39XcGQS9q/2XZInXMG/kiehrTH1eu83n6LXKJ+A=; b=eo+VAE6Eg5Mmq5mZsR/O95de52x3CywVENAIGO9fPOZlsT5Sl22TFFMU0/bsRBLGE+XyeiXjHm5Y8oU9xVzyxc6YqEz8/v+SOLbirAJowNtSn9VPEaD1iZmqWV9/WlztqN8U2qiTbnK4KioF7Lw1kM78UXyh2dGxTvkyDigx0bg2VIPsvf/guxfm8mHnf2DF+HTlh9jwChmZDO8uTVZ46gYCfnI7FidU2HtOXOJyIj55qG4Vdoupt+RuBEfUSnF/Dl1cceartKZfxTvRUrYA6TMnqcOqrUo5eJ/k/QrRDCaxOXuU6mp/7r7seU3nuVpPxJpRDOcWHt8R9x6kLBShJg== 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 VE1PR04MB7277.eurprd04.prod.outlook.com (2603:10a6:800:1b3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.9; Fri, 30 Jan 2026 05:44:11 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b%3]) with mapi id 15.20.9564.008; Fri, 30 Jan 2026 05:44:11 +0000 From: Shengjiu Wang To: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 2/4] ASoC: fsl_asrc: Add support for i.MX952 platform Date: Fri, 30 Jan 2026 13:43:28 +0800 Message-Id: <20260130054330.3462544-3-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20260130054330.3462544-1-shengjiu.wang@nxp.com> References: <20260130054330.3462544-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|VE1PR04MB7277:EE_ X-MS-Office365-Filtering-Correlation-Id: b55c1267-e9c2-4a73-6b07-08de5fc29816 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|52116014|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?noerCIQmJL0szHRTXXc+19NtCdubvPpft/y0qtKEz6Y08fxOAXSpe43Sqqps?= =?us-ascii?Q?ie1RDeqINdHCZgu8KUrBjcWKupdsYVQjNdGSEBW2uPqEPLS0Gn439+UVyOW2?= =?us-ascii?Q?kaQkbPC1wuFu/FS99b9QSGKUzWA2j9CThtyZKOUbvARw2YY7dmGGnBKJL/4c?= =?us-ascii?Q?vMgoMdKJnOLTqJWnMYOwCBSfKOe2iUW8BO2FPGZ3/8rP8U/oq3q/yDapU6Mx?= =?us-ascii?Q?nzbJweLkfRciTyWOua8RNCFf2M24qTS6WPI47ZBIf6O0UT5SMagRrKPpC/tB?= =?us-ascii?Q?7GdIwVuvMq/xEKSp5HmTS8VzMyNYJbZ6X8AWa6FBXWNfx5FAX2gd7ji1UWF3?= =?us-ascii?Q?42ZNMCaurl45iOmEECpBn3HUr4HzgW3EE87duSXQYnjMFp1FqQyYPJ57Wp4U?= =?us-ascii?Q?+ufTaJEJbclqspCMOTRapzowmuYmgI9Ward7aYeQO8RrpizlshAFDDEU7mJ3?= =?us-ascii?Q?YwGkLuxOG254+ExJaNPKENPh1VRNFZo/yi3UdyyGcRhTX73Mr+5W3coZm+eT?= =?us-ascii?Q?pFQSvDWdw46AfEwgKv3dD84QV6ihfvrAwL4vZfSpYXFbhH3mkQW7VRB0wTQT?= =?us-ascii?Q?dZM3YWftjQbmNaRRfhznHoLOcP8fxXbQiOouZwZmP32K66mL1BHsHZM7wmDs?= =?us-ascii?Q?2JCu3gKrarmCM4TPRZ8B0sqbJIG15SMf9JNbPZ/tfJsPGJ9f3i2zJI19qiEQ?= =?us-ascii?Q?cVc1ryWvSiJJusao/EX3j3STNJ86PoG7Y5pFl9uBqtLcEjyTdWr1L5LgqZm3?= =?us-ascii?Q?CeBfjfVnoYLl2Fs/5diswFnCOixSgmLlGlTD/thbVU10NqCd1Bziy5OcgsWB?= =?us-ascii?Q?5QEhQf0kYqZMJM9Od/don4c7FGuDeCl+v5EUmtWbuUm/+Y5prmhhwn7AnZ+b?= =?us-ascii?Q?Ur1oBOv8pCtV1gNBo4NHye82pWP9kQYysYA9Zx2cV/GdC/ZLcFEsckRO8l5S?= =?us-ascii?Q?8w6d33PFBrowpv9pAkB6nV2pv1Kf+HFuAsGyLta09PMIZagHRs8BEa3oGqX/?= =?us-ascii?Q?8q1D3QJh+L5fGp0VyMT6hhWtZeCiuOLGrnl9NJgAsHELSDM998m/X+ItaMcN?= =?us-ascii?Q?xfzxqGRdZCQyQdiLZbOhgLTp77J+CLhLJWr/X5wFpbL+85Md5DYl4wlZI5TO?= =?us-ascii?Q?GbNdr/APlDOxv9al3V3hqlnVfnS31R7LR7xjkLwenDYKFP4dcr0td6aRdQiG?= =?us-ascii?Q?O+k4rJS5hj65kKDab2vSgNugVxYorjipHTKsgSt+6J1u6SZJerZGfLQQ7naq?= =?us-ascii?Q?9OMQZhdiPFN2z5Gafxy8HI3VmSNoNXgHbyp3l8JOZzCkMs0+qu5knumYyuSc?= =?us-ascii?Q?MLWdzKisGE5UmR0pgzBSQHrNXnT4BsdwgYv3fYI9wk+V3boK2BvkPPkNy3W9?= =?us-ascii?Q?YIpc+AWYlx1q5Jkloq14rOMal4+cGqP8mWG1hkpAaPLLCTrUNi4kITOJjIdc?= =?us-ascii?Q?tLDllrF0Cx64nEGrvGKV6NyXvg3OjCqbXHbJkXE9CBlOZ82m9ejYFpATIPaq?= =?us-ascii?Q?ozECS9s5b65jdOUzxU4BhX+OHzLQVf6IN2Iv3o/IF62a6kvgcKJQhC/YvNb4?= =?us-ascii?Q?Hhpz6huyK3PfR9oPvdITKrRVykB+jc4TYrbrQmwB5U7YePxWZaQ7VhBVsIY/?= =?us-ascii?Q?HwQlYKhyudGtWzCelAEhfMRxkvNOJPiGI/1f1hOuHQZi?= 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)(366016)(19092799006)(7416014)(376014)(52116014)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tPbmWRIgphDn8n7n7NiA5S/G+RNQfQReRzbilbsodb1T7pgviEwAAUQUaxaw?= =?us-ascii?Q?lclMiqsH8zedR7JNMxMfZnjnQsjAfM2uMMmF3Ycf6lY3Bk05adlajZM6tcKN?= =?us-ascii?Q?tFoyO6QdLv7dIJ1kWEJkCELPyF2OUtxrOaN5SLz+ZTblA9+h22OpQAbDjIY9?= =?us-ascii?Q?Bjc0/HuQ5MpWIRx/l7oAxKjN3AybZHzIS48emd0Bbj1MQ5EHgxid8dIcWIXR?= =?us-ascii?Q?enBv5vl38wouptAmOn+lEqhW58FOG+Vv19GORrGqptXlThte0SRXmworVMHG?= =?us-ascii?Q?es4vNoY/XJIWJyJZxeO9BoFOf6ajfavB+kr2+x9vxjv09N6IhXNT4jGOU52S?= =?us-ascii?Q?xweu0cnIoz1ijTe0NPYvPIcvE90HUfwM1AK1gsy3/FqQAamDOEgNyzQIqEqb?= =?us-ascii?Q?kZZ5ZgW/pN1H1vS4FSjelKAti5FeWsmIJlggZVxmK464B+sM3IPbjYiE4UzY?= =?us-ascii?Q?7QsVMvaAWCf8V/d1F305BpmM2xGZ0mEs2hbfiiIW6mBC5teoNtJQoLsC6i0p?= =?us-ascii?Q?EBB36KJyAUxuPVPEwmRhJ/fG1kP3mYNmoncHh1Sou8bFVTH0j/6wSals7pAn?= =?us-ascii?Q?qmI3F+Tfss6MUbxrekHQ8UI6+92mCyc/B4HPIye7FthkeQeXetJ0BKQQ1IRX?= =?us-ascii?Q?qwBnRKZ2FhTfYQQmdYPicInmDInq8fxgWVvnyPog8BAW3lG4qFdWyf85luxZ?= =?us-ascii?Q?Ks68Q1/nSorf7v4YqLN25mibLW9cvOZlbK66GsJsYO3OV8OQMpBNXqqRJah4?= =?us-ascii?Q?OH0W5ru5jdto5Ett0gyLp1Wj/zhH+JdAy9BkujesnZY0nEonv45Mhu90ODcD?= =?us-ascii?Q?5x8Gqi7c6XGycEFePv9PPOQkmO1snF/9UDhxLo/fLhCzlRNH+S9i6RV8/iLD?= =?us-ascii?Q?aTYzpg9FHMU9M4Qv1jaFzeJUCYSXcwT+CgKmw0NyJd8KR68aBnmitX24z/W9?= =?us-ascii?Q?TMMztQzbQr3J7G436fDfE4B2E4SOp5F5htF6y5zKbgOyXsk3hIlyd0KwQBQh?= =?us-ascii?Q?UhVbJW3AZPHpPFp5U9UK3BJRrjd9ukTA2HrWAVepGPIM3L3KFGruD4rHCi3k?= =?us-ascii?Q?3tOpyPYLqmNFYJvEK7YLyBahZpz5r/sa2VqDLo+cfi50JeYSmfnfBeAMZsX1?= =?us-ascii?Q?GrQlZJjuOm5QM5jITKdEyihkbBw8wIOBMmo8M0Q5I+iBaA86CQ6URc85x+GK?= =?us-ascii?Q?UZv3OGzjDprYjKDWsb5DiDm+9jmv4CjUsHQ3naGV5J+6J82QyOuU6t/jWXm+?= =?us-ascii?Q?Vp3tEq19eYg3Sp3LycubpeqnVvkrnOjx+hrCWBlFJPYL2y3RZ6bd3pzCNfWG?= =?us-ascii?Q?mAnj8ZtrxijN+9YgrElHwEh6ff77qn9+USly29JSlTy6R/4NZhCKN7RNMb5Q?= =?us-ascii?Q?Ocn2RVAmWnOnRj4HVUJgd0kAkPwYQY3fduoeqHtPpNVdoJr/y7rTCpsYV8O3?= =?us-ascii?Q?ShRd9oufYc9Vt/YMf4I+MCJ6reyI+kULkXVMCNshCb5MfO4HKVBuUYxPhG/n?= =?us-ascii?Q?JqsX/Ptv3ZxAlR61UisbAjjwwTeaDuwAP90wYzE0Tobfg0C7NSi/FXmmKKX7?= =?us-ascii?Q?aLrgp6KjhkgJCWSrjS+LBE0BmsO8pnQ9V2WeLDd1qyaCWC2BTN+mqQzy29bW?= =?us-ascii?Q?qVfinLIgj6tytvsJDO6BBMULZ3TJZ9AGFCimSjCbsPnhX6ntmSqm3oYEQEbr?= =?us-ascii?Q?5CRymJHpMjjSZAIH3/8nYvrhihQyZmtjVR/Qe4+iQHrpE4zGKpGU7iiz2Sh+?= =?us-ascii?Q?0rVFoECdhQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b55c1267-e9c2-4a73-6b07-08de5fc29816 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2026 05:44:11.5479 (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: oSfP6D1SBQKWobHWQ5IetLiayRaNiIBQirgE7gFgHCS9OXRl3/In/q+szQ9DCoLnPZ16Sf3PfYjXsRGp+KIMTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7277 Content-Type: text/plain; charset="utf-8" Add a compatible string and clock mapping table to support ASRC on the i.MX952 platform. The clock mapping table is to map the clock sources on i.MX952 to the clock ids in the driver, the clock ids are for all the clock sources on all supported platforms. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_asrc.c | 15 +++++++++++++++ sound/soc/fsl/fsl_asrc.h | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c index 92fb16f7be45..5846a2b1f73c 100644 --- a/sound/soc/fsl/fsl_asrc.c +++ b/sound/soc/fsl/fsl_asrc.c @@ -106,6 +106,12 @@ static unsigned char clk_map_imx8qxp[2][ASRC_CLK_MAP_L= EN] =3D { }, }; =20 +static unsigned char clk_map_imx952[ASRC_CLK_MAP_LEN] =3D { + 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf= , 0x0, + 0x0, 0x1, 0x2, 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x4, 0x5, 0x6, 0x8, 0xf= , 0xf, + 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7, 0x9, 0xa, 0xb, 0xc, 0xd, 0xf, 0xf, 0xf= , 0xf, +}; + /* * According to RM, the divider range is 1 ~ 8, * prescaler is power of 2 from 1 ~ 128. @@ -1315,6 +1321,9 @@ static int fsl_asrc_probe(struct platform_device *pde= v) asrc_priv->clk_map[IN] =3D clk_map_imx8qxp[map_idx]; asrc_priv->clk_map[OUT] =3D clk_map_imx8qxp[map_idx]; } + } else if (of_device_is_compatible(np, "fsl,imx952-asrc")) { + asrc_priv->clk_map[IN] =3D clk_map_imx952; + asrc_priv->clk_map[OUT] =3D clk_map_imx952; } =20 asrc->channel_avail =3D 10; @@ -1553,11 +1562,17 @@ static const struct fsl_asrc_soc_data fsl_asrc_imx8= qxp_data =3D { .channel_bits =3D 4, }; =20 +static const struct fsl_asrc_soc_data fsl_asrc_imx952_data =3D { + .use_edma =3D true, + .channel_bits =3D 4, +}; + static const struct of_device_id fsl_asrc_ids[] =3D { { .compatible =3D "fsl,imx35-asrc", .data =3D &fsl_asrc_imx35_data }, { .compatible =3D "fsl,imx53-asrc", .data =3D &fsl_asrc_imx53_data }, { .compatible =3D "fsl,imx8qm-asrc", .data =3D &fsl_asrc_imx8qm_data }, { .compatible =3D "fsl,imx8qxp-asrc", .data =3D &fsl_asrc_imx8qxp_data }, + { .compatible =3D "fsl,imx952-asrc", .data =3D &fsl_asrc_imx952_data }, {} }; MODULE_DEVICE_TABLE(of, fsl_asrc_ids); diff --git a/sound/soc/fsl/fsl_asrc.h b/sound/soc/fsl/fsl_asrc.h index 1c492eb237f5..2f67b085de24 100644 --- a/sound/soc/fsl/fsl_asrc.h +++ b/sound/soc/fsl/fsl_asrc.h @@ -324,6 +324,13 @@ enum asrc_inclk { INCLK_SAI6_TX_BCLK =3D 0x22, INCLK_HDMI_RX_SAI0_RX_BCLK =3D 0x24, INCLK_HDMI_TX_SAI0_TX_BCLK =3D 0x25, + + INCLK_SAI2_TX_BCLK =3D 0x26, + INCLK_SAI3_TX_BCLK =3D 0x27, + INCLK_SAI4_RX_BCLK =3D 0x28, + INCLK_SAI4_TX_BCLK =3D 0x29, + INCLK_SAI5_RX_BCLK =3D 0x2a, + INCLK_SAI5_TX_BCLK =3D 0x2b, }; =20 enum asrc_outclk { @@ -364,6 +371,13 @@ enum asrc_outclk { OUTCLK_SAI6_TX_BCLK =3D 0x22, OUTCLK_HDMI_RX_SAI0_RX_BCLK =3D 0x24, OUTCLK_HDMI_TX_SAI0_TX_BCLK =3D 0x25, + + OUTCLK_SAI2_TX_BCLK =3D 0x26, + OUTCLK_SAI3_TX_BCLK =3D 0x27, + OUTCLK_SAI4_RX_BCLK =3D 0x28, + OUTCLK_SAI4_TX_BCLK =3D 0x29, + OUTCLK_SAI5_RX_BCLK =3D 0x2a, + OUTCLK_SAI5_TX_BCLK =3D 0x2b, }; =20 #define ASRC_CLK_MAX_NUM 16 --=20 2.34.1 From nobody Sun Feb 8 19:43:27 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013066.outbound.protection.outlook.com [52.101.72.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 82EAF32A3D9; Fri, 30 Jan 2026 05:44:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751862; cv=fail; b=k3KapoNZfWbYTy0WgJzzcVtXR1D9YLjmgq9TCsUWsh6V89Ljb15NR5OX8f+ruMtq05ye+TUUepgVcw0Fd/OxmIypUOF4RkFLyxcbPeNU0z5bhkKtyYvdLfXUYTnqj7Wjx9556HtvtdIkBLUVurDlMyF5aB1n8Qy4/TZ4nAss58A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751862; c=relaxed/simple; bh=zC/+XwSM76olkNx6/xpRByO2AR7Y1Q2ChDas6Gu7btw=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=L0E5diZpMqNYzkVtJu00hVydFVBECX/1OxnlIk5+g6EbTTlev67jU4FUBzWdoWZgrjbUWC3SCLc090atinDTHYlh7mM4qkPAgT2V24e686+tCuaj4R0ZFV4yfDRfcszM5shaFiUxuzOQ9p0EJYwS6JjdJTPI9bZQY0zbS7cTejM= 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=T4KaK55C; arc=fail smtp.client-ip=52.101.72.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="T4KaK55C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qoy1zy8+QZkD5zqasNjcVqoFNNwJERJ8tVazKJGPhxxMLDZoqmAaPY7gFWjWlU6zYkvengbEWBMcCO9wFNUOdPZHe/JHhgjcxnq5D9NlTBSDonDTZodQrqxX7u0L/mr9VBW1zo9SO5VSlNW1z+kbWe9EVVtwwIrfK+ij/frP2Cl0tBrITmhGT6FRn8/KLTZlI5q5m/aEnVfhX8dEuseopVLGP6+EXkh8bof5sd952t8c3BQhYmbHQgl1zJvGYY/GJLkb4aO6x2zcoNWFRm9ECj9yohdab6R2m1uCa9wOArwccvivza2ZQpJ1/tdJDSkYgHm3v2w1fw544qrP0kjysA== 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=NeuzcnTqdAA1Zj6sZaA/TgsUA8C8RoXUmLnNpiVGoTI=; b=sb6b4pRmB6q7yYBqbFJAYJ2XMS97S61bCwnmOiNWHlC1ozYyUNk7RPoS2BqcCwAKj9jjy54U9TITWAh4p7eJRcivTAkIPZKV5aQ+uuOYLTG2KD5kLR60hkXSDnbRiNIsFjwkoBxxc7nG/PNKW2YEPI8WvHVjEQZmjuazvbrF7wFi31zivZkGiEKD9FgyYQMYHVILNprzpiW4weelDAwvhKjSdK/B+L8/0eBQqf1v+m3JszZEuStpyfQiRDDUDQtGUi2ESCwGVaKIRBbOQVG54s18G9nLT3sCcnwqF8hHlUUoAUr1Yc9pgH1HE7j+TFIZ+8xK0D6rsgzYPYViTw0JsQ== 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=NeuzcnTqdAA1Zj6sZaA/TgsUA8C8RoXUmLnNpiVGoTI=; b=T4KaK55Cmlmv1uJLcxKObz4In3fYBNk6FEaLvhnYD+S8xvGl5qI3R744KL+3PPHy+jFr3S4JYRZaseaarbMPymS46gA/l1qpuM9aSItK9cj+GX7mt5hHNd4UcyrLRQEOqBDqRC2kmsEox0pnpTZqSYizlAvrbAR8jAK6oaPoMy6G20ELLTbeRpNeuo2ahPbyl4jZ8iQJkTUMtichWk6Vc5ha+04NqRx4dYJyRnro2WjaoI5BIqLG97e0LZdUKMKCR7CYnWaUQR7nXcKU3gl1JFv8POH2YqHYG0pEXSJ3QEK8s+XgOZEMtnHpDfrUiLL4REs3wVsV4ttUSCBVA0wGDw== 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 PAXPR04MB8174.eurprd04.prod.outlook.com (2603:10a6:102:1c4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.16; Fri, 30 Jan 2026 05:44:17 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b%3]) with mapi id 15.20.9564.008; Fri, 30 Jan 2026 05:44:17 +0000 From: Shengjiu Wang To: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 3/4] ASoC: fsl_asrc_m2m: Start ASRC before DMA device for M2M Date: Fri, 30 Jan 2026 13:43:29 +0800 Message-Id: <20260130054330.3462544-4-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20260130054330.3462544-1-shengjiu.wang@nxp.com> References: <20260130054330.3462544-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PAXPR04MB8174:EE_ X-MS-Office365-Filtering-Correlation-Id: d7f5c3b7-be9a-45be-4475-08de5fc29b66 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|366016|19092799006|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4WFQ1Qlu1SRf5yMWt5uExI44zZQ0s4vGyfFWwG95lxGePcaWXiw6AGe+JUni?= =?us-ascii?Q?8dVrafrTDvR/xK1GszSVIg5gYYhzuFFK4NMcGYl8Zv2sEYlOg0BTBm6LkiRw?= =?us-ascii?Q?jdWx/p0z2GXEWzRZFhRXw0sXUGqlO3JmFsJK5Z/1d3aYuYPfZLXkwCgIoKDf?= =?us-ascii?Q?ljNWotxRh0N5hRr8XJP6DRnuj5yk5ofwY/uZ9gzV9WnX/QW8AC6dnLLbTpWF?= =?us-ascii?Q?qcEMrjQ1EZoR5KxmZmuuk+gQi2lQb65ifN6RrYVbJ6j+FsEDlfNic/481Z/u?= =?us-ascii?Q?Nq5PPqVRwvbZ5g8x+vvh53uWLgJr1aw7GcO8ApdQieYzk7bM56n64CzCdKjs?= =?us-ascii?Q?m7Qus/hmzGSFazpU7bjMiPTIx4w/nfXNUNRxYH5VVBIG/vTtXtUvTUT1wX95?= =?us-ascii?Q?2JhPQikyD5hzpJOzj9B1HJoPjGWMDTD43vvkdl5ENbXURssjXHGJGeuV3o79?= =?us-ascii?Q?0YYN7WjREoKqTbXsR0qhbPzOZmimBlM+5Kw0FcZFQQJ2X9DtoUfuxc/oqkWD?= =?us-ascii?Q?xw3dcj4sGTDZ8KIRelfhNrXuAvzRO60E41o1j0qglHd/zqZuMA1fWAGHwjaC?= =?us-ascii?Q?ymSJrL9VCaP5bkv+YVkJEemqEEDALH8q4K4QMpYTEGnYyiB1whdjYZVxfUyc?= =?us-ascii?Q?peTPHEJb/K9JVMe2ZyuPF0pKWFD4kEV44JXIHfY3NpC8sh4Ayo/F/ZS2gLJa?= =?us-ascii?Q?2iezD4KIDCqyZcRmpINgTHbcIE32OTpKR6F4uhQcl9OYRjUuHSXUiUdMsMk8?= =?us-ascii?Q?MqTCeOQyJRL8J7IMtX9t6OnxH+lNVNn4O/Jlyb5/wGWww6JravtN67GOf80d?= =?us-ascii?Q?ZhUu8Q4FAnEvVPK9IkTv3XslZgAC4QpbF2/MYjncDgAZZcbvcnG4Pktv9Hqj?= =?us-ascii?Q?g55kiQJ4+p7cxTs90ArUOu0B+VsLLRsrvNIhU3I6FnoI417e4rsj6pyCMIqj?= =?us-ascii?Q?Wzmns21F5LO8L9EZ40gCLhmNg3QLNuSiRw2QuohIZQPoD1J8i0HrmhGnSF7F?= =?us-ascii?Q?6Jg3GV3weCkiCr3NOw4AWYCtrOW7kP5vq/C5JA86NFV+cO+ylIq4P97K79IH?= =?us-ascii?Q?j77SopulXBAolgKfqcVlrdxbbSI8+zBBnLzjH0OCLLx3o90qIZmXIzwleT7r?= =?us-ascii?Q?nFo/SBM4Y3eP8n63ZuZ1HsLtk9Cc5lcCYE4idpBo3qoqcTQ6UiM3+B9qTPHM?= =?us-ascii?Q?d34egavjH3eU+iG6OJcJNvd1nmZTrwM5x3pTSbZ0DKu0+kRVC4HxCFUxdyse?= =?us-ascii?Q?mF/1gE8r7oQAudn6PMp/5BWH5JVALBbgpJuEA6hYhGQkWzAPGTT2fLP0oLKb?= =?us-ascii?Q?0KUZXGgYr8m2iQW7t9hKEPT3pmAIRL2hG/ninDwOnej41U0+znwH76wktOIC?= =?us-ascii?Q?SEMR8edLzln43VVrCZFFKNUW0e6GnqBSTUqLuzyh3BOaqTDDvctdMlwYDxKP?= =?us-ascii?Q?UT81GGMUajYaZbUuGXJNiptF0E+Z9CHfANJ/Vyo5CbIwklxJDB74A5AQBu9j?= =?us-ascii?Q?+nyGYqg6lFojT2mdlu3+YKWNJsAIjpLvBrkZzbxEPxUHutsU1er9qZGieFBW?= =?us-ascii?Q?bGkZj6Eg7iWGZfb2LmHXMwu2ihrJHOsbakKo3ulcAJ4Mv42RMQIwDxGT0rhD?= =?us-ascii?Q?tOIwPqOaxKIoK1KXXt4OeNHyRyxrtSSccWBZBxm0G+zJ?= 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)(376014)(7416014)(52116014)(366016)(19092799006)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sfRWWXGb/oZKAbQDhQgbtav++zRIVQJXr+Cq+xbKhqzKXfK3H9Cej2g2BUuL?= =?us-ascii?Q?DvNCLrPXtp9XWNEYv8xU5datHm1lmsuzrXMCiEMlpgwT4HgGGfjd5wXXNlgL?= =?us-ascii?Q?qjWJCEIEcpE4d8cc5O1G5EtRBBLzzJezTKqvm/vJ0P7ObZ6MGmAB4PBIQ/t8?= =?us-ascii?Q?otUG9S/vLg80wckuZRB3xUDXK6svfIalIPpFQai+U0jG2bLG6+upvzsfb0L+?= =?us-ascii?Q?IjqKRNfHiTxo0/zMfM3Brdm/+KHHNkShfm1HEsXi5GrBAgQM5eaIAtG6FVLv?= =?us-ascii?Q?Twe6j5CrgHTnXtGLyh0pVcigKqG7+Z3V6LOThjcWf6dyNS/7yXNwtmZJLAec?= =?us-ascii?Q?zfGYCkZfDoBXHy1zYTVHaFPtG9zmFP1+JcusgOFr/aCOLwp1rqwo7ErqdhJM?= =?us-ascii?Q?IS7MgZ3fLJxI7QGgltp6ngHiz1r1VCTaX64blc2vO3w+7h5eUDF2xfqIbP6R?= =?us-ascii?Q?fRSG8q+F7NcCGp3APTJEl0tZ6FfEpQgD6RxB3fj3LFq+6ENe8tJRGbBVI+B1?= =?us-ascii?Q?9p+VyZaxn4O03GfkWl4jZ13cQyDIlmwvE5oTPwWVxXKKHu8kTPrEq8iNdqAy?= =?us-ascii?Q?nzIZGMeMFIvFQ927PjN/wpxzwFXPD3sWJNDy0McE8buItwnvopVBMEv/0jxd?= =?us-ascii?Q?R2K/71lIKVWQFmv2xfJvBccKOzzlGutMIjvaz3C4pglV8xlQBxreCqVN6Tow?= =?us-ascii?Q?7Bc/JD6/ZxHlgwPUncb79EeAvyEsFhSuxDdSv6PIv1PJ06UfilKCJGV3Fwto?= =?us-ascii?Q?HLrY2RmRKgQnsxE4DB8wwSTb1A9BfeWXGxphHDf66dLzDLuhE8p1WnnPdzbX?= =?us-ascii?Q?spy1XX2WA/gJ0gRXMgkPPk1WqhdaoiEzyM/fJ1xscon2QBLiOXFOAGPLcrw0?= =?us-ascii?Q?F1bR/N2zqRyh0NrWRREa3Iktx2m+LHN/jBs55UMx3k5HbGlZblsWOockjYen?= =?us-ascii?Q?C2hp+VISc6QL/Dj3WbPwIZQCOEMA2dl0e685muvhmyv6Kf1M78p5ge+V6WPA?= =?us-ascii?Q?ioRDaiiKWNP+CnBis05YcqYxZDh4gTni0ZdPV+PxVDKPM+3W90G3B1/DPw2a?= =?us-ascii?Q?Z/qC7+wqWoXVPhuh2PKoI4Yv021PHp+Lum4cWe5rW2ag3pfOBWp7QSYYPtZJ?= =?us-ascii?Q?naFEAKPO0BiFxcLEj7hv0+66F1rrrAfmGGh8Pt9wiY0KU3Twb3wxmUxf0KLq?= =?us-ascii?Q?XlBXtQWNVILHhSCJF+kWaCL9h5iJ57tkGj4n9CO/x4ZKPz0Wq/1pE+zgFA0U?= =?us-ascii?Q?EU5AOzg6fPFavMZnZqrjPDF1jbLFXLv8kDNTsvDSAfyOH7nW6eQVA2/uVg+y?= =?us-ascii?Q?BC9zUWbAxLQ0ffh3tnl7XSpp27v2G6pNvsK7Ka+tadGfmHZ+qfN0LocAQ8S1?= =?us-ascii?Q?ThgVButqns4/7lxOG3aKI3h/hbhdRLkDuLeQfqCZVQsBQWKpbVqMEbUn4I5m?= =?us-ascii?Q?lD9ONUL4o1OeFuNCOZKcdTYfqSt+dCjK1WkctFWH0PUDBTPz1NQWMcGEKohE?= =?us-ascii?Q?WP0n4xBoGVbTCq+NHyH/BilUm4JDRaoP3tevgsRrN6Gt8/H+JZVbT/dw9AXR?= =?us-ascii?Q?S+5k9mUHh0loXfyaglW9PSoCDA1i43DPP1ozVCGNDs+O6U5kpWUPurFs4Ixl?= =?us-ascii?Q?MoGkGma1O7DCowmrpZWfk5MaPpl9K7asOJm6w/s1c+B42yy+AtMJyKWfHMjo?= =?us-ascii?Q?CH4IAbm37si562dY6oWa6wRp6kS3C6whBm3ziWHw8EJ6zn0ptalIYlWvsuGi?= =?us-ascii?Q?3c28DceLtg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7f5c3b7-be9a-45be-4475-08de5fc29b66 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2026 05:44:17.0599 (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: 3zueoK9SBDg6/cNLNFjMHJu6gVrPrCAzfMUq9sVRVzd48YgIP77vk2FPHp/J7BSRAHO1VG22uXCzBEmOb7Z9kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8174 Content-Type: text/plain; charset="utf-8" There is a limitation on i.MX952 that dma request is not cleared at the end of conversion with dma slave mode. Which causes sample is dropped from the input fifo on the second time if dma is triggered before the client device and EDMA may copy wrong data from output fifo as the output fifo is not ready in the beginning. So need to trigger asrc before dma on i.MX952, and add delay to wait output data is generated then start the EDMA for output, otherwise the m2m function has noise issues. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_asrc.c | 25 +++++++++++++++++++++++++ sound/soc/fsl/fsl_asrc.h | 2 ++ sound/soc/fsl/fsl_asrc_common.h | 4 ++++ sound/soc/fsl/fsl_asrc_m2m.c | 29 +++++++++++++++++++++-------- 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c index 5846a2b1f73c..2374577c13f9 100644 --- a/sound/soc/fsl/fsl_asrc.c +++ b/sound/soc/fsl/fsl_asrc.c @@ -1084,6 +1084,28 @@ static unsigned int fsl_asrc_get_output_fifo_size(st= ruct fsl_asrc_pair *pair) return val >> ASRFSTi_OUTPUT_FIFO_SHIFT; } =20 +static bool fsl_asrc_m2m_output_ready(struct fsl_asrc_pair *pair) +{ + struct fsl_asrc *asrc =3D pair->asrc; + enum asrc_pair_index index =3D pair->index; + int retry =3D 1000; + u32 val; + + /* Check output fifo status if it exceeds the watermark. */ + do { + regmap_read(asrc->regmap, REG_ASRFST(index), &val); + val &=3D ASRFSTi_OUTPUT_FIFO_MASK; + val =3D val >> ASRFSTi_OUTPUT_FIFO_SHIFT; + } while (val < ASRC_M2M_OUTPUTFIFO_WML && --retry); + + if (!retry) { + pair_warn("output is not ready\n"); + return false; + } + + return true; +} + static int fsl_asrc_m2m_prepare(struct fsl_asrc_pair *pair) { struct fsl_asrc_pair_priv *pair_priv =3D pair->private; @@ -1281,6 +1303,7 @@ static int fsl_asrc_probe(struct platform_device *pde= v) =20 asrc_priv->soc =3D of_device_get_match_data(&pdev->dev); asrc->use_edma =3D asrc_priv->soc->use_edma; + asrc->start_before_dma =3D asrc_priv->soc->start_before_dma; asrc->get_dma_channel =3D fsl_asrc_get_dma_channel; asrc->request_pair =3D fsl_asrc_request_pair; asrc->release_pair =3D fsl_asrc_release_pair; @@ -1295,6 +1318,7 @@ static int fsl_asrc_probe(struct platform_device *pde= v) asrc->m2m_get_maxburst =3D fsl_asrc_m2m_get_maxburst; asrc->m2m_pair_resume =3D fsl_asrc_m2m_pair_resume; asrc->m2m_get_cap =3D fsl_asrc_m2m_get_cap; + asrc->m2m_output_ready =3D fsl_asrc_m2m_output_ready; =20 if (of_device_is_compatible(np, "fsl,imx35-asrc")) { asrc_priv->clk_map[IN] =3D input_clk_map_imx35; @@ -1565,6 +1589,7 @@ static const struct fsl_asrc_soc_data fsl_asrc_imx8qx= p_data =3D { static const struct fsl_asrc_soc_data fsl_asrc_imx952_data =3D { .use_edma =3D true, .channel_bits =3D 4, + .start_before_dma =3D true, }; =20 static const struct of_device_id fsl_asrc_ids[] =3D { diff --git a/sound/soc/fsl/fsl_asrc.h b/sound/soc/fsl/fsl_asrc.h index 2f67b085de24..1be93148a879 100644 --- a/sound/soc/fsl/fsl_asrc.h +++ b/sound/soc/fsl/fsl_asrc.h @@ -446,10 +446,12 @@ struct dma_block { * * @use_edma: using edma as dma device or not * @channel_bits: width of ASRCNCR register for each pair + * @start_before_dma: start asrc before dma */ struct fsl_asrc_soc_data { bool use_edma; unsigned int channel_bits; + bool start_before_dma; }; =20 /** diff --git a/sound/soc/fsl/fsl_asrc_common.h b/sound/soc/fsl/fsl_asrc_commo= n.h index 0cd595b0f629..c8a1a2b5915d 100644 --- a/sound/soc/fsl/fsl_asrc_common.h +++ b/sound/soc/fsl/fsl_asrc_common.h @@ -107,6 +107,7 @@ struct fsl_asrc_pair { * @asrc_rate: default sample rate for ASoC Back-Ends * @asrc_format: default sample format for ASoC Back-Ends * @use_edma: edma is used + * @start_before_dma: start asrc before dma * @get_dma_channel: function pointer * @request_pair: function pointer * @release_pair: function pointer @@ -116,6 +117,7 @@ struct fsl_asrc_pair { * @m2m_start: function pointer * @m2m_unprepare: function pointer * @m2m_stop: function pointer + * @m2m_output_ready: function pointer, check output fifo ready or not * @m2m_calc_out_len: function pointer * @m2m_get_maxburst: function pointer * @m2m_pair_suspend: function pointer @@ -143,6 +145,7 @@ struct fsl_asrc { int asrc_rate; snd_pcm_format_t asrc_format; bool use_edma; + bool start_before_dma; =20 struct dma_chan *(*get_dma_channel)(struct fsl_asrc_pair *pair, bool dir); int (*request_pair)(int channels, struct fsl_asrc_pair *pair); @@ -154,6 +157,7 @@ struct fsl_asrc { int (*m2m_start)(struct fsl_asrc_pair *pair); int (*m2m_unprepare)(struct fsl_asrc_pair *pair); int (*m2m_stop)(struct fsl_asrc_pair *pair); + bool (*m2m_output_ready)(struct fsl_asrc_pair *pair); =20 int (*m2m_calc_out_len)(struct fsl_asrc_pair *pair, int input_buffer_leng= th); int (*m2m_get_maxburst)(u8 dir, struct fsl_asrc_pair *pair); diff --git a/sound/soc/fsl/fsl_asrc_m2m.c b/sound/soc/fsl/fsl_asrc_m2m.c index f46881f71e43..296e13a16490 100644 --- a/sound/soc/fsl/fsl_asrc_m2m.c +++ b/sound/soc/fsl/fsl_asrc_m2m.c @@ -253,15 +253,28 @@ static int asrc_m2m_device_run(struct fsl_asrc_pair *= pair, struct snd_compr_task reinit_completion(&pair->complete[IN]); reinit_completion(&pair->complete[OUT]); =20 - /* Submit DMA request */ - dmaengine_submit(pair->desc[IN]); - dma_async_issue_pending(pair->desc[IN]->chan); - if (out_dma_len > 0) { - dmaengine_submit(pair->desc[OUT]); - dma_async_issue_pending(pair->desc[OUT]->chan); - } + if (asrc->start_before_dma) { + asrc->m2m_start(pair); + /* Submit DMA request */ + dmaengine_submit(pair->desc[IN]); + dma_async_issue_pending(pair->desc[IN]->chan); + if (out_dma_len > 0) { + if (asrc->m2m_output_ready) + asrc->m2m_output_ready(pair); + dmaengine_submit(pair->desc[OUT]); + dma_async_issue_pending(pair->desc[OUT]->chan); + } + } else { + /* Submit DMA request */ + dmaengine_submit(pair->desc[IN]); + dma_async_issue_pending(pair->desc[IN]->chan); + if (out_dma_len > 0) { + dmaengine_submit(pair->desc[OUT]); + dma_async_issue_pending(pair->desc[OUT]->chan); + } =20 - asrc->m2m_start(pair); + asrc->m2m_start(pair); + } =20 if (!wait_for_completion_interruptible_timeout(&pair->complete[IN], 10 * = HZ)) { dev_err(dev, "out DMA task timeout\n"); --=20 2.34.1 From nobody Sun Feb 8 19:43:27 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010015.outbound.protection.outlook.com [52.101.84.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1F673783B6; Fri, 30 Jan 2026 05:44:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751867; cv=fail; b=Iop7RK3SQY/odrtZu1RM3YAOMORokCIuppWTH5QoTjslMo4OS3h3N6dSCSLaWTqFN5IFPk/tXlA6BG96IgEoaeiPtp2/SWpa3JRcHLJoryZ6IjfAce/aT2RjTm3XNS/uV+GQHAMNZpQDYxXuaaU/k6Hw+7hOjxWRXYgOeu7ZMrE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769751867; c=relaxed/simple; bh=oobwDQrbdUbGdtQGo3y88jVFw+xRnF/xh3pkDmF+Fn4=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=aM1ENcBPUFbsta6tX50UhxL9DlY7QJGOnxfYZlIxSmtE1urapvJTktHdxf98HZ+o4y7btryfSNWhaLjX0J0y8DBo/0xUgUfosUBFd0ol/GuD+TQ/+lyZ0zxWtOJgarTrJmdbKWnXzX9OadOqUmxv+f32ri/gLlKlV6oq29jUkcw= 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=mPDU2D0u; arc=fail smtp.client-ip=52.101.84.15 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="mPDU2D0u" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IzakqJxZ/sQj8WjVDyzvYZwXNYFP+AaEqJ7PaE1IcK/FRSlwmu2se6ox9xUkgaBPvAPVLw8DuuMayr2IucQ4LaAdWdOCanUo/wPPhmTnmZtVNfkEebEGCzMZ1xK6dcTXvLbkTp+e3kggHYNz69v6yV056WckHznDa0ayjALOfcUMG8eVAAeh1oO1zQH8uy8XCJ9DGOfSy9y2HBq0helTw7ivudj4zpmJXU8lXjzc1uVBWFlz5CzGfIXfbJfvh6A2T1WyVRJ6Au+l1XBkjq5Ma/fSfYMzSXFovBKdvG7Gv/yFsEO9h9XdHpdHyq7D9f7+a3HwNHZr7x/BNcReqJkfHg== 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=nYBCgdVnJ9uTFWH49fM4PwhUjwp3X164WXPES8CBV40=; b=V07mXHlEoRxQ6oDmKGFeK2fvb50mloNp0TphTVE65fFDtS98VTzhi/9QDIKsheEVQEvBdAfd8wL2t18AYjfkNHJCLCFe67lccOWNLL8AmtYhwueRcPaydZQvJHKqosC7Xf2sdCTDuGaruObCZTdIqexn97OWc+HWmqGmQDu3W9Jhcl7VwegTxZgtfXUQ/3u7czYQdCztmq5+HKbhWRyEtN/hDNfJvM2zLOibMbQKfIbVvn2aWjipnbwC649tjzZSPrbNS/XitjjtohDB6/PjzLSX6SSj1OUjcPMkGbovAHZ7Acg0UIbkZL4ndtgaLuP0MULfoA5DmEBD4FdrmsgRgA== 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=nYBCgdVnJ9uTFWH49fM4PwhUjwp3X164WXPES8CBV40=; b=mPDU2D0u8xliHCYnuS2Xl8+ViYzTV8LAaKdsI/8rD7dLT4xPDFPLBZJczpvr9hFL4Ls8l3Uzk5v7ffnHCvFoXpd+QXva/rFCEo/iMYcCQSANk/WHfEH5PGYrPzF+5YHjvf6lWjPnZ5nry2fWaSwNSNVuzdrFnZHiUbBvndMZpF6Re6aCK4gqGIBpWoPxsLc4e56NSU1epFIuutRvPoDldVsjyyW8alsHjnJkAMtxiRY9NVtLOZzIIz4OhBZNWUfJbDpC3+rGKb7qXeUE1PoI7PPI/SEuQtgbZMOu+7GLsboP4fMNh0cQto1dfjsixGtk5MPCRalV6cRN6BF+jSQwnw== 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 PAXPR04MB8174.eurprd04.prod.outlook.com (2603:10a6:102:1c4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.16; Fri, 30 Jan 2026 05:44:22 +0000 Received: from AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com ([fe80::bab2:d15c:fcf8:ef2b%3]) with mapi id 15.20.9564.008; Fri, 30 Jan 2026 05:44:22 +0000 From: Shengjiu Wang To: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 4/4] ASoC: fsl_asrc_dma: allocate memory from dma device Date: Fri, 30 Jan 2026 13:43:30 +0800 Message-Id: <20260130054330.3462544-5-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20260130054330.3462544-1-shengjiu.wang@nxp.com> References: <20260130054330.3462544-1-shengjiu.wang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0034.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PAXPR04MB8174:EE_ X-MS-Office365-Filtering-Correlation-Id: e64b8550-6a8d-404e-a79b-08de5fc29ec1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|366016|19092799006|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?72X8KEZaTPyrS6E7v/F/XC2qv0TVwzxxodW/Uw7H2Xo7dHu1DIb3KJU+fofY?= =?us-ascii?Q?rQf35Bp3Ti/lfQ98BJYrGAywjRg5r/sox7MyRQQ1U3meX3NLtpB86UAyHsNH?= =?us-ascii?Q?a46v6O6ykxaOF2glmZTLX6GXDCqkTMy3A7UdUBKupJa+hHtadKW1gFPG79lO?= =?us-ascii?Q?VWpd2EsqbTrEWW754kdNSVStO12eBVlJucRKD2UaNJ+74jhrkuU4KvEJdj04?= =?us-ascii?Q?LZFRGYSAagUhKK6/hAHieW+vbusItmZyiOxS+sXGBkCL9SYWTqUVpZ7FS65l?= =?us-ascii?Q?F+1HTj9EGjABqqIXbhUEov2fH9EtSh02OqUzgBPRjtq0fJmM92daZQ8f4atQ?= =?us-ascii?Q?HSXVn35kubfKNAJN0mM+rql3ZoO/1Wix8NmxrM41ExrSw0ceMaFe7uHU71Re?= =?us-ascii?Q?Xg777i+V8FaqjG/FUhrupLcyTkMbTfl4LS7HG3b6wlz+TtIQAzCp7W3797Rs?= =?us-ascii?Q?ZjY4geW6yq64iQG/oFhlfgmwa3t7eY55jqA3icb85iII8iWN83gve3GI47Fg?= =?us-ascii?Q?rsB5IUiovLIavKVwc6k8gzrQR5D/SRa7brLTA12A4AhlCRxGUCi9kDDo7q07?= =?us-ascii?Q?uVVs6IiX4LtcBu+5yuqTZqRjFTbTCexQji6iIaum3tyNU9Op9CjSa3DmL0ci?= =?us-ascii?Q?x0l+dCgzhh9jHDT+CpdnQg3j+mal9vSAgF5oFLvhFmD4M9OLoHSO6o189/22?= =?us-ascii?Q?+hlShxJ9dBnlAsYyK3TtjToGTdKJMfsfGn5MPvkjoiBnc0Jl0tn0mdR/fx5Z?= =?us-ascii?Q?gr9ZPWANHSu6ZNAtVDAV+37DUMg/593Ho+9IUz/lPp6NGjZrOU6+S6d+g3Qq?= =?us-ascii?Q?uDxs1DuNv4GTNbJNHeMREM0ffVuzYJBentzD07yy+7Jas+jF2DeCfAlgCJla?= =?us-ascii?Q?CJyLA5E4WaZERQLYOAsPh/zKAtKoW9D+1YGQsdjBfZUlaQ4igaRI/hVrvspK?= =?us-ascii?Q?vMGHldrsIaYhvtvjkuSFuTRJhp+c4lQ1lB9KKfCJ2A4s19FzNaRn3U4yka3y?= =?us-ascii?Q?cpAarV5WSdQAGV2UeQHuBh2T4aW1L7USTfnCiEBjyjawhiSbI/MPAtqghssr?= =?us-ascii?Q?S2+aCyvIgqJ9H31eLLsEQinttSCXdtPFLXC9gvkDlyk7Y6hx1Yqo0jQr3Pdr?= =?us-ascii?Q?2pLUd/XkvAQlKmP7QRVk7+tK73P2QI72WOCUJvzxoWGeXxpMx/g7OqryYoa6?= =?us-ascii?Q?jnLsUI+JG37CPibr49lTa22PtrotKrwf19eQ8DIMf+7TPQHj9QELy0OQhSXv?= =?us-ascii?Q?H+DFUgoppIx3e51Ps3LZvCRKwW+/u1CWvPksq2N7eQIQpXvT8qsqAkd9xCqC?= =?us-ascii?Q?riHzCbxdq2oAZ3EhDuRBeK2UdsbBtzWucgQ0uYZ/1DZCW/HL0TUfpvLA4/6x?= =?us-ascii?Q?8bBFx32vK1AArc7wXiTchKfxktS1Xz+0wE9aHYFNkixLp1JrT95+4M9yTp67?= =?us-ascii?Q?ZvdkmJALSOFbfWXnnmZczKKKc23sjszSp17h/IB5PbAgIATfajnqPbAP+sUN?= =?us-ascii?Q?FPLgQhW38j29l8uExyGNAC4Y5/hm3zUBJPz3dNmvz81UYqv957++c/Lpx1ie?= =?us-ascii?Q?G03rHz2pDYi7TE8kGIRrvbsuw0MgXUL/JKbA/cNUNt7tTPhki1XZzaZXCC3q?= =?us-ascii?Q?zvcfX8w/ZPDxbXN91wDT41EmVSgifiRil96O8SyWlNmV?= 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)(376014)(7416014)(52116014)(366016)(19092799006)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lvR/0UgqqEo8cSRPk3IYCNGS7ijvCO2kDQnoAQNWo+Zs0ih0aXZU4BsgjEPE?= =?us-ascii?Q?9OuAD5TT+DJvuR/1rYZbZDKU4WS8RM6Cq8CDBYQG/zg1K3BMJCDll7TJFdMH?= =?us-ascii?Q?u/n0K0kwcGBqBeqpSc6rbWwDC/flgfkHNqG1z8t05XOKK9+qIgU9DZBUeo5u?= =?us-ascii?Q?DWu2ydaFlGvdneJrCE/J/0CQgOY2OgM+plCkW4XKfVmi4M0aWQMSvm7Y5CSj?= =?us-ascii?Q?OXHFhm5U+sTC0/pYiz3WvbwrwT3IOBSc9q1JJAwctCUB5iB/IMF0Yqdrbo2s?= =?us-ascii?Q?SlZmPzYwlgRlvyc2uvXG3sROxFuYXyByi8LmTa16oe39fgT7sLblRTJ7dKx8?= =?us-ascii?Q?qSP/pqzYEC6imzbEpUoh3MC8N3i+9CrPiQyeA+8SOgW0ZWvjsyQDrHO++dD4?= =?us-ascii?Q?wH1/C37xJjHIqEp7pA6d+o1XPen02jtIUle7BaEhCxSiKYSWf8gxke0N6nqw?= =?us-ascii?Q?Zo9f/D4gF6ebLGvE5Ub7rZPLia/kXS2c579UHdX2awywbdtXS9ianxl8rCCY?= =?us-ascii?Q?ZEEqYUyKSuz6GxGeJLAo+NdSDuIQmxMYg9MmCJ8OyM7gJt+bXvBdRfanpCnH?= =?us-ascii?Q?Pzy8MCwWUecRIMkkpfTiJUew3rE0bh5y/1bFwviJBovUGaUP7doUTXFcxyEX?= =?us-ascii?Q?ter/LPqbWj4MMA7edbZ81R7BLy16L9CnLmabOSja3/B8Y4goAp8hny+2aERR?= =?us-ascii?Q?ENjRYSnACnhpZr1XU4nuduTJdH5bx4Jamqi7yuqoRUmM/RrbwQQTej/y/gnE?= =?us-ascii?Q?LBfMwq92U/+ojuRRkL7RKNwH8y3zIZ2Ft2zTTtOeGUqF1JePEdd/uWpUUi6x?= =?us-ascii?Q?qMPh+acNz46U2RsOcWQRWKeSdFqSeMZqkB50DNHaMZp+YBoKurP7bi1ycPZw?= =?us-ascii?Q?XQzag7qQlV9OpDkJn2GAHbue+mgtWZYLCvw9yQqVXykCuhgDykYp7SBRd/Uc?= =?us-ascii?Q?nvOBJ8iJRELFFmGgiaBYXMMpS7Xq4ndsgpWq5nrZ6sM4Ev+pXFBxzOdVkNb8?= =?us-ascii?Q?6vkDfXWW1ZCow17PCFx+1vwRvZIkxJqxrQWK0P81Ufy7nc5Wuzo86c+ff3V6?= =?us-ascii?Q?olmPQV9GHYDtwf8Yjjk0phn4TA0o866kEjeQEVHwYZFVEFFovCiK6YqSwQiR?= =?us-ascii?Q?l7C06ldiR6hL/r1B/YeMir4i2/SS2v4vjubUVNHD9bIrQlNawsglkRZxeSrE?= =?us-ascii?Q?zzVesaGnMi9kC7T7d3nZKa4dFXzoKHUlcdHDaJXmZN9BAhA2++Il2VC5V2S0?= =?us-ascii?Q?x2j9DIYknDJjlKBsGe9I7uDdsVtrdUwhI2bdQHDpDpj0n8nnpDuvIL1yxQtK?= =?us-ascii?Q?GDYIk4tI8nvjm9JGjdb5vQcLTRIJtrM6iJTpUxeTZA+FbLFT/+y+1UoNCbst?= =?us-ascii?Q?PXzD0HyKqZgM22u/EK+KzVPuZ1LkWixQpHJYC4kSoyRSQLc915rAqTVYPc4f?= =?us-ascii?Q?Fi+M8Ow7gjA7wT4K16lTocJ6bROQass2e15yswb5p5ZArWf7iHsvJt97nZkG?= =?us-ascii?Q?/DtssgX7leTgS5Pmkt07S82yR4+v5GZuTjfQAsGM33p1V7CggnmmJXEtGIYH?= =?us-ascii?Q?uYSW+MvpWUqSOuZdlpigLrigEjZnTUMdAIjxbACi1cqXlLgMxG6tkwkNu4C6?= =?us-ascii?Q?wGsV2M/8UYRTiC7I24/JfEJVDsKItFUl5slEC3YiXlf0DIFd/aR3P7RwT5xp?= =?us-ascii?Q?h5ikfMAO27iW2ABoQDvSRVWj2HhIyYRYMgtJwOOFUMRFFsts58BfH1i3fa47?= =?us-ascii?Q?m7pDlcuGOQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e64b8550-6a8d-404e-a79b-08de5fc29ec1 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB7044.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2026 05:44:22.8043 (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: kcwx/earwrt1lDylmzzONPRbg5tmzPCYFnt1Lj93X0rSlkPkZLU2rm1Y9Ak2aGT/m/Do72+Lpv0Nx/ner0U/kg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8174 Content-Type: text/plain; charset="utf-8" The dma-coherent property is used to indicate a device is capable of coherent DMA operations. On i.MX952, one of EDMA devices support such feature, in order to support the EDMA device, the memory needs to be allocated from the DMA device. The code change here is to make this driver compatible for non dma-coherent and dma-coherent dma devices. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_asrc_dma.c | 48 ++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/sound/soc/fsl/fsl_asrc_dma.c b/sound/soc/fsl/fsl_asrc_dma.c index 7dacc06b2f02..348b0aabfa68 100644 --- a/sound/soc/fsl/fsl_asrc_dma.c +++ b/sound/soc/fsl/fsl_asrc_dma.c @@ -449,18 +449,52 @@ fsl_asrc_dma_pcm_pointer(struct snd_soc_component *co= mponent, static int fsl_asrc_dma_pcm_new(struct snd_soc_component *component, struct snd_soc_pcm_runtime *rtd) { - struct snd_card *card =3D rtd->card->snd_card; + struct device *dev =3D component->dev; + struct fsl_asrc *asrc =3D dev_get_drvdata(dev); + struct fsl_asrc_pair *pair; struct snd_pcm *pcm =3D rtd->pcm; + struct dma_chan *chan; int ret; =20 - ret =3D dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); - if (ret) { - dev_err(card->dev, "failed to set DMA mask\n"); - return ret; + pair =3D kzalloc(size_add(sizeof(*pair), asrc->pair_priv_size), GFP_KERNE= L); + if (!pair) + return -ENOMEM; + + pair->asrc =3D asrc; + pair->private =3D (void *)pair + sizeof(struct fsl_asrc_pair); + + /* Request a pair, which will be released later. + * Request pair function needs channel num as input, for this + * pair, we just request "1" channel temporarily. + */ + ret =3D asrc->request_pair(1, pair); + if (ret < 0) { + dev_err(dev, "failed to request asrc pair\n"); + goto req_pair_err; + } + + /* Request a dma channel, which will be released later. */ + chan =3D asrc->get_dma_channel(pair, IN); + if (!chan) { + dev_err(dev, "failed to get dma channel\n"); + ret =3D -EINVAL; + goto dma_chan_err; } =20 - return snd_pcm_set_fixed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, - card->dev, FSL_ASRC_DMABUF_SIZE); + ret =3D snd_pcm_set_fixed_buffer_all(pcm, + SNDRV_DMA_TYPE_DEV, + chan->device->dev, + FSL_ASRC_DMABUF_SIZE); + + dma_release_channel(chan); + +dma_chan_err: + asrc->release_pair(pair); + +req_pair_err: + kfree(pair); + + return ret; } =20 struct snd_soc_component_driver fsl_asrc_component =3D { --=20 2.34.1