From patchwork Tue Feb 4 01:41:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13958508 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011033.outbound.protection.outlook.com [40.107.74.33]) (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 406BA537E5 for ; Tue, 4 Feb 2025 01:41:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633290; cv=fail; b=sIkIhIUhz/dl0Kh0idra/MTh7czFCssUF15qAaxDrHwK5Y/Fd+bgsTawrwOMMr6eaxh2obtjA3r/4KFxQpkX8V5Kxi6xGErogNFAOgj/9GHHEeVsGJ7SBdYYDjudiPgyjIzjQJzPgehlZwTeCUG16oZsISBlK/oXKplbNxNDX9w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633290; c=relaxed/simple; bh=aaqCqIfYeNPPqOnu9O5pQMuVFWEN5FGAEi9ZlTq5UEU=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=DS4QplahCNG8KmI0bxYSfY/z+RRDEcLBMTRqeF4DR1CBnCQVywQVZuFN6te+OZaoSDZ9nO3WmRnsb8C6bHY2WyDC9R5+FhdeXN5Awqkf7omHgthB9VTd6Rfnaw+J+ttxt8T1Gy4RKRQuqdEFSmVjPr8CbNF91NDKRi0VMyI836U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=VEErfErO; arc=fail smtp.client-ip=40.107.74.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="VEErfErO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gXLim3cr2KxH6MZ2HKejC0KedaOMsayuWUCzFKT4RTaCjlvllc9LZlPLq63fl/lvSRUsqJ0EvXP2mWDiZ+oZsS1dcbnEkaf1he/ibSOBV7MbWnVlL6ITfG67sZt7O5/AIqu629tMpathUHV/mabHCNJNXy9D1FNHWlQbTb23+noqhUWnUWoYFgedC6S7XCyR2Ddeqq7nfkhCzfPsLCbxlOS3fEOciNdgYi1iVhB9YeTH9MCTmFt5dWqp2XSepb2QUMH2fGKKZhuIGf+CqFXo+qqwi/9Rp2Nmix8gWVgJvdR/SUtMNiGyrGph78/h3hrsC+DmqsEVKVNFhSuTaq1/lw== 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=X0CUBwxBj+DcbTh7BSBcG7lnqeGSxmW3GpFgcR3plmo=; b=Z8x3yr0pz5BEinno94Cf5x8Ky+9Q36YZz7jAZ9+TWZ03bbQv98np7hS8IX8Cjvj0xnBjoNaL6swPPNLfj45qfO1M0MKcP0gU8vVyYb4cN/lFnvPqdA5Mh+g8xxaGkKTrYVAUuRTZ4zW6dNhx0t5XmjudAUCZB+q54FAIkgtnHRiDl94wZmR3SelxN0MW1Rxwv9bQZQdiXGE4lXDbCzb+PeKYkt8w4tMRhw7l6o5pDsNH+tkkbdtx3+PlIqYou4HhYq82QGM+UlwezbQUqtcTcMexDjaZXvxWdUkxFT8DVbIYkdJxEcA/JY8Q6hZS6kW0MiYpYpQwBfUXdBxkqPM2vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X0CUBwxBj+DcbTh7BSBcG7lnqeGSxmW3GpFgcR3plmo=; b=VEErfErOkmDjmFXxisKtyzM+G6szhWgLEbBodWTv+B+bkgxxi72su09Jk5A6AZXMFWFGyLM9eNpaxmDyt+O8lMdnyZFbfLvaRdydBDLQ0JwAumFxDYgM9ek8b2sBh2X5wM5WszVx8Uh/WYwogUAVgoYy0zTusoS2RbVZeG6m7Gs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TY4PR01MB13000.jpnprd01.prod.outlook.com (2603:1096:405:1dd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Tue, 4 Feb 2025 01:41:25 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8398.025; Tue, 4 Feb 2025 01:41:25 +0000 Message-ID: <87msf232rg.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 1/3] ASoC: rsnd: indicate unsupported clock rate User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org, Yoshihiro Shimoda In-Reply-To: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> References: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 4 Feb 2025 01:41:24 +0000 X-ClientProxiedBy: TYWPR01CA0017.jpnprd01.prod.outlook.com (2603:1096:400:a9::22) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TY4PR01MB13000:EE_ X-MS-Office365-Filtering-Correlation-Id: feac80a3-08f4-43e2-f13e-08dd44bd08a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: WKYNKSzV8oPDXyrRPSCqK+525sITGYTUw2TYA/K3tkgAsdK56jrqbdcRnfNuPonQpFQKXsO6D2H1KKl5wnfTsu8VRr0FLgb6bLp68QP8/ONUNKroe73AIMw1q659JNdZbyBTJG0HvLhx9P1xEWAUyMbXNX5Gl7wuzE/MLyfwQwlQXj6QCEFrDcm4Z1XDjg3NP6g/nVzjtfGuknCWmlLdIjp/9QFDF86XBu+msX987vBWDKHD0/qObX1Bx4T2Lo9DrNow26DAlkEyOV+nnTJ3oig13wmgZ6dWmpgrctuZNkxflhxyIyNIDA7QbOyB628h/jSwUeHEugBG8wrnuw9VvMHXdIO4Kruv+8HZ/CEKh+XcZu3ta4nZUxG2uYsOLQ+3YsgXhZeT4JNaBDYmwcaHEPqPQvMACf/qKc4xTDvnfqZsiETKmu5aa3/kzQMo85g6rqQrpUHId3wxW8eFAewya58xcIZFXIILysUMCsbRgPWmyWOvrpVR+Y+r2dnAgRoWH1iDm3CNCLaQzqg3LT1EwgZM0u+uqcp8opwGIE0HLwY9kaMYlNTb4P+ixXT0FiovrDV5EUx4xDGBsuxI+osRt6xphmbw7JpOEL3jfME0euyt/VjN+DqQl+RDWlNxxkYe19bLSHvaXr1XteRCGokq3zPDNLZfyB/OD3G0A4QAwWTd46/kGJO9e4QTqWHFAbz712CTOoqxjk2BTTx46MmAdG0Dkkt4H4ZsW2wzcgSV1Bu2XiStMR4RpJCdeJTgwg/GTRXovswT/S6swFuoAs94wJ6bXSyEJF70RxtSQU4SV+sB89agBcOa25sMMxY08ZvlgermNA12fQaEEYaxBQN24Yfw3s1oxq3xxLvu2XYYBOuqvUquC5PGeCl+Yn5J/A/YaonRrYDPgA8bB2eUn43BdtyipbT6BIJTJhNGXAODO+viEgoYz/kQB9z2MJoOq4MPSKgg9r6bXMuu+qFmPNvDqrroPZdqVk6cU5ztdeWiyeiF9kek7CfTBuEqltY345BVc9it2PpnODlRvgYmre6wtiTXwouBLQc/oLy60WkHyVnoks5VmruQvuiycMWuuO4o6ADyVLDc4dVgBbG5PuZpo0F8GgEZLo8fL05tcXpN1KkM8Lq0PXKCqewTGjQxGjAs4FTBhnCrIH6z8l66jyczEpbdhyjcB9+FQdGoUV7tN/HALr8lEvye03Cis1XgZFHK9ErwtVxBl+pVkc0v2J+Q6KZwoSQTNnuKTrVhZoOZ00Of7aebX/7w11JpkuICF+nGlSEsuqTCpQGyL9GTh/wy0GcyehBGELbivvwRBVFoAfYyg6F3Ztu4F3QeH0aBuexncp2q/kCrt+wgIWTuJobtWvbCw6WzruagL15Jlp0EOfIa1tY+Ibt0kYWSDtcvwovqymHqm6T7A+lLcG8MkImIligjONWmu8/s2UeuW5ske+WjDZDyAPq9Wguc3Cf/Elke X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xrL8KVfdqh3BC7HkxeXL4mHPxK/dA8GDsOPj2tRjb/JPyQ51B1/X4/AMj+FjeSipAfGOeN7OvKtmMVZarv+Q8PLN3XgooDJrgesdQXEckzpGg7iIo7Wq8DmXMaV4sK17S+i7oMQzkFjJwz5H722oSz8oUMfDnAARfN34QbS0VafuH8Hw5YkHZrtJcr+okm6OC8KhYSL8NMcitPyXFzlk3f3rPx0zALSUru1m5u+4HbFG2fz7g9X6QG/gKmh1uEgDAhoCBMjnWbGwXmMfii+GWKDViKktO3RBKzY0Jm4RrhueH7Ui9I+6+J1DJvD9UpWrqpQYLGo7De/y2Dc8QJrSIDf/RmeRqbNoGZTi1E59nDihpN3Btrr7N9kdJ5Jpmo1SMQMJCaMAo6JvljKdOtUEsEoJBqx0DGGvmIlqWevKvL0EWzzESojVBgPnMMA2BP0P8U1uXiAndYypWYXYkROooAWMwxKTZp7KVtWsran5LNnJFo41XDiUONBtK/3ZXTmRQ7JxEASL0A8n6tkXlxn2bnYanBSXOCp6qQ1s2Jvz1552DD1dh7GK//DeBN5DbPkjXfQnF+K4ZVU3ye4ENXPp+6f805HGW2ScZNh4dKCXszp2eNLoFQNznnDwl2yrinoTcao6LWOUB9K8Ze/QHUUWkvo9KFj7rEe/efEoiNENrTqhUMdiBTOTvdYsj1mcm2Wn2zK790gnjozwASutaHAVea41XAn19Tw4PpPNjm3QPMsaQd3ER4lPq2fMuFt0ufxu8w0F/3E9r2xWwOH9DUc+uoVjwxJQIDsbzMFtCBEFxIbt4UgC719Nzh1K0J98edP2RWsu9x0llx107kyuwteA/9AE9KVv06Zen8aDCWjsmzlxksI8Dcef71dcolRcTbL5Lz9VmY4NmyOzTtAnGOmMDsZ0rCoDrW7Ew9uUigrU/V6qmR+gHBggkEHMb/SW7bhCXsOtHZCwThjC0olmTuZQfcgbFnSDrfOeza5zrJbAd9sKJjRR2H2kHS+vr6VpIBYKAMSkedRV9qu75S0qfkthlrw4A9+ASZmxOYInWjlpaOiQ4xz+z6tvXaJ7AusrabU/Eo0SjyEOzVhp+6UUA+jXnwl6QU1Pbrdb+NE3+R3LqxlA12UW46AZpUhEWX9fWceabC+jSO22AzDuwHec3u0r74IvxH4+eWLmuM/Gk8ON2QO51uGO95ndOENCkoYRJxedElqvXkWObUFmKC4dWdp4BFiOiGuh/ZQHgrvbYOVmXseoC44dMCPYFY0hwLxjKLx93LlEoe2SpRS37EYr98zIjoBL0xRuVkl2NL9gdyun+xYhyZ9cQPtneJH6tD4O+RVwA8ZkDnPTsw/vLfZqnow+SDIa0pJMgA/nJh4EfvIIdhoo8lBeGnz0mMbmvuqd1L7QHWW2yDU8FPBpnk6tMjon32F6MLuWF/i39MfrvYfiLFUvi2uqB1W/rMwyDNjdH0hmu1Ies8C8EBbRKyU7l0Pq151hyfwdCzlduEllhj6M+G2XLoXRpNV/8wy+SvsuV71IZV2tet0qm8Adv4cIhlBpvRoDckNg+mCANhKdvgR5kOzhArxxv/oPNPfqeW//8vHiZ/mujeekLitmD1B2Rl3rg1/04I3vQ+KNgakU6EIW/SQ= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: feac80a3-08f4-43e2-f13e-08dd44bd08a2 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 01:41:25.7237 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X3BRS4YWSKF9tm8zISTHb7Q7EGPLBTLOhvYjpAbiNAHHcQoFQe1yYKmFl8INt4D+SQA4gafCzGFVjIps6/KLwriCI3A5BqeupLCmXNMFe2GoPO6iuDgkK5phW/cQ2J5+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4PR01MB13000 It will indicate "unsupported clock rate" when setup clock failed. But it is unclear what kind of rate was failed. Indicate it. Signed-off-by: Kuninori Morimoto Reviewed-by: Yoshihiro Shimoda --- sound/soc/renesas/rcar/ssi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/renesas/rcar/ssi.c b/sound/soc/renesas/rcar/ssi.c index b3d4e8ae07eff..0c6424a1fcac0 100644 --- a/sound/soc/renesas/rcar/ssi.c +++ b/sound/soc/renesas/rcar/ssi.c @@ -336,7 +336,8 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, return 0; rate_err: - dev_err(dev, "unsupported clock rate\n"); + dev_err(dev, "unsupported clock rate (%d)\n", rate); + return ret; } From patchwork Tue Feb 4 01:41:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13958509 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010033.outbound.protection.outlook.com [52.101.228.33]) (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 0BB4B537E5 for ; Tue, 4 Feb 2025 01:41:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633296; cv=fail; b=MQfyDCR++J6sJdGdN0yNnBe7+S1/K57yQ81X6YMKadlATnlqnFJJcpuxS5Fo1t+UEpCpocD1ObAG2lotlVQV5To84wvkAWBevGqbpFnCU9Mab/FM/XFOOOPko0NQCwtwiasx1VOcWVN+uVCB+DSdg5Jxxzyy5jCb5rX24MlloV0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633296; c=relaxed/simple; bh=2cotxvhrDGU59wLd5RzMiIP0j3mmCieYAnaYNPFz52c=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=l/H0hL/SnPePGQEZVHoN8SFDwGkDmLHUlZtsqaummsA2wtYH1mjJA6GJgJEzozaB3WexxNSb9iMbyJMGQ0xIh1JGswLsRq6c5HhaWqUU3CN4b8OnvsWbgM/8YdIqomG7vgFZHHvThu0DHP+zcPdYIgTAIMAF5AVP9dPnxJNzxms= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=PS45BEe6; arc=fail smtp.client-ip=52.101.228.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="PS45BEe6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y0kLVjPrbFntrB9n73h5yBv8OAqXVyxxHMeV7isSFC9UV4Y2oyyWXgBbzfjqpqvh8MivJsVfjKe3/7qVlzkyM7+BDeJ99eFO5GS5moeMsb9/MZaPKPctG2uQQzz3/4FYJjUvgBm7l+MMqUPtBrXy1JOqJkEZSNEGe0UkqU9pEhaUSniZS/+g8pW7WdSEJWM9u2hsynF+S6FsLWm/3CEhWVk8iq+w6LI69+b5T4nv+nNSLNwEaKG7yhIb8T7mTQb3kpIQRlIoQNNIhRaiKcTpPjXIuR4pehwCrbjF1bai2CCMsEYjb9Nk/lZgrRPDx0v/58gfm/90cOU34Sq+/BwXWQ== 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=fnHVmqlEaxxQlh2AaFNjrp/bZwiq6CSOzFmNApGU+xU=; b=ARHuUTtbm0KrdpkkOd7Q5Al9kE+wwWEAW6y+Z2P851t7QWVLsfWp/nDuZF3FUBXO4SunppoCmmGR9tlyObWn+PUKg2f2sIAzQUyOMXB0S8XzuJDZL+VJXiDg7OqO1VyLYjqEnomm68gouMArYMevDk1bDkcJ62mnO7jQKnaILGKJ/ex8UY+oMeJ2GiYi5ldkycIN5CMslLa3e39d30Rb+5C1VHwC46CbySXvG4R0ror0nZauCxQB0jxEJEqTCjab4ei/t/8y7xCn70qzr/NhG5NhSTYfmCejj/3jNO8p8ZaVuzyVxOEaMUXVHSNlOCoauGNU6p3GImmVYzrA/29r2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fnHVmqlEaxxQlh2AaFNjrp/bZwiq6CSOzFmNApGU+xU=; b=PS45BEe6lYsa67Iv6R6U2XyD+ucHMqY33zIQLw4F8r8o7dS5H+bhvwS9BUxq6tsjse7bcOQDnwaUZboSGseqTx7NrdvmM0AID179xaVwqH4MIsEw1Q8e27w36WEBlbjZh1mK7kHba5YbE+IkHUUwJrToDViB4eAR0XSr7QBiFDQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TY4PR01MB13000.jpnprd01.prod.outlook.com (2603:1096:405:1dd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Tue, 4 Feb 2025 01:41:31 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8398.025; Tue, 4 Feb 2025 01:41:31 +0000 Message-ID: <87ldum32r9.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 2/3] ASoC: rsnd: don't indicate warning on rsnd_kctrl_accept_runtime() User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org, Yoshihiro Shimoda In-Reply-To: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> References: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 4 Feb 2025 01:41:31 +0000 X-ClientProxiedBy: TYWPR01CA0013.jpnprd01.prod.outlook.com (2603:1096:400:a9::18) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TY4PR01MB13000:EE_ X-MS-Office365-Filtering-Correlation-Id: 45ae11dc-23a2-4d79-9305-08dd44bd0cdd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: sTj4RpZKAgpg1BSs/DipIgjcfS3dA6Cw3xwECtct5zkJ/uqlR+QbZI4nos8AfK2y1NW4HpxW0t6w/3sRftUZv59L99shG9mhHDbKCzS8D2IWIU/4+MFhJMFZEz7iSVJ82KPm1w2LOfICh8W4bETh/8JhbSgJV8QjHDIUrNCIeG8ZalIuOELLTiDnIUGl5W2rlRfQBn3a42QzUMNsl5LT+OhPmq38GPAvw5AjU9WP2Id7GdJzWAWqUbtI3wl2RWPkFmaQl7US84FqcST5J6GVVgHh26ogF5dqcO8P7LPtc/RA4HO2IRIVGIDYgT/dLR+deJh2JRtcbbXeAPfl8g0KB9S1RarrOnn3zj8ZvKl4yCWWcTefNxG9qM75oE+TEM0qKvqPTadod+kh0mO7yqSslbtNuHQMTu9VUhOmeDUtoI7CFDl49xYRLVgs/XewohlUTJrTez6Fqn7NpHKGFqBM7WLp4cRE3Cwx2A6rhq0YVB7TLrDFiA9OmCkbLyczYQ6SCPQ3I5oiAK++4QPcQEwKvdWkc2bI347QSHUHqC5R9yAdLIcmJfZ8b88jQsKnIx6XfkM22dmm9SA7FmSjkTKcvx88E/GJ6MBZNsUys41Px1t/L98RhLOpJt5MHh341R0hDJPkUQEnUyWFwrj2N1c0zanj9++su9NRcCGxJymfkp87ATGH0fyn4ICFD9BhCQFTJuai+nspcxkCr5PQtrnabZ1LcD/hThkbZYJ/PbKv3Frmq53YTVeHTOqlkQxOfuQKz+yMDRir7kI5w9lRs1m+60FgX4bCmjTefrU6QaZp1swdEGIUHOgzEeMJjlKcEHN+0KGXJSVaLBrZ1eNoKNwtEcWU30ILMFUNdnBpcZpqzRXT7pZKfpKSr9sqfFKaN/txJeN4cjJVw24c2W5PwmtIfWSLbIRanCjqT06oH0npBg8x/ejsNrToozmxb4t72r13lEr5zJt7CU6qMQy1Kn+hZb/YdOjQH8KLf5YuiyoqvKrMWiDH5IFIRM1EB9C22TC0/1sSpr2TXrLs7LCRujIONmQsxIpGAR3sSKRwL/DkU+iCCl1cTIKMr69+7mz6MmgWgT9jzqM0l7ym+l5KWc636bADjq7GVZw4JeRbI2iOp3w1u8zD2CdvvxdJEaB7YhJH9RCTdE3jOr/6A/R9f1t3unWsUOU/v6Ys2uGqBWFEhS/tYuOpzzVqNgF9ertSlB6jUZwkEbza77oppDnGGWUh/c5aZGMw28XdqLcTlx34ef56v9r9Z3hxYCVkXOiKXZIgWafTR1xCYc7G2It+lMnh92oCIQcCz98lSfPHvnrjPrYrDrwf0+rxIU5ebusL3n1/n1cTh+XMyTfAGUiSLriPUMFOEZmouiSQ0Mz9RkjqNTmoOtRc0OvdYa7/YdAORjoko7Pa+SDzVrso9Q+/kw5EtH27n7twr09rh9GZs9qzxlZwf63C9glMUxmpRjzoE1IA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /x8IX4kKqYFJaYrGcRKzkTiZHf7YZ56lrKwFcBCH8raeCSp2cJMT70QkumEcllDq4vl7eR7Lq/KU43PXltVlPYZlrnXO2hGpLi8UvxT0cOjQkZ9sqn1yHcjy9ngorZDjyfUt8InUgiBtjuc2w53BeiKuTKk4w04xWjzxWVI7JwxDNToAsICtLkx71fqSlrG3ZEb+p29Uhx91+SwHac55mIz+aLAO39zt/6ERCgbTWtZROKkG4nScQs6oyFvqiIohbiA9xzqvmuUGOJwQCKdqt6yUSqbVrTeNXnjwuvtmlnQ6jQKdFRy3X7RFxnRuBvIFoMxh9MP4+C7j2HkfpXt1IIKrRSJFZCr2e9d2Tc3M77LD7uRPeBB1O4981sbpbxhZ2ESMLUCbyn1IG5vTcrd5ZXd5vNmVNA+Yb3+5GET2jCmzitqufIk/EYuOLEIAXjKxE32PjNltSmTby4/UHbbwSkisiLNqBSkZ4Po/56zAXT793MGfe2eBI6C/58VvR/qlHU7ix9GUIxorAO2nXcZDoaRdNc8ReGCht+R5calBWCFJRCsDb6KZi6ViSTFPkHpVHnMvGoDt43D71xN5B1ZjTvJS/YV+wv9lkUKltoYNLHiLTcxLpaejfXMqxlmmjkJC+QTUKl/vRgqVBYDS+SlU03Bbn4QIOgIYjXCod6pEXl2rqJWMQ9mP9o1o8O+WcURybdKQ1cKXNC7Gkju2K+gujlE59hIXY+ozblj9rxBYwlmmFywd1lqAz3Y835jTuw9PPKqijBJm+3WE5TUU8RhG5IXkriMYwR7s1mxvWgdEEYb/j2IyMAAgLkzTLTjZKngLQcrv66j/do+8tXVeVnqryJCSxG7SwklrbrRrUetqJJZleRreelYS8fCiv3ekGETdT8vG4hHUpY0xIL4TonG+YC3Do47QzPisj92zCMdNCSqhRKAjqpDTms4s4SCTZOfia3lSOGsgE1nKNg6n783ZMD6YaX05WeBZVPEAgXiJB4Z4tBIoaRY87P4DBFzmUImmS3KjBN33r/MyijpaUOC75E19PHmVMX80tkT1q+mni075RI6ishJ2pFkcD8NSYByC7uqGWq+rRxEi0AGDl99RHm5C5kB7SyFie05AAK+2L5PGKpzSqyXMj6dWx/WOx2xe14LCzGiQWY4xkObfVpTfsVqK04iJOBnZT52UjVrGfKAaGbnt6e4VNpri3sJrLqRH3ZqkB8STBJNJ86GXr6vNHU5SmadkXkPVDtrRR9wdG9GUcbIC/cH7tNrhsND8n66qadmAjtqCx5FrLbcEh1AKvQWYdGB9oi1/HScxTiK+kQTpCSZdUyi0Hzapzf4hqVeBPWOeFJ2EF/QPQbTwLPw4aly0lDxpnDV3FRzzF+sVk56R0YdVPrGrPfInHCv+nzsbnjsb+cauSwJ5pfeh4nG5bLFrxF0YM5cwbnPR5TB7YbivALFyZ4TKo0RqebDSRvD+5Nexy+XbjKuf5AMYyP6Yq41nxo7EEsJYqru+TYDvWCZv1i7FJ4colF3EIGGtahkHq0kVfsMQHljlmRlGdYQ9Hd6CXmL7+qthN9rii/vzrHe0O0IFmCh+iZvdQ3MOmBq0ygcf86TnSiGdP/c/lOhGENjTw/EhqAmuSRDlVP1417c= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45ae11dc-23a2-4d79-9305-08dd44bd0cdd X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 01:41:31.2899 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vLzJPQ1K26X7JRSrCrAJnhNuB0ui3KQGrP728B/0tqrGmBRpd0l2Py11Ahu7ycH/SkZgp26LzjcQ6tbaBMyrr3MYcnA+X1mzwB3v5aIq7TRX2XSAIKaXFihKQjAy1FL7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4PR01MB13000 rsnd_kctrl_accept_runtime() (1) is used for runtime convert rate (= Synchronous SRC Mode). Now, rsnd driver has 2 kctrls for it (A): "SRC Out Rate Switch" (B): "SRC Out Rate" // it calls (1) (A): can be called anytime (B): can be called only runtime, and will indicate warning if it was used at non-runtime. To use runtime convert rate (= Synchronous SRC Mode), user might uses command in below order. (X): > amixer set "SRC Out Rate" on > aplay xxx.wav & (Y): > amixer set "SRC Out Rate" 48010 // convert rate to 48010Hz (Y): calls B (X): calls both A and B. In this case, when user calls (X), it calls both (A) and (B), but it is not yet start running. So, (B) will indicate warning. This warning was added by commit b5c088689847 ("ASoC: rsnd: add warning message to rsnd_kctrl_accept_runtime()"), but the message sounds like the operation was not correct. Let's update warning message. The message is very SRC specific, implement it in src.c Signed-off-by: Kuninori Morimoto --- sound/soc/renesas/rcar/core.c | 14 -------------- sound/soc/renesas/rcar/rsnd.h | 1 - sound/soc/renesas/rcar/src.c | 18 +++++++++++++++++- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/sound/soc/renesas/rcar/core.c b/sound/soc/renesas/rcar/core.c index d3709fd0409e4..f3f0c3f0bb9f5 100644 --- a/sound/soc/renesas/rcar/core.c +++ b/sound/soc/renesas/rcar/core.c @@ -1770,20 +1770,6 @@ int rsnd_kctrl_accept_anytime(struct rsnd_dai_stream *io) return 1; } -int rsnd_kctrl_accept_runtime(struct rsnd_dai_stream *io) -{ - struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); - struct rsnd_priv *priv = rsnd_io_to_priv(io); - struct device *dev = rsnd_priv_to_dev(priv); - - if (!runtime) { - dev_warn(dev, "Can't update kctrl when idle\n"); - return 0; - } - - return 1; -} - struct rsnd_kctrl_cfg *rsnd_kctrl_init_m(struct rsnd_kctrl_cfg_m *cfg) { cfg->cfg.val = cfg->val; diff --git a/sound/soc/renesas/rcar/rsnd.h b/sound/soc/renesas/rcar/rsnd.h index a5f54b65313c4..04c70690f7a25 100644 --- a/sound/soc/renesas/rcar/rsnd.h +++ b/sound/soc/renesas/rcar/rsnd.h @@ -742,7 +742,6 @@ struct rsnd_kctrl_cfg_s { #define rsnd_kctrl_vals(x) ((x).val) /* = (x).cfg.val[0] */ int rsnd_kctrl_accept_anytime(struct rsnd_dai_stream *io); -int rsnd_kctrl_accept_runtime(struct rsnd_dai_stream *io); struct rsnd_kctrl_cfg *rsnd_kctrl_init_m(struct rsnd_kctrl_cfg_m *cfg); struct rsnd_kctrl_cfg *rsnd_kctrl_init_s(struct rsnd_kctrl_cfg_s *cfg); int rsnd_kctrl_new(struct rsnd_mod *mod, diff --git a/sound/soc/renesas/rcar/src.c b/sound/soc/renesas/rcar/src.c index e7f86db0d94c3..3099180297722 100644 --- a/sound/soc/renesas/rcar/src.c +++ b/sound/soc/renesas/rcar/src.c @@ -531,6 +531,22 @@ static irqreturn_t rsnd_src_interrupt(int irq, void *data) return IRQ_HANDLED; } +static int rsnd_src_kctrl_accept_runtime(struct rsnd_dai_stream *io) +{ + struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); + + if (!runtime) { + struct rsnd_priv *priv = rsnd_io_to_priv(io); + struct device *dev = rsnd_priv_to_dev(priv); + + dev_warn(dev, "\"SRC Out Rate\" can use during running\n"); + + return 0; + } + + return 1; +} + static int rsnd_src_probe_(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) @@ -594,7 +610,7 @@ static int rsnd_src_pcm_new(struct rsnd_mod *mod, rsnd_io_is_play(io) ? "SRC Out Rate" : "SRC In Rate", - rsnd_kctrl_accept_runtime, + rsnd_src_kctrl_accept_runtime, rsnd_src_set_convert_rate, &src->sync, 192000); From patchwork Tue Feb 4 01:41:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13958510 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010033.outbound.protection.outlook.com [52.101.228.33]) (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 79A547DA6D for ; Tue, 4 Feb 2025 01:41:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633298; cv=fail; b=FUPRl58Zfun+DJoFA0L9n5ZggCd8DuDwGqHip51aITUhvlxNHnqCYqCqFCigz35h7OoTybARR+MQp0h1DubiFV9Pyvn2iT3z0GasOQT/SFVrnylvnIKM18RUZf84WEzD2RvPnm/ZCi7D/V2sI8jWAVpB4wTF/7KxX+1VdlOx6Rs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738633298; c=relaxed/simple; bh=iKbYNeCqC/7xGgosvLSdx13YImZBj488Rq30wqHQPdk=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=BOQUhzO39pVjnw6JK2CQSWEDfNuXjNPc6KDeSc9w2yujlABh484K0iRvXcLKbaqUoQjm+8EB0Qld1qjA20EKzys/qhCWEsGlxKMUB0oayPXFZyFhahLxFAY1DMYxecWqT0Fs7S/i/aL6cyCN3+obHpZzRPCzlawsYcQBQg+b7xo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=LeaUopZq; arc=fail smtp.client-ip=52.101.228.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="LeaUopZq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kYZ8QYJ2sNxFSWvmN4qs2eP2X3UEBBs2Q3vj5BL7z5PcVan/lATkoqd6lWKhJ/AgRJpkNWa8dcguIZEgghzAqoj3fLhLRq4X9IXZa0fRuPzvzRGfp5vNlVYq73B/LlYujQEozUTiTZYtXy9tDRrZWJA06FvrF6vuqLUINobDCsDuPTpTV37fwSNpS4q7toUf4tmeTSWIKDHuWDRJVGqqD65cwMT4yxxB2hTxXx1zqp3CqIEWh+Qqt6uC6yV1kyhc/6rP74Z/yDpSm0WcbM8AcK07hKfvSvuPft7wPdneSDWBT8htIYX48Zgu9zhw099g6fcKvBGs4GrDA6g4lUgN4A== 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=9p9VHat92opL7HSoJiPI8h4TrILYWCIqdk6gSz+Ells=; b=mlTCsvYXbsFW7GQPVgd0bs6gSre/8kfiXG53crFMk/v/mQ+CVMnqaOZX9bpkVsi8imrMnHXcZcDFrJQDg3L3ptXkKycsVyBOulpiTCMQGeMN/GyDW/NWBqGj6Umn55LjGeM9rBrEp4j32ta0GrzXpINZJHHUutMO591X55VRYjZhRY5Y6w/i1boBIzsitrzE+Jyih7IFaNK+otjJYQNcEVBYMPfxn2KSvBOe8uit++nlLQ7fh3RFVHstVb/IIXqBcH2G+ZbwT/JNNJOYxbqvkoI9qB50YO13gOQgglDcd0sMVLo2hgzWDQFjmSd8G8ag7BJS5THmG2kHkVb+Ah2aRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9p9VHat92opL7HSoJiPI8h4TrILYWCIqdk6gSz+Ells=; b=LeaUopZqGU/GmtAH5pHJX533KLks4yQoe5KSE53NvBxBXZy0vzztt+ISkdygqg6DM5OMkdUtDZm1nZGgo4NnjDB4LVTMvh4mLzysTYBVPVvZD1HSx10fw4lwoDUu2RbFUIZo7SGsqIA7bye+6CSIrPHeWYhV+bbUO0HPdwlKlWE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TY4PR01MB13000.jpnprd01.prod.outlook.com (2603:1096:405:1dd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Tue, 4 Feb 2025 01:41:35 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.8398.025; Tue, 4 Feb 2025 01:41:35 +0000 Message-ID: <87jza632r4.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 3/3] ASoC: rsnd: adjust convert rate limitation User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org, Yoshihiro Shimoda In-Reply-To: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> References: <87o6zi32ry.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 4 Feb 2025 01:41:35 +0000 X-ClientProxiedBy: TYCP286CA0094.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b4::8) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TY4PR01MB13000:EE_ X-MS-Office365-Filtering-Correlation-Id: 90fc3f06-c732-4a0c-8391-08dd44bd0f7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: 1L/Tx1mkN3h71sIjaDvWJTdqwkGTYmZ8Pwa9mQS/IyNsDeRWx0J4YAIR56ROri+5d0mmSK128B/zgQsJ9uZbdnFIakUBPUp0W8Z1Nf17dvUeLDo7DkGyn6kVTx4dkfXkAIrIGdzmlbuhYQvP/AdWzl0EEFXKTzp7eYwoiyKiLX/xn1zvgcj//+GehF1hSouO8nkWrvDsB5GgFe9TApYSKTM2NwuA83GdTX7NnKba50Q7FAFBfCfopKNxGSpdDnuKKUdN4MylgZxqsHXqcGHp5igPpMw5dv0lfBCFbCSlCL10emFYzrotykDdT6BEgDm8E0X0A+eWnizQ7IfMRcREc1wVMrMAS+TmzdLwZ+g8X5Yh0caqhPuWeE9CJAv7I/YlT/SaniUrtfUD6OBWnq6SM38xxS6Tw1Olxmom3AIEQjIa/xk744BUxGpCF4PTWMNfIoDQK7/7tfh7tOSyqnwyr/LFN34pdMnsepfvSq3h1IXTr7PTVEJc0WySpGhPeN3zsxwZTJd82b7hlO954P//m5rk+pt4/0KndPm9kZHT3toxBjzfOmA8wPymMR+kFotapYQg7LoNYBMJvHh8YwSGUVPPXVBARDxJS21wKJLS2Unh/lt9RdSvJlw5E4nfHv+cbmyBPKbfXsyCwYDvXkVZuFx4hz3YGc/Jxa6qcB+G5VApeskCtZhHgmSmLn3MRSha/u6DiN+62w+0K70pgoNTjEEkgO+/ZJchp+FTqTdSnFNThgtguk37MWjS9wQgMXahbbLK3gtGPa8/JEJMSe/SYyo6RlbTFANjIiq0C6ai2iRce6xrYwF4qAGUDOmH277OWq9uEFf9hA4KzUkFtm/qGclEhaNKJoVgILgoWxMLvzYEd3wYw2uAA/NbHaJxW9moDOAC12F+0fVvJQFl58BF0wa72djcug/mUEI0KM3VRLQU0YBbS3QQ+C1QtQcfREfzbCHakzcN8MQi/ORQbnqYSPshG9RGkjoqekk3/aPi6yruPVDbuc2gCqevEQ/Gt1AuHfQVxlcqJdQC4sMipierb5Z8GgP6+YtGcV+MOqP2n1o7vFkHbshOkkez+AIRDQgXWQ+qTqHe7tKv1QFSuvjPG4pKzIMn+hmhPLDWG2v1SWZpXL9gq7SyUKocDjiOgITfdtEUsojWzjHlNl0qWaUT7onzgnSopOwh2buX6ZgbVA//2DebE42OTFM5YuvR1S7EkTQiPOs66g6/qNDnTPh06pDXpwgXhJDL56GstAz8pXxm+ycNsr1M07F2EGJIlAkQ+BIAaFs1ISXjzAfVW2Gvt9a4Z7b+i4U020CyZAl5MIoEGDzkNSCdNXZ2Hp5dkyBvFFCzyKan3Dp9uehBkEztXl0aR4VwuIYxHpqlwDef37jQuNsH3dCnaPH0UckL9fPCe2etfvMBP4JYnZyjzyHTbqqhizniJl1cuOZiSQu+QKWMHd0zStSjWzRL9Po3UcYl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DypIawNlXoo0GGUJUgjZ3X6YL4HQXtzX2p1J7v5r2Vi677WGxZJNmCFi0XhGGcFdRNWY1z6dIyLXL714UWg+FaqIfI580/Ri7hHdbH3yhV6C7aBKUTNoVNFgbR1hE7cFk8zFHkU4zrxhUEnZk3sOhq7jf55QzAqZcPoKVSKRASGrKuhr8qEWV5lgYWldcAZ4raUSQIu40Sv6Vh6JOZhBa0eOYvLYMBKlS1iZfdWQ0m1kasd5KX1YvMDLXX9f2cN5R9CLpAZEbkI66IlNZEhKQpbxwmMT1XTGQSCkehICFYZS1aoOkPufiZSrF1rwGm0/iRO5uC+oVAkXWgUmz3IjbVC8q53Ju68zZEzCfBI/JIteZtrXsgMCV2vhx6IdvcThtMEtFIqT2Ca6E2vLvejxKFPEKW3dbsng4IYnYJoy/OC/xfzYKcwE4VmMocpPAFykTFR81h9s+re2tG69vx2QhcZgIuf+h+hVWh4oLhiIC3e3tFvAPfylc0wCEnBSvR8CdzF9AmuznbrEaWXy9/EmrxdA++JhOrsPJpJ/iZprxYGDg+oBAuwY/Ln0SHD1Zx0mLW6ft7td5iC4va5BAgiq/+WdJ5UUfxowHInkuAOAtni8ywLA7wulXIkyW73lFknX8xgga7WHL8F+isF+LKba3l0lT17w2eJBeO7qZumMUy7sX+kQl/cRJjpDuWIZBc+fE0bIJE5+xPzD3QiLcK1uI+wyA+U+61kG4K70QHKY8EfKDjrd8rLGM7lBkro04RQ39FtYnTd57B2EtsxmBlfziCxt2ESHWKpa0uD4K/xikVRfEPrub/owRwvsd2ojeRNx2l/LK/V9AmAqp2wZ1PRbGawjR89o8XlbqvifcVu0vZWHRtJfHlc5FmPPBhw75cOeqJca4O9mgi0UlyKKtlrXKRGWF5TZWdG6twvoEUKc4B+oQNWHc99Z5IA1WLostHBg2baJAgu7jjjxzAdKdoiVE1zZhsssGBzsHafZohmVq20jzV/TQ6pjO/n6c4k95S/M5w8YGh8JP+ZEbv0eAkUcjHGbnNfvzZXUgrF1Wjt0sTI7YvXMfKDrJEmTgPcspIWa2M1KVxtQryxvZS/a50XqdTjpOXPevNDeQtRpSDZLELZp5m3dKjxBUCzqe+u8Zj5OAJhVMdTfl5VcwJY9HCBuWud0uKZ21wyblAlw/Wm4OSzb1cUuyq146ARY1M9l5BQMu1RDkncD6dRecFS1ryErPDO4J2bmY13+4XUx78qBRBcKZhW9fjOcBoXhTRrcj8mW8KlYTDHE+LxcvmqIeW+XcVhjl3Y5sE1XQume+b4c3vqyEQc33EUFCgoEfUFMrPYYKhou6Px17haDu+cijXH5GloComnC8pides3ADkod0hHX5sb1lJLz+I9vWVzDXPte94PymAxu+uxR7AfMAEwFsT4qyhbn8+O8fAl0zLTrByeh9vRQV2DMTv8KKurBLt0oUAdt7pe3WCHVk7A3jgsPs3W1vKIHEV7/gttS3wy90S6d4NPDrTofuLMTcac+ErrDQ2qOaRzCrELsMtlHcWRZkffwT/wBgOprB3LFFmnGERNgShHTttvtLA5yoEdQ4BBWYhGfsFVHXadkcTLpB3DSVkUHsKDx+UyYIKnmL7jbCqA= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90fc3f06-c732-4a0c-8391-08dd44bd0f7c X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 01:41:35.6904 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9Wmt4/oMgBFhcs3/nRMS+rvUpHw3+hqLB2adhE1lUcs5QtDeBglXxDpquBRHmmWXBofHLTj8zPq6Xw5tU7ZmQHEmKvHDj+0BSxp0Li77jDoAx5xhCVsG/Sw8DmTbL3cP X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4PR01MB13000 Current rsnd driver supports Synchronous SRC Mode, but HW allow to update rate only within 1% from current rate. Adjust to it. Becially, this feature is used to fine-tune subtle difference that occur during sampling rate conversion in SRC. So, it should be called within 1% margin of rate difference. If there was difference over 1%, it will apply with 1% increments by using loop without indicating error message. Cc: Yoshihiro Shimoda Signed-off-by: Kuninori Morimoto Reviewed-by: Yoshihiro Shimoda Tested-by: Yoshihiro Shimoda --- sound/soc/renesas/rcar/src.c | 98 ++++++++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 22 deletions(-) diff --git a/sound/soc/renesas/rcar/src.c b/sound/soc/renesas/rcar/src.c index 3099180297722..7d73b183bda68 100644 --- a/sound/soc/renesas/rcar/src.c +++ b/sound/soc/renesas/rcar/src.c @@ -35,6 +35,7 @@ struct rsnd_src { struct rsnd_mod *dma; struct rsnd_kctrl_cfg_s sen; /* sync convert enable */ struct rsnd_kctrl_cfg_s sync; /* sync convert */ + u32 current_sync_rate; int irq; }; @@ -100,7 +101,7 @@ static u32 rsnd_src_convert_rate(struct rsnd_dai_stream *io, if (!rsnd_src_sync_is_enabled(mod)) return rsnd_io_converted_rate(io); - convert_rate = src->sync.val; + convert_rate = src->current_sync_rate; if (!convert_rate) convert_rate = rsnd_io_converted_rate(io); @@ -201,13 +202,73 @@ static const u32 chan222222[] = { static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { + struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); struct rsnd_priv *priv = rsnd_mod_to_priv(mod); - struct device *dev = rsnd_priv_to_dev(priv); + struct rsnd_src *src = rsnd_mod_to_src(mod); + u32 fin, fout, new_rate; + int inc, cnt, rate; + u64 base, val; + + if (!runtime) + return; + + if (!rsnd_src_sync_is_enabled(mod)) + return; + + fin = rsnd_src_get_in_rate(priv, io); + fout = rsnd_src_get_out_rate(priv, io); + + new_rate = src->sync.val; + + if (!new_rate) + new_rate = fout; + + /* Do nothing if no diff */ + if (new_rate == src->current_sync_rate) + return; + + /* + * SRCm_IFSVR::INTIFS can change within 1% + * see + * SRCm_IFSVR::INTIFS Note + */ + inc = fout / 100; + cnt = abs(new_rate - fout) / inc; + if (fout > new_rate) + inc *= -1; + + /* + * After start running SRC, we can update only SRC_IFSVR + * for Synchronous Mode + */ + base = (u64)0x0400000 * fin; + rate = fout; + for (int i = 0; i < cnt; i++) { + val = base; + rate += inc; + do_div(val, rate); + + rsnd_mod_write(mod, SRC_IFSVR, val); + } + val = base; + do_div(val, new_rate); + + rsnd_mod_write(mod, SRC_IFSVR, val); + + /* update current_sync_rate */ + src->current_sync_rate = new_rate; +} + +static void rsnd_src_init_convert_rate(struct rsnd_dai_stream *io, + struct rsnd_mod *mod) +{ struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); + struct rsnd_priv *priv = rsnd_mod_to_priv(mod); + struct device *dev = rsnd_priv_to_dev(priv); int is_play = rsnd_io_is_play(io); int use_src = 0; u32 fin, fout; - u32 ifscr, fsrate, adinr; + u32 ifscr, adinr; u32 cr, route; u32 i_busif, o_busif, tmp; const u32 *bsdsr_table; @@ -245,26 +306,15 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io, adinr = rsnd_get_adinr_bit(mod, io) | chan; /* - * SRC_IFSCR / SRC_IFSVR - */ - ifscr = 0; - fsrate = 0; - if (use_src) { - u64 n; - - ifscr = 1; - n = (u64)0x0400000 * fin; - do_div(n, fout); - fsrate = n; - } - - /* + * SRC_IFSCR * SRC_SRCCR / SRC_ROUTE_MODE0 */ + ifscr = 0; cr = 0x00011110; route = 0x0; if (use_src) { route = 0x1; + ifscr = 0x1; if (rsnd_src_sync_is_enabled(mod)) { cr |= 0x1; @@ -335,7 +385,6 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io, rsnd_mod_write(mod, SRC_SRCIR, 1); /* initialize */ rsnd_mod_write(mod, SRC_ADINR, adinr); rsnd_mod_write(mod, SRC_IFSCR, ifscr); - rsnd_mod_write(mod, SRC_IFSVR, fsrate); rsnd_mod_write(mod, SRC_SRCCR, cr); rsnd_mod_write(mod, SRC_BSDSR, bsdsr_table[idx]); rsnd_mod_write(mod, SRC_BSISR, bsisr_table[idx]); @@ -348,6 +397,9 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io, rsnd_adg_set_src_timesel_gen2(mod, io, fin, fout); + /* update SRC_IFSVR */ + rsnd_src_set_convert_rate(io, mod); + return; convert_rate_err: @@ -467,7 +519,8 @@ static int rsnd_src_init(struct rsnd_mod *mod, int ret; /* reset sync convert_rate */ - src->sync.val = 0; + src->sync.val = + src->current_sync_rate = 0; ret = rsnd_mod_power_on(mod); if (ret < 0) @@ -475,7 +528,7 @@ static int rsnd_src_init(struct rsnd_mod *mod, rsnd_src_activation(mod); - rsnd_src_set_convert_rate(io, mod); + rsnd_src_init_convert_rate(io, mod); rsnd_src_status_clear(mod); @@ -493,7 +546,8 @@ static int rsnd_src_quit(struct rsnd_mod *mod, rsnd_mod_power_off(mod); /* reset sync convert_rate */ - src->sync.val = 0; + src->sync.val = + src->current_sync_rate = 0; return 0; } @@ -601,7 +655,7 @@ static int rsnd_src_pcm_new(struct rsnd_mod *mod, "SRC Out Rate Switch" : "SRC In Rate Switch", rsnd_kctrl_accept_anytime, - rsnd_src_set_convert_rate, + rsnd_src_init_convert_rate, &src->sen, 1); if (ret < 0) return ret;