From patchwork Tue Nov 6 05:18:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669639 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DDEB013A4 for ; Tue, 6 Nov 2018 05:19:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CBA2B29D12 for ; Tue, 6 Nov 2018 05:19:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BFBD429D54; Tue, 6 Nov 2018 05:19:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1D95B29D12 for ; Tue, 6 Nov 2018 05:19:07 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id C4818267936; Tue, 6 Nov 2018 06:19:06 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id C9941267936; Tue, 6 Nov 2018 06:19:04 +0100 (CET) Received: from JPN01-TY1-obe.outbound.protection.outlook.com (mail-ty1jpn01on0109.outbound.protection.outlook.com [104.47.93.109]) by alsa0.perex.cz (Postfix) with ESMTP id 384612677E8 for ; Tue, 6 Nov 2018 06:19:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YVVLpC9VxeiSzEqXN00LoCGHYhUCrvkyoEzAUXquf7A=; b=G0vSb2vkFO+nZ3Y/YlxcVkbocS9y43jLaqSXWtI9Xry+Wo3fsZWCjkdwjHxu1rciwf33XCkja5XhJFYYiDy+c7apyIWkDyqWFmQGgoFBHsw1Ols05epTj+yrw1/6f3DDJFPADx17/y3PotRZ9b4Y8GJK1xmSuOwmSLR1XCCit6g= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by TYAPR01MB3326.jpnprd01.prod.outlook.com (2603:1096:404:bb::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Tue, 6 Nov 2018 05:18:58 +0000 Message-ID: <87efbyx043.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:18:58 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0068.apcprd02.prod.outlook.com (2603:1096:404:e2::32) To TYAPR01MB3326.jpnprd01.prod.outlook.com (2603:1096:404:bb::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8fd713c0-53e2-4be2-91a4-08d643a75b27 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TYAPR01MB3326; X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 3:INiGkT5cjigUMl7orsN4z/efp0NMSYxGPZnoqe+woT/z/UqKASzPYPN7bXqa3czVrtMAV3urK55NH+WdxHh2rmUcOw9KPvaqfYSVuFbZSjl4rBGNgX1XmQqI3/pV9sya8TkRNfgsjb5YE65skX9DAT9X2ELxabFaFQWd6FuMwkU8Joj9tNr0T8I2l/+N/WLr/QksmtEqTfUmYHnsSYEBhXOAHOci6LFOC/9cnfkZOcs0FF0/bUDFsDm8hjImj4BY; 25:i8MUju/XtL160leoMuQA3+fMHuTD3+kAlLJ1ms1G+QyfRvjL6v6OXvezL1cSIz50EgPg9XK/r9yEF56r8h3hOlqXlDXvbeVVKwbdSbVIvv4aMddiK8SoeC8KgeCQTZHlAkOKuv/c6HlyIHVYP7oYOYrD8kYx/FqNF6jc/63R6clz+9PRo7/Rg7vqkAKdWK62B8tucXLspMNq++hYsJ9avlhD/oOmITjJLlQgsnPDXjd6T91UDur5GF7NjmNpaE3i+qN4QEWhREYSirkOTMN0tus2WBZCUAIPTIwAwL2G0gYG6H6/1tugS+kds65pKhCy5kFyUHAWf5NtqYHV2k9KHQ==; 31:SZtdMxDf+JoeDQUakGAQ4tIzJpJzdlwUxcqBOoSM5Wa6p+tQIIwEJwjLoYI49hKas0n6epVXvmd9DYg0FTfm7LlKJlVICk0dwbCQ3y8cclZR6T3Lr3jagfjxSmo9S3yHEsKhSr9epteEJxEQjpcoQm6i4l2qKv6tnAszbTIPe5Fq97j3+y6R4QFnWWYH3rcUsPeoZGxVutrhrx7TsL578bX3VCI3WqwZ+I8PmLUTBTE= X-MS-TrafficTypeDiagnostic: TYAPR01MB3326: X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 20:LWVUrOPhWgTNWpdd5NiSYS4vgd5dKJBp79GnIjT5+jpmsYtNDlTQVKESf5nDGrnbJAR/csBX+MrkrlRjzZIL3RmFZLtxpmnh6TtkIekAP36Pmvfj+QO7BG+3kGGCCy5u2KK23nlTaMgvObu5oGx88I/fvf9iH1MvnST0YKYEOvFdhR22xpkd3RxH4XOc7sBu9jh0y57nipKYP0psIkpJaeFIwkPrxPmCyyOQnYYCfjC7wSZxh0a2+wdley9r67+ygshGKuL3eawHCPe+IiGAg42CYGIOxOLLXgCnOLj/A5NgHNNDRL0Es+5dN0Cv7IaNNOPkkrtoVwt3KuYpBQkfNKpXp4LfcM8ygepnTHNEG9O+HHIyhKtPuf5fHUYgLSC9SHxUVh7Zo5GPPQNHQPGgaQ/3ptZJj8JfhNefNo42Ks89h0H3BoXeE797ciqjatalrb+R1MI02ORK+6ybR05WknAjZnIbiL5sogk61F1LU4pLqy8f4Lgl1YCkGqRWosdP; 4:H3HzpIypa8S6hclJyVuad6lCLwryRZNT53K6/MNuXYSksFPvQ3byuAEfbKpzd8Gh5/qnH09MJ5qonrf5w9HTG0pjn6imXCgkw9C50ypzBLmjJkeb+jcxqfF7YtJaDGuGdw4K+2MTzIq0aKHuKP1h6qxL6fn1b1s5V9iKJ3+NY4jbyF/OSLCnvZA/xDamZxT3jO8L+G1QcGK/9bK/p1oiFWfGKS9f//U662aGdMDGGQyoDiBK6ajj3spAaxheuyXFhl1n3h4mSXGMF1SpteBRSg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:TYAPR01MB3326; BCL:0; PCL:0; RULEID:; SRVR:TYAPR01MB3326; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(376002)(39860400002)(136003)(366004)(396003)(189003)(199004)(7696005)(81166006)(446003)(86362001)(53416004)(106356001)(68736007)(11346002)(575784001)(2906002)(305945005)(476003)(2616005)(14444005)(58126008)(186003)(26005)(50466002)(16586007)(69596002)(478600001)(36756003)(54906003)(23726003)(6116002)(16526019)(3846002)(105586002)(486006)(76176011)(5660300001)(25786009)(316002)(81156014)(52116002)(97736004)(956004)(386003)(8936002)(8676002)(66066001)(4326008)(53936002)(6486002)(6916009)(47776003)(7736002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB3326; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TYAPR01MB3326; 23:CIZj3qt+xL9/MIA+aYJIzv9fOONyikJlCAwl3HNm4?= WVdfn9rm/3OHKjkKWpUq+7dl9RMR1oJKVQOBBd+yv69vCmTusoFOOMGvVm/U99fg6fO61jYS6WnCKKKmLzgvQDzP7CjcYpX53/I6DCL//0/viu3/oWvcvjjYuj9myL37FOTp7pgTGQLvS4h/J6S9uXQv2e//A/WFSFxYcn0Cixb3cDDEaDhEDf72igoy4x5IfzwIEPadD8h2tnX7fmJSTbUqHvPxo27JaBhOsIB+pBjdE+0B2H0IUyZn+ZwIi9C88kqwZJbhZQVaCbolzkW7faOe7/NQLT+2IngbVcNiiN/jKqo6xxKGTS5OeTsFtltW7Sd8/Pw9XmS8RPJJ2hG8AwYRF+sb/fN8VhWHERBNUOVL865LeAhN4sU6o9xb2m2cXsDqOwTIPZlQ7j4AulVESxxdu7u3QJgRuGBVY7OcB200wLVtCJDkTpC4aXIqko+qDztqqTmikK/PWA/BMnQgs+6fuPjfkkxsXCmCtUaeWphjkK6tQVqe+ZLegEASoCqMZggTISob1Ia2J/cLq7HSRmiOWW9wi4s/xRY8pvigIShaOZ78zNpfxTwb7AuGxdePhATnBJxmccy+VQkD9UKlI1mCAmRkIz4hKnBl/vpHn8K6nE8eoF9Pe4rlI9ttS34bE3iECZjMEkOyvrrdqJjunQDabcRa5fbWUUUSBS+qk+zOl6EVZNCP6oLIPPKw4RxSDukc/s1l0FlNBWh5yBqEbZPJf7pRraEreVjxsh/GMHWWLw1ET2mcGVit8Q2NUtvz5OQVI1f5SflSct1sWj532otN4OzdSNWltViwZC8oBn0DT0nmJOvXG+k5yuFDQN44r6z6yzyeJ9v8FEUeQER6gKymJNaz7fBBIHvni/dozvQYkv51I8vteRr/+SKBqYjkeX8GoDma99Rj3wgF4M26nvGlumsVKodTapKo+C3pbPfcrgtz0hk6vFDbLjN44NiceYaEjyYpkMGJzkQKAXqnNfl4LW+bU+huRRd9E762p0lbd0elF76r014Medwmlx698SF/krmmC/9h40LQK9OEgR+Db4HkcpvoW3B07BTDhF/c4E1p4zOM3WCU73jA9Z1qH7ysWmcvLk0MyX6EL37etWoLZjx1ZuAuhJ2gIEDsg26Yhc4SAiobr0jl8RsWPIyfOMS9qgf0QETelZNUqfEeVffn6eRExMxni6OqDzxVYy6bia85K4uHBYuNrDpI91lboM= X-Microsoft-Antispam-Message-Info: MJIoAil9k7GxOKRGrlu6mdcF/sQ2rhqQ2jjePF5PHz/+96+CKCIHI2blHM9jFRHgLSABGEbxIXcfdumyPavUSrKtfeBJ8DF2ufCNrCllKB2DWy60MH0OC+zyzE9VdTC3I0Wgmd2CQQZTll9JihguhyryxwhBK/rQj6MsJSVn1l6+pRHYVG6lREYVRsxYVynJVUh2pvPbTxXXmM7xQlRnCdSN6c1tfNVkCUrvreipsdTAU/BpeGBPpirlxsixpNvT92e4LMOl1PxQLcCLN1/B3bSrVgDB5HVrxhYpzW9YiZgLkHqmENyZLn1FiwyLhbRp+1zvW+aboNA4ZXAVoMVH9zD/zlKIPyjeBhewpN4T2tM= X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 6:HQLKTVlg7tFpq+jUXAGtoKYXzCEovwVd+w+zgMAsjdXVDvw2LQTTu7LFohsFXxAGTc8mCLYySBKO8goqL7tlLb5RFZexGJOyQtGj/+rO6sa4gNrPprMMKtRmeddr2oagT6Hti0oJUvxyvblImioDEOfq+gorLt+q8XfpjfXMOS2lqy+V5RvHscjTG6UfQlqZaeXpFPDODYhMtnw8vAMvAXLlJEQE3tTI7h/ApfpB9Hexk0c3IDc5sTvJdv4kaYhcEHT8Gy1e7tuZ2nwtCVN4jDgI5a9ELsu+N4rukG2K58mZC/MmS6BQ29xObG6X6Wkhp6TCTWIUybE7SHJ9R+JtUBq23Gmdq9H0l0Ibk5X0g7eQfBA/X14LV9NAZRtZ6F60dadsxJXAPhDgpwuvPTPwoexvtY+8pfRPTTP/f7pxlQVaG0HwYAdKX4iodOp/QXGR+zTeXGi+NnNPYfP4MfF+xg==; 5:88lirLqDxYn+DiebCbhDooXCZheDRfdKFw+SDbQChgPiDmwgKhk16MUKqH2QU7Iw6UVPbWEfqHG1IcACri1tP232u7aIibGXzTZUUOghG8zldDlLt1Jsgcx264/KWAnJR66qQDnZQau2OB6iZr/lH1+0Xq0BDg49ohLYfc20LlE=; 7:1e67hbpFSwlFBHl+k9Dr3C5svq72Eo8YnOQF6gc/aWcFS4ykBxlHj+TEbAKuPCaPMd+p/KCHqZfbVndGcbOwVahvATgTeW1VCrnBM3kcs2MhR2weXOrIogyKXwgfUg0BLj8IQGU5LJDsM/uCQOK/Wg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 20:EYCLSjLEK1gH3YgoF6Qbqw3DAI1jlI4M/WBgkenxs6GgMBNlHYhHkt89YKi2R+kSggOvFKTvTIXIu6LswwatudcsuTdU8u/Sq2Ii7OuqCta3OlLia7I63QpmDQALX++SDrFCULj1lp9VMJgI7JYq7McvEzOW4Id6Zt3tyIBMWns= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:18:58.6954 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8fd713c0-53e2-4be2-91a4-08d643a75b27 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3326 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 01/10] ASoC: rsnd: remove endpoint bidirectional check X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto DTC commit df536831d02c ("checks: add graph binding checks") is checking endpoint bidirectional, and it is upstreamed to linux by commit 50aafd60898a ("scripts/dtc: Update to upstream version v1.4.6-21-g84e414b0b5bc"). Let's remove own bidirectional check Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/ssi.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index d2852be..baac83f 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -1095,11 +1095,7 @@ void rsnd_ssi_parse_hdmi_connection(struct rsnd_priv *priv, int dai_i) { struct rsnd_dai *rdai = rsnd_rdai_get(priv, dai_i); - struct device_node *remote_ep; - - remote_ep = of_graph_get_remote_endpoint(endpoint); - if (!remote_ep) - return; + struct device_node *remote_ep = of_graph_get_remote_endpoint(endpoint); __rsnd_ssi_parse_hdmi_connection(priv, &rdai->playback, remote_ep); __rsnd_ssi_parse_hdmi_connection(priv, &rdai->capture, remote_ep); From patchwork Tue Nov 6 05:19:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669641 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DC87F13A4 for ; Tue, 6 Nov 2018 05:19:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C9E4C29D12 for ; Tue, 6 Nov 2018 05:19:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BDB1729D5B; Tue, 6 Nov 2018 05:19:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E1DD629D12 for ; Tue, 6 Nov 2018 05:19:28 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 9E26A2679F7; Tue, 6 Nov 2018 06:19:27 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 585F62679F8; Tue, 6 Nov 2018 06:19:25 +0100 (CET) Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-pu1apc01on0091.outbound.protection.outlook.com [104.47.126.91]) by alsa0.perex.cz (Postfix) with ESMTP id 804A42679F7 for ; Tue, 6 Nov 2018 06:19:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uWiJd1h1QfqiDSd0tggxkG9uVRAbv7sYtBpU85irlE0=; b=nQ+FYunlc0C5vbzINaIoxji8sdpCUmgAu/0nNsjSG5Yl8MjfnVY/Ec1Z9Cad94WAyBw7VWrCZ5R8YWbEAc7oGhsLgKrWhY1SFPOQkrkkU+JlDzDBxv0WrX9pni07snl3mQ+Sl08vRURmdGDzjjhvIkFcMQLj/gXSsz7L+QTzwB4= Received: from morimoto-PC.renesas.com (211.11.155.130) by TY2PR01MB3322.jpnprd01.prod.outlook.com (2603:1096:404:da::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.29; Tue, 6 Nov 2018 05:19:19 +0000 Message-ID: <87d0rix03j.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:19:19 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0056.apcprd02.prod.outlook.com (2603:1096:404:e2::20) To TY2PR01MB3322.jpnprd01.prod.outlook.com (2603:1096:404:da::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 767bf627-6fdd-4169-3ac5-08d643a76773 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:TY2PR01MB3322; X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3322; 3:jYDg3TCst/hCgrBjqDhtBa2c3eDbwYYPyfd8mVIYj/EnhEfx/FBBdRkvZXPcsWXACYkPclkXO3sGBthd3qqcmzwnMdysu0TIWqVSbKV5WAscD68ecTJ00L1Tb2xYxp/4czJP0wBW4CpUPZaBAN39TqVZpAW3V3SdVEnLMl5W/aazr5yTpXa5mLrAaxAnlNNMum7t5zgaMhLRuuORzDE4Ooj22z75EXIc+/NVZeXu01BPdGqr1e4MkRaaudLx/QWC; 25:64sS+pYckT8KEndJzfi11T6e+9gQZ5A86wcYR1sDOTkcAMQWdijNjA8tQ2tJmuV//Lzpmkwhm09QEFNhzmVrpqWmRIkTa0ooYlJ2t5xD/71Rb5UKF398jvK2HzP4DxB4m0YDQltYEutiPF1vQg02S/mknmWp4EYzZaN+4+q7Bx8yNGmBHAPQgd8eq7orHcaemI1MdGIfJI4bboyzZ5sbaVg8wuYGBaydIYzTWupEJvw7Os43ljHquYKZr///VySo2S74p6AUHObO4plgbetYBFnf7Q+wtwHza0DZwlpLs4SSsgpuRlN8XA77ZZc4QUsu4iI3sDj9A7EwseV5CdgMig==; 31:zbQr64gU3pogpTLCtyMlZtZWLEskcg/EUT2uy4dUtQqaDwvMA1X03/Ppnx805RcJScM+HZje2gmFtgVoxfpDyzhVAADxn9eV94zhvdQMG7HgLKRWifTwaM/Ja8DZvNYEFHpVnTnHZOLcO7TENuWxEyE1XIZCqt1nIhc7/Frpt2kfjJTCK+Afln8ShKyIjORdLcg/TxPtUSHA9H3+45kD2PFOHkq2dFku03OScXmOYwU= X-MS-TrafficTypeDiagnostic: TY2PR01MB3322: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3322; 20:YZDKXWA7Qsd+lC/+0ArqBia05NhyVFxeCRMXhCzSeLEWHbAXHFMbiKUpGXH4AJuh9hAodNMGhnKHjyNgiL93MyxqAyvq5glrSPj4Ig45QFvY23ygsj5Fbtm7OqxMfPKsiphWNivOOG3xlJmGwE42y30pEK4G6FwkY4wiyNUB/eruk9iuZotfJMoFRQQtUaW+AFNtm9q/UYzm7ZAYFNEhCf7Cst2MR/mQXbOReCkKmxg2FNccJVQz0gNvDTEnPGYDvFn+OrVhGQkNAbqo4wnoG3wkU+ebc2oWv4QBU9P+h6GDauUPAUfXkAc+1eRHOaqgr8E5IWRFuvjVeOXa04c4yh16ylJeC8hwG+FL3a9Dh2FJkbAj1F4UNN11jVeQCJjpZquCNzjZTdpbjxaz/bMLxJTsTzdYVvyQ4ey+8miA0SQNZCDmW9TyAyHbxrevVFFYEpWJBHprXxwOVpMorZSuxLMTxa4ZSLf7Rs4b9vVNDX4eBVId3+cU2+HYDIQrGHZH; 4:gotH4an76aEjy1aepag3c9A1WInaR7hHb3hJ0DpBCgibIqrONWWW/SXMU82GniuPqPG6aRK7hbcDxg7nMK2+p7WopjU8zYscIJYHYP4JjywSV/IEZv2A4r1VDcvZNnlm0VoJSUXfuLQrypAhRoeOmrVY4vTezcnn5xYUDM475gkWTFURqzABU2+NRZZkKBk+LwVFmIRxTylflqhW6PZ/izJUg/PMpisz81meqHhYdWNWIC9rmbPmxAe5eOcRZ0um8RBOyAYKEHurKw6UgsmTUg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:TY2PR01MB3322; BCL:0; PCL:0; RULEID:; SRVR:TY2PR01MB3322; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(366004)(376002)(39860400002)(346002)(396003)(199004)(189003)(97736004)(4326008)(2906002)(36756003)(66066001)(23726003)(6116002)(3846002)(16586007)(956004)(305945005)(6916009)(7696005)(76176011)(86362001)(25786009)(52116002)(186003)(26005)(16526019)(386003)(53936002)(47776003)(5660300001)(69596002)(81156014)(81166006)(8676002)(8936002)(6486002)(7736002)(68736007)(54906003)(478600001)(50466002)(106356001)(316002)(2616005)(11346002)(105586002)(476003)(53416004)(446003)(486006)(58126008)(21314003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY2PR01MB3322; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TY2PR01MB3322; 23:u8/GHuoHLOjFGWMAIv5eOfS5qJR3Ne2eGhS6I00xr?= NwO13rxmJi7nOZSc5j2medruYkUhZKKDUtrscMMCPvjavaKL/J94vneT7s8RqjRkWxF6hIUNPOmgRCEFv3Yd3ExCTRS/hAo9kz7kgR5Tp8xsLntY4HJJx/jU7hfckNmODPmRFp1p0TWG1WKSDNHLCz8WdEw1sYAJ/nKbyuK4e2A+0aCMTNRfqY4YBuBe0D6aKbcLoEbc0hMOeUIX3VhRu2z1ASFLe4eqs2ngN3JVy+IIXySrJBsHYxoe2GKofohCNfglmD7+CirYxd2M+y1kVR7XWJl0cDGsSEQBmvMXb8q9ALcb2WX4Pz12MX0YkQh2IY8n6IREA8aEdzLFS2L5m2Kqe3gxAJ0T06Lmpc0oogqD0M6VXwgh1oOBYI3wwEoz5bFsT/MuNI/ITNFyURkNVW71nvDSbm9HQ5Pv8a8qpC0rHyuOySovWjgxeoOTixrx0EUIYCC8qNxIzAaHU8H29JbgwznJe5aE0uWwtMXH5H5qde/Ogb6tQ6FzVbpLUZrJAnrFERqZBappVshJuJTIsHz+lqeCTOFx6isLffRkyaP38FKfeYGUTcZwcbAB4fxtt/kxJX+YJflLjq0gRGnXAJrUkwJC3LC9gch6Y9kUp9daJ7GTZVm3ft0A9SvNZ60KIHXUXc/00uiMqw6JnMgirV4wDFIMXCR3CRZakiCkXOdJKqF0uGMMWY4Rg5myKa0pF3lOZXXc2DAmQaOMmyC2/fbrN7Ged3b5adJ2DyRm7VBcn34+cINozaFoLbCldu4Vm4HgSkP5S/awxcQn4yqPlI/z5s5H9VesTGFvWSHVaU+Jyyr2QHUKOEfik6AW4BIe9Yl1+aaLlXZNSmqhfmIJEr/X4ghfpCV5JRMkCaAw0k9UwKR3edEecu37T+vJWIsLZROiMQnlObqiXLuRsHb/4cQ05vUqQ3ZARt/hXSZXet3lBvfI9noYiEBl6dQXwOXq4DYQdgWUHetwssJLTT04XZMIuHa/i7vWRSruCHry4waLEX/qNnAbxcjLtrUjxe64xzk2OBZ7OvTqNgtofKQLac5tMJ7JbDu9Fhwo53NRD5j3Hrh/qxUP5ghehPDViTlrgS8617CxFkj/J7I/JUxWW9Y5vONef5YMSr2wdhP3hqkyUJcxAz0xoIGoAioRfgHin2zGaPZUhQQ1XsdNWKB45+pA9xiwW59AaGiVJgmQ7QMiQ== X-Microsoft-Antispam-Message-Info: ZZOT43l+4ZTAM6g6RgDmzYSb+mEIUipiWd/hkePehCNftqMfxEsqrwGWQGB5pK/sL6cq+CgPZZS3QpKUZTNiXszVB/u3audyLlv6X7Jsvjy9daMmYrmvWamAINqRJmPHW729EZgRUWJZsOfAMp1tPLMGFfArbuDM7fzhXiH5jy9zllPlzv5wwlVoMYS4o7LJuqf0INddZxUJoOXwrUHi/qmkm1c2lcYhCIm0WDP/vD724XihEtyWnWuzwPvupW9ykxPo/sfet75wENHe2YGxFruuu6wBWsFXIKyxdjSAQk8e5oqSolIzOE+Hfl1ukUI996UJwj3shNv+YEfS4qtF2J4DlXarbd90GEUvI0txr3A= X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3322; 6:kH/RGm5neIwZLb0HZhCQd8kHBHD5B0x2zUcMQ/gqO0rOro2RUXs1BgC0tUzV3CqtQWwva7Z9cSms4yLP2CSHXQANeN3W5GhaYP9N+b5IjhRGbtwDF3sTm49mqYXk8p6FyZiY0WxOoiBr4btCux38a7e8iyuMx2iQcq/3IW3wRiIB2oU3F4YxcsZy/o7kVAPLkv+eZ1FLOBTEf3lSsXv9ClTteRVT8YGPglOurg0OKanZQCorsO3Lm/hOMxvagXZM5GudYmC/8LaVXuNt9RcQONHFi46p9GWS+KWUXAAR8kxchD9rTD2BNKzWLCjdD0Wu9h1kRA6DPgw8G+M7BBgpfzilaJQfhV6cPbRw6A+64nw4IN0P2XF4uqC38dqAQ0JJCpRViVbKrasZgpQbXGIordT9yGSes/JmwHIh11xAmwIS0JIknQFakrfcI8TGmnU3N/IwFBUPsuSUTvVidFEw2g==; 5:kv1fxYhNbVQQJ0VSvBbXE8qY1W7p0J3xfRURPYHQx/3n8iDq1745iPRrVPtyE/V7thr8YrqfQk0BdCqb8LkoREpEM65h563pmnBpwciNT04gNSg1f47TYNOewBur0JzQLGGNbm4t+8BHGhCY73Cc2WsMhUyV1oDAu1FFcfkpfA0=; 7:fkpAjT/g66mR98fxQR0HJBumK+WAL0+0Qn2B5KV5AkcLUA73aECVhqVmTGyNjDcGF93LAI8odUwAApxI2l4Z2t2t/wPOS28oop20pjP2hy4s+KXzbd42EUbSCCfro5VhKeRndmwGAFsIIok+WS1v/A== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3322; 20:JRKOgc1YbJvzSDqmufhoW2A8SxX8jBy3XXcmPlvjF3gkI2HsG4bu1lCLftw7ZyM2EtbI3FIk7FrL3ObBMBVPh76nnP3iEjiCCwnSVUrHeAGLA05l/juGDizUwZoIO68HvjmAq9OmEE8vqgGFbVRmOmbPT87bDYGswVgx/9rSnRg= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:19:19.3239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 767bf627-6fdd-4169-3ac5-08d643a76773 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB3322 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 02/10] ASoC: rsnd: rename rsnd_runtime_is_ssi_xxx() X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto Current rsnd driver has rsnd_runtime_is_ssi_xxx() functions, but it is not only related to SSI, thus, it is misunderstandable. This patch renames it. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 6 +++--- sound/soc/sh/rcar/rsnd.h | 4 ++-- sound/soc/sh/rcar/ssi.c | 4 ++-- sound/soc/sh/rcar/ssiu.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 5e10012..cbe846e 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -287,7 +287,7 @@ int rsnd_runtime_channel_for_ssi_with_params(struct rsnd_dai_stream *io, rsnd_runtime_channel_original_with_params(io, params); /* Use Multi SSI */ - if (rsnd_runtime_is_ssi_multi(io)) + if (rsnd_runtime_is_multi_ssi(io)) chan /= rsnd_rdai_ssi_lane_get(rdai); /* TDM Extend Mode needs 8ch */ @@ -297,7 +297,7 @@ int rsnd_runtime_channel_for_ssi_with_params(struct rsnd_dai_stream *io, return chan; } -int rsnd_runtime_is_ssi_multi(struct rsnd_dai_stream *io) +int rsnd_runtime_is_multi_ssi(struct rsnd_dai_stream *io) { struct rsnd_dai *rdai = rsnd_io_to_rdai(io); int lane = rsnd_rdai_ssi_lane_get(rdai); @@ -308,7 +308,7 @@ int rsnd_runtime_is_ssi_multi(struct rsnd_dai_stream *io) return (chan > 2) && (lane > 1); } -int rsnd_runtime_is_ssi_tdm(struct rsnd_dai_stream *io) +int rsnd_runtime_is_tdm(struct rsnd_dai_stream *io) { return rsnd_runtime_channel_for_ssi(io) >= 6; } diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 28bd90a..4b547c6 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -431,8 +431,8 @@ int rsnd_runtime_channel_after_ctu_with_params(struct rsnd_dai_stream *io, rsnd_runtime_channel_for_ssi_with_params(io, NULL) int rsnd_runtime_channel_for_ssi_with_params(struct rsnd_dai_stream *io, struct snd_pcm_hw_params *params); -int rsnd_runtime_is_ssi_multi(struct rsnd_dai_stream *io); -int rsnd_runtime_is_ssi_tdm(struct rsnd_dai_stream *io); +int rsnd_runtime_is_multi_ssi(struct rsnd_dai_stream *io); +int rsnd_runtime_is_tdm(struct rsnd_dai_stream *io); /* * DT diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index baac83f..26a00a7 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -223,7 +223,7 @@ static u32 rsnd_ssi_run_mods(struct rsnd_dai_stream *io) u32 rsnd_ssi_multi_slaves_runtime(struct rsnd_dai_stream *io) { - if (rsnd_runtime_is_ssi_multi(io)) + if (rsnd_runtime_is_multi_ssi(io)) return rsnd_ssi_multi_slaves(io); return 0; @@ -383,7 +383,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, u32 wsr = ssi->wsr; int is_tdm; - is_tdm = rsnd_runtime_is_ssi_tdm(io); + is_tdm = rsnd_runtime_is_tdm(io); cr_own |= FORCE | rsnd_rdai_width_to_swl(rdai); diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index ebcb826..645340e 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -145,7 +145,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, ssiu->usrcnt++; - if (rsnd_runtime_is_ssi_tdm(io)) { + if (rsnd_runtime_is_tdm(io)) { /* * TDM Extend Mode * see From patchwork Tue Nov 6 05:19:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669643 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 330CA14BD for ; Tue, 6 Nov 2018 05:19:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 20F8329D12 for ; Tue, 6 Nov 2018 05:19:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 155A029D5B; Tue, 6 Nov 2018 05:19:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2E6FE29D12 for ; Tue, 6 Nov 2018 05:19:45 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 04ED526787B; Tue, 6 Nov 2018 06:19:44 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 34DD42679F8; Tue, 6 Nov 2018 06:19:42 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0114.outbound.protection.outlook.com [104.47.92.114]) by alsa0.perex.cz (Postfix) with ESMTP id A4782267877 for ; Tue, 6 Nov 2018 06:19:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2p+5KGMUUbDYfOhTZ27OGk3Ev2MqU/GAGcSCXGN51Zg=; b=O8lOwmnDLkxWL8Ajv4ThESaGDaaGEegE5MiQ5zAQ7KEaBQ/n4moXBYscg09lumb6mDEyc5QN8iyoiRrI1SNr08YCoyeVkMfDTVPAiFPpP2yeknLiiIfJU4ObPMwfTz9YgdaS0vOMAfeddjaFiG9Yt6tktpk9g9wGO35+ruwWN/c= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by OSAPR01MB3316.jpnprd01.prod.outlook.com (2603:1096:604:52::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.21; Tue, 6 Nov 2018 05:19:33 +0000 Message-ID: <87bm72x02z.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:19:33 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR04CA0016.apcprd04.prod.outlook.com (2603:1096:404:f6::28) To OSAPR01MB3316.jpnprd01.prod.outlook.com (2603:1096:604:52::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2640ed52-ff39-47bb-a0ec-08d643a76ff4 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB3316; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 3:aVF/VtPqu4gK/tE37gVN8J/rdS5nFlTTyZWUcB4Vf6Cbj4waLwlznrOy7lNLKqo9mx4ZFaFlTCQhjcQyYpPq2bWVWdsdClPUEeOFCoYrnrjwpZ7L9GlgDAwz+sP3ubhdUK7Z+DmjfuvjURY4tLz8KoCCcrFQlf9ZrwHnPVRBwXk/jXOcRI6PyhtXwFgrTIe6KyHiG1tLa8d7QvFnYkRxHCC3K9oOEJrv5HUyGtAQ1UGCyolZGq5WhGFgAxa0kZe2; 25:ExWWha+h3z0t6qULXxxayEUTWLbzoRPvOEGucZBbXrKqrHEnBbOpXtnvEUhWY1sFDxWFOIlxUzCdKQEPIbqueLuGFXE2MWo6wSpK65FhXS6/20QiFoDpRBv9QFGXjHWEPHZ8nCoqGAx7NJNnWMMQBLjQx6z44iRxyYUABv2HBsb7oWjY8xGaF2KsmPSV6HsdYlzvVHPIo9P7GR6gpLFczDo8WHhnjI2317Ey+NfBNoJdNNje2NdMGrttgsZZuqpOh4sDsRp1yLYXjRS8SgI2i5Y9+rkKw0fmJ/+RXkcF4L1gN3ZZzgNvzH/qUGlDo0ESv/eNEOcBgHlJSFDvJL5pwA==; 31:DVId9IBY9YqYmob4Sc4iaQXVTl7dd5A+cOw1kYI0miECDNiK0Xs4KjgwCFC2TZKlETUPEN3ZQcfKYoCg7mED2zBypDt+sVdkWjv/C3pP28Wy3GAm1swbEQpBlzl6zlinzx+W4n9oBeJUl10DqeN8ZMdEzhhZ2r/8HkoHfQsbuVaRtOdbhoSLR2QlEWY0SPJppXwimMjqA3ZoMGl/Vo1KKfNff9i7/2mAtJr5XVQfhDQ= X-MS-TrafficTypeDiagnostic: OSAPR01MB3316: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 20:swsG0f521TM9BlOrHKgvwS4EasvtMDBIJ3avQaQmVYyBbIoN/RupBShQpgc86BXmjaNatgtqgvzbthd0s3Ooq1xcYnZIiN7ZKfoIRzCo1ijXV4Ysrs3ayNDL9a/00cIIl8q2FgGFyuIaalfQ3rTnZvcQRxKMxGooDGQlIVLkUKzFOYsSjl49KfljYxoN+GVLF4YN7odK+0kZPe7Xjxx8axACu0RMrK9Ph2uJ1I2H4ToSGUdvVrHpTCXaEfEn4dmIYvELdgBKhzopL+XZVTdCTxCXv1laBg54wFi3PRYBKEEj+TQAc/KkSgEnokArt9FEQe0HlZRsj+W580+crPU1RYWlVahuqDDeCWJHIO6W/IpL8NmoZTMpCdOvyp1CQAQdWY0DeLgQNHRyqh2KKcopEBbzkjJHrPmax0ep2zvXSipD6PvhEPADlc1kHqvsYPgnwM8Mev0U4lH4xp6fpTOQ2w/dRYuGtIASlxKHVynRxrTb95mKwHSj0Q2N40L6inPW; 4:ULiYksLTOD1inAlfIuZ/il20KE9oW1odrb3ZLFfDri7nTYVOQk4eGY9s07MZRJw3eCPOOE9aA6E3Zk0QD13gWI//41iZBderEsJRiaYxm/epD7Tqc/vbgi58vxCVPG1NKyazWj9oXlyydEIbdlD61jvTCmwQHldz4h1SMdEmeqWTkewNkMgbBw4NMLMkcX4blT1axE9eWIZCF2hYb7qFHZXHO3PumO5cni2sz4jW5tNctKWjYNKDWaQiptK/o9AZeMOqv/3+1itYjMm8Wn5tng== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:OSAPR01MB3316; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB3316; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(39860400002)(136003)(346002)(396003)(376002)(189003)(199004)(66066001)(486006)(23726003)(8936002)(86362001)(386003)(6486002)(52116002)(476003)(16586007)(7696005)(2616005)(4326008)(956004)(76176011)(81166006)(26005)(16526019)(47776003)(53936002)(186003)(105586002)(11346002)(81156014)(69596002)(446003)(8676002)(36756003)(97736004)(106356001)(53416004)(6916009)(25786009)(7736002)(58126008)(68736007)(478600001)(50466002)(305945005)(54906003)(2906002)(6116002)(316002)(5660300001)(3846002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB3316; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; OSAPR01MB3316; 23:KR7jGJFomE7wBORfGD942pWysRT9ckHm/1tvkLCqz?= 154B1oDwg3aQBmtgDawX4tnGZ9v9q6mScme8ToYmpjUf6bOMxVVR3CLNtFy2w7a5sxogmSvB5p3C/nf6JWh4gW+3NUQxGP+AlJTEVHk4ZBT1P+/ia70eySL+2gj3+MfT9TjdHgmmIDza07IX92KoM482nKDAC4fkmNGZnSnTBY7qD+Liu1m8ijZyPzppK0GpPo1R1Bn1kz70INKVe2RkjptD/0kfio8PYSCJEfR4jmEhte1KeiyzgpJTdN9jLoerpwiRiv3kNNbYS+irzpITob8NjdGEHOhSDpQBf0XQy8d9S8ap8sYx1Y1TlpSK0/ZTybYy2ofOi+9M7Gce39FkNQvdKb+o+PWxN40NgXIDN+UIH/DUSL+UZKmSSgn6ZldrV3HzTSyk2vW52Fbh3YpbywdoFI9ziHfVjcnVz9s6OPdtAY3yRI+6nzUTgnYBu66qFRhKLu3Myd9hj5H7yn+qYoqE2w3A3zO0D0qk9+ZS94EBN7lNvQ9FrG/MHFoLUUAHZ/pJ073O78/e+B/l+l+jK6oAiMla8bVq+DV5n7miwWsXYRFG+OdV3qZxPh0pB/NCg5JxQfd37y5Fs3f/rOFUsS0X7H1gCD9O1PIJmh6OlfKWK9Yl/JDLUIYoP1bsVbN+t8rEBnZtemLJo5YnbEuolGvyZOhYcRSvjUKE25Bp8hteajMKSvtsgMok7l03WRNLpxdNs3YZzSeHHJihmZrHNMTnrxT25LGUaRBn0tOvDtFC5YP3EsBXaOxiA/iVrSTcs4DfvR6jL7Ki23SztU+Av3ObUzhc45B6A6RY2OqnVyJEv1cshZ+SaSu5X/htpr152ZuVn3g0m+hvscuFact5F5nPz46tcT8BAdkceW6JEPlE7hvX+eVQPu25XxMSxgdNBb1t5S+rIDYDRYsaGtc6N96PUjXkbCv8avx+193gOP0EjoMHrJUXaUkoH7nY5jkNu3AFex8w/oGLXrRmfP+sOLrq+WmrRe+lxZVq/6MHYiSIjQNztOuTCrDJtvlC3Ukasz+4v02tQxrWxMIwEit4rST0XGXiwB4nRsqYlI7kJvyb/Y/70oHY87y1d5ODkrQHFkpmNWcTIWR1woUMyYsAWJgpXNLiGk5yIdNJohbt7EO22VRyM1uwtoUi02y+rqCDILQ0VfsYAodfmIo8O36jdwB X-Microsoft-Antispam-Message-Info: 3PUWlxBPN+W60BUr22WtMe0on5kb4ZI4F/lBQdCiRkM8VuHN65JXQObislm21M+/JiIR572JMjjlu7er3ho8d/3R6TbWqgBmDaZ94ybANYmeQ56+WSQkZCpNfp4MHYUwpRZ3Qd2weru5Ou4pb2OVg9BDZtfA/5AAfB/7DDaDUv5oVeh41+YFxK0TKC/tbCx5B6pJCum9cVGqZhu3LIoFZLUSys52rW85QzZDH/1CrVijvHqSUhg4RAhhP7VLXbWu7pCiDt5kiePsjCFC+d6OamTwQrhCxp1VHJGjvRQYZJrNZQ2slvW1icXK46ScVNt1Rpmrvc5MUXwWickdSlb4xi/3II1YpXuRwb08HZvBUw8= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 6:zJTneoqulfa7wl0ork51V19+fzYmo9HlFXdYKAnaaaKJSiohAPArCxA951CSTt3yT3bBxwtnMVtLQnrxbb9KeLGlBOrD6+YvmyM9Y7OLuqCqtzjdBy1c31UbUSVpbXahAI7zGQByMauox++HxP37TTXKjSh+RQ2OaGXr9gJSzi8npjpM2D1qmWV6Glunetyhw2/5j10HcFxKqm8SzAhqPAgKsk7L159+MZ8UZKTmu37KnY5HMWXl/0AQYH51sAeWZnriPtRu0Wcxdz42XsPK8lR421Y5x+ZIomJfUOEDYYXs05dgzWQmc3fGHhB82Qt0MskMMSsI7kBXUzGOCqG6qDni4g+q0w2+BPKhuofTY7ZHvcD1YNLMHWGJF4KHdJNGbRP1lweTPVWBr7DTUdf0eV5DRpTLJjelmXwr9lvrKwwH5qeCFO9ZVPfeE2KrmFLcrA95gAxFPwCZfPJbr9MzOw==; 5:jL1CKTBn15xgmD+jXEKFRkehe8k0pbZqFBs+tzwPpKacBbzPB5iMkY74/4DD86eFjC7VBZu5NgDS00GEVlos+d1V0aFu8E2iRciAEVmtjsuDxFWZ9QgZQLiz1+M65lPSBZQsynA6vAqtYaqKdvabkZbsLX81h0TZA1RWHylAAcU=; 7:tKv4HZkaycEAUGY2usWdVb7BaRAxMW8PBkJLu5NGl+OOay9rbAUzf3oVFOqTo4WOZ2+8+yAEtyfyefieDViLjhIKO7kr0ughtV2JhB8pat/MGLd/C2Q/517P6ahc5D3YGEEhbbsac48KGqurkTeOSA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 20:kR4Eh3+tkb7ouisETVWGAHT6tY0PaCmbTBuMsG6PM0oR7fozknqG7dTdub4TvWe5luNf4tTqG4E8o2xuX8g3KsPtBUf67ufcKK4llyMotpk94RHULEWqW15H4eqmtuTJFcggpqiL8Mf8PqfEO4UAgE8kmGzHsuuOIEr8B+T/Ig8= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:19:33.5468 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2640ed52-ff39-47bb-a0ec-08d643a76ff4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB3316 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 03/10] ASoC: rsnd: use defined io_playback/io_capture X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto rdai->playback/rdai->capture are defined as io_playback/io_capture on __rsnd_dai_probe(). Let's use it instead of original one. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index cbe846e..cb59219 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1091,24 +1091,24 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, drv->name = rdai->name; drv->ops = &rsnd_soc_dai_ops; - snprintf(rdai->playback.name, RSND_DAI_NAME_SIZE, + snprintf(io_playback->name, RSND_DAI_NAME_SIZE, "DAI%d Playback", dai_i); drv->playback.rates = RSND_RATES; drv->playback.formats = RSND_FMTS; drv->playback.channels_min = 2; drv->playback.channels_max = 8; - drv->playback.stream_name = rdai->playback.name; + drv->playback.stream_name = io_playback->name; - snprintf(rdai->capture.name, RSND_DAI_NAME_SIZE, + snprintf(io_capture->name, RSND_DAI_NAME_SIZE, "DAI%d Capture", dai_i); drv->capture.rates = RSND_RATES; drv->capture.formats = RSND_FMTS; drv->capture.channels_min = 2; drv->capture.channels_max = 8; - drv->capture.stream_name = rdai->capture.name; + drv->capture.stream_name = io_capture->name; - rdai->playback.rdai = rdai; - rdai->capture.rdai = rdai; + io_playback->rdai = rdai; + io_capture->rdai = rdai; rsnd_rdai_channels_set(rdai, 2); /* default 2ch */ rsnd_rdai_ssi_lane_set(rdai, 1); /* default 1lane */ rsnd_rdai_width_set(rdai, 32); /* default 32bit width */ From patchwork Tue Nov 6 05:19:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669645 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DB98E14BD for ; Tue, 6 Nov 2018 05:20:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C40CB29D12 for ; Tue, 6 Nov 2018 05:20:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B381829D5B; Tue, 6 Nov 2018 05:20:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9167E29D12 for ; Tue, 6 Nov 2018 05:20:00 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 6F18E267A61; Tue, 6 Nov 2018 06:19:59 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 163AC267A61; Tue, 6 Nov 2018 06:19:55 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0132.outbound.protection.outlook.com [104.47.92.132]) by alsa0.perex.cz (Postfix) with ESMTP id 37958267877 for ; Tue, 6 Nov 2018 06:19:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=42HlpRPhYVBqS73p6wfkYTHukqblzUi7Le9RcDK2ODY=; b=kGimUzKXwqnyFywsPZRlhXnXlYyIoos3DICdkMdytLBrTM5LtmA65TrL9I4KNi3IFuqRl/oEmhu4cX2ALB7bH145DCTE8SgUsU9l7s58yDSNeJiKnBfP3tTqcBAppv5A+AVQvxnTtrj97y4PDZ/SBC0wMDg5+iB1K9ATyYMCwc0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by TYAPR01MB3327.jpnprd01.prod.outlook.com (2603:1096:404:bb::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.23; Tue, 6 Nov 2018 05:19:48 +0000 Message-ID: <87a7mmx02k.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:19:48 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR04CA0020.apcprd04.prod.outlook.com (2603:1096:404:f6::32) To TYAPR01MB3327.jpnprd01.prod.outlook.com (2603:1096:404:bb::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9e1f036f-7b61-4d5d-03c8-08d643a7789f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:TYAPR01MB3327; X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 3:9cohaTwOVwHL6Yi/2Op9IW0IOdsssUIeL736izFjQRbt5Dlag4f7+pZX+AT7SxiccX4iDnrT40xHJ6TT72xjU2xt7beU0KwdaKA4eSAnjjKAkYpWrsRRha71IEKikiAVEdO04oEsY3uF1Spz7o9EPYOlKLP/AmiKdC8+NH59tA6LwKVEqlrot6dTNJWlhGk2IaNLoMwi3h6fhdaAUOaPVhuzWvSSSjMUZ8PJcSkQLw0MURQHXdm97vrFncsLtQFP; 25:9Kvs+lUwctiGhHMIF4D0pUGWx4XtFiSKH5uMARgUT8zhycsQ7YvL/UG2E2PDc93fFYDAwkEN/5oqqotzhbmexoBu50ggZwKnOoLf/jqrEHU7MkmaUibSSxPfmtx4H5jSXQVmNOJig/Lpmc+RpbMurvGid43qRszG0cTGB5y6sppjUUTQUgUxytHv56Amse+6wb9EhA7jgSJHfC+k9fTjEmnByJbq2bNII4Ai9mObuMzQ1unbrnPxaFiQsD3AIYR5xwJW2CUs2uiTxJijlDc0QnZKpj/F5Ab/GDHm+hRV+RP0ixbpaQfOMLiBQ3+xmd8U3THbm4831+PHND2oFn7z3g==; 31:o2d/2yoIiSUlanEEi72r3lD38KSs6xEctD4mCCNviXcUUb0eL5OEZeuD8dCNhIs4ZE3jHT/7HpioY9pWj7KA3bRmqSm4cgLj9B/PG+oSw7j1eoREx0/Zg9NKOPuztSCtz5GbQqssQuUOuq4Ip03HQL8Oii087rOgaJ2UEOidKH5tbkQmJtlLcRwAwr3YXu5CeSgE1Rd9C30GyRU/A5hDTZ2oNI0RW71pa5/2A99IZYs= X-MS-TrafficTypeDiagnostic: TYAPR01MB3327: X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:gGSUFps5G8qbZ87ikteHZuFew8Nhoax+vS4Va3Uk2iyENt9LoS+CRCrN9ThW0Ce7NSLYEDSxq93t/BTnT3NzOjs8R0hxduwgVTJgnCRRVoW6/fH42EbhjwuMhfPXJHf4cT3WGHJNsYayIKEJytM7UiBaMHNlB6aoZ2L5L+QW+8/jkCLPjMIySSCcW7PuuMh+8KCqX0zXfXwYX9AqOMF5UHcOC0WnA4C3ZcR4OQLylm6TyHO8NTX5nf2+9mpiw8UFEkpUro6y2M/o/vsINTN2e+nPza/mFTXKyO/IGWG1yjBPAJzUmMwhSxkqj6kLDFhfYL9x/4zvgwlYNgSwJPL5ZexQkTs7W8txhvGw7S2EfdFCmaA8SjOlNiDr6KvxNAu/bSNTPxfLy1eJMwPSO3hl452kkkc9fGpLj/GX0Q9rxcbbWyppmrSytom9zTUq3r5YuLVKqUtdDo8MHIzdaZ0YmydvGPHU4bWp6NusMumQzMsjuyQTtYKCVzdjU3weT+wx; 4:VNeQy49OKAFwLaq6MqJoZj7sEptQHmtVtSekEFcyCHvV6EKNLLp5K0AEauH8sEO/LJCuCPMmgWU0XQJcQvjghZsRshN6j4AKe1WzNOTu++9cQ0Ph8LzVCzvqFE8+pO/Nch4he3GV/FGnkfa8k4gVOCQEmQu9sqQlkSo54xtI1pMNtzxytf8Z+kPjAuOOOTl1XcBbJ/2xt0DXwvR+i16/WNj8upgOJhojouqtyyAz012JN02hV62a9EE6VaQmF/gWuSBo4P9+kYRlYNnpAmqQIw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:TYAPR01MB3327; BCL:0; PCL:0; RULEID:; SRVR:TYAPR01MB3327; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(376002)(346002)(396003)(136003)(366004)(189003)(199004)(105586002)(53936002)(54906003)(4326008)(7736002)(8936002)(58126008)(106356001)(86362001)(5660300001)(97736004)(25786009)(316002)(68736007)(53416004)(2906002)(478600001)(47776003)(11346002)(36756003)(3846002)(956004)(486006)(16586007)(6116002)(6916009)(50466002)(476003)(2616005)(23726003)(8676002)(66066001)(386003)(81166006)(81156014)(52116002)(26005)(16526019)(6486002)(7696005)(186003)(69596002)(76176011)(305945005)(446003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB3327; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TYAPR01MB3327; 23:oOykY3oRB4qJUq+5oW74aqCHEkmUINbmF8jrDufmw?= 4iXczThogdkOmDuncLJ5dZe3RavistqPQHUC+Pgj+RBeiFLFzfhTIdG7s2YtakQkA9nk80T9VyPxNsye/vm/cPty7efG5Hs5d9xF58fdrZdETRa1F71F+wWfmeYjGJuaO3Y/jN/pfjVkyffjXBAivUu1Mv6JvuPkXgFbTmm29CWY47ucIOqiBMyJQgkEeUwXJrZxVwsVt1T0G3Fkt71gK7ZF1UQj2AwT2ARg8Py8BKjlhIJfIdUubUAQU/qiA30FCR5k+XiDHDxSd6Xp2BGbrdEK2Fj5FQu69w46rGCnxrkHwYCiReR/SXKUOQ8kyMxw3OE26zvzECIwmBZ1Zb78gBN0TiYt1KGnkM1nH0BH0jkRvrQiCI06FUCRxwdhsRnMXDAwQ4kKGXD0lMUpFF4XW47LgKUqN+BgPh/7y3TCX0qFldsBQmEONAGD8rQH67zvHsagxCI2qZmppmXt6hL0hdynKl97U2JJyWt3RuiGxNLxQk1JtSA/cZRL7pWVcUElNNNyFyskdoBQLvzcGboDu47Rmg9D5d7JKh8AoMlUZGviAx8fMyrxBI3QBSwd1UbiHQ1WskofVgAonSjAK089CovLtDXoxdcq/jBJ88ILIezJP16ll8aSbdy3oxzRHVq1Gr9kz84efRAc5ZJltqiqx05Rtg5OeAQflkdtdd0AK+OQQL9UKGh/9k4ftPtPnIdGVIxii+Fbju1HYPvlvSdWILW6s8JuuQgue35Wi9MFnDKfNGJqd1vT9ZPrH6kyQ+r2kU+VKBKZ+PLDvE+FKl8O+0wCJZt3IY8SrfpdPMN2BQxPbSjE/ghOp0F0figpJgiAcbsJbrBBVvLtBhqA5NwOsDfQqVLxKbBjvrYcknf79ab/N1WNWtWNLPasEtM88ikSfb5yUSjc7lx5tMVQvbZ7Me+U5Z13cP7hZNjkX2cD0iBq1BMxKo5HufQusTIA13daXfpnn8Da4b/4ueGGFl3IsXeuDeXcSAX/S7Ioyif18/53PPumfRAt5wRnmmYE8GvT8Pd2/3FbzrK2V+PJJERWmqRMPvjTWh73iCFlqxX1VnpKjeK1syaVk1UZAuLUd9RibjYiwqNIA3hZ19wHSD7F7jo7HVMSFh4cVGTFCugIrtqiaxtVSwaKpyhwP8TwXrvzftILrgPd3ID1MScNyCOvN2b X-Microsoft-Antispam-Message-Info: 3921HzaMGTutO0S+PkUIg86KDoZ7f4u4QXNj0Ila9EMvNPckbpHPKcLjwMoqtgnoWztpB6PyyTezSgFqiDt20mg6qGieSs70sxh1wOeBCbmzlMgu+MVz/1prHbEE3+vMOzsrQFttlXObNuwNfQTHhOq3yVwYXxT+sepTd6arMN125adAJpqKgJbo6N6C6rBsJbT0Lb/17qaJTrTvPC6MRLVNbLgmcZq/zzOgpph8nvLMbFawB1a/MpWMUgFeaZaoU3TgXHsvS6POQ4Sg8l1fFAiNCkd5/9SWuRwPe0VSzm7LAN2My6XuiNKzveWWTQmwjhF/BV2rkBgPJ5Yie4xlX1BxLX3VOODOo6+Gn2VGhww= X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 6:Ovv0cU11UEwC013rvDOuU4qpFnAAQN0DRmtumpTvX/cTp+M+hr0WAY2WNp+V4F3wWmb/4KfRYZ7IPjOuACym0fXWgo5eA46CGrmSjWj+efEro7T7dY4pkgNHUOl02Uezfce6ViaGTd6BL6S6NCjlmXRxB+suvlnSdScEmQdOL/0jWO3xUEhu86dCoEGPqOqyB1pnwOaV8C9529ZetavUg7R8LwJDmJIUyxQhb7dXJhyWM/M2U47BhhftvfSCpMbrdQueUMfZOZmX9Je3cUVTcD1KwCZvLhg7b87mtlhNYf7KBCUlROb18z/O3Yy+42kVZhwjQYNqh5fQ4qWQekZhFgpyLTth3acf/mQu66m36/tejYV62KLiuW6OBIT7C85Zi0EKGWBf4QioqRjN2eJ/OHtwO/5WeTBEjSQ23+n0sT2mKc+NCIF9KhX95qIjtIDcawt/x1kSHgB7j42EvzXvbg==; 5:SytauP0rCAIn7/1I8IIokU/7wUnzvOu37pNsT/2ThRf4jkX/c9nuAMq1hyahGUOYaAkA5SbSVvMyCCVNQYroOcPUfdnTjh8FLGuKPuWbmXCIDkML23T/KWWasUFPsjGBBaCdXrtq+6f8K/4U/sY+HMT47J2Jbx/hq0mBWuR7cF4=; 7:ZQL3rQP/W5VHVjeSnIu9ZnCAAyDm1tQR6WhhvBbaGRy7hQhsDEXBQQX357F+jIQSK3mca+pn+yqWm9dsRa0yASXq+Kb7tvWVNvNo5FTOUja60NggcnrHLFbtS83Ojoi2cgqV+9ocCUWUfbUkjvc6cg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:zaeADpCq1mR8UCawHSfxZaMhGz2n++4zWTPuc5GfH4F1xcbdYiZXHb3uJKulavJv23nOgzZyQjgZHsaM3ONPUOMhXy5Q8bfk+t+rQ5aT/d9hVY35/siOkCsp51WWMN94P2ZIA+5YyDVChdxP2yunD+FK7Qt1WOYkQ2XzOJrnaWo= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:19:48.1321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9e1f036f-7b61-4d5d-03c8-08d643a7789f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3327 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 04/10] ASoC: rsnd: move HDMI information from ssi.c to core.c X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto Current driver is supporting HDMI output, and its information are handled under ssi.c. But, it is stream information. Let's move it from ssi.c to core.c. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 30 +++++++++++++++++++++++- sound/soc/sh/rcar/rsnd.h | 13 +++++------ sound/soc/sh/rcar/ssi.c | 60 +----------------------------------------------- sound/soc/sh/rcar/ssiu.c | 13 ++++------- 4 files changed, 41 insertions(+), 75 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index cb59219..1758fec 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1005,6 +1005,29 @@ static const struct snd_soc_dai_ops rsnd_soc_dai_ops = { .prepare = rsnd_soc_dai_prepare, }; +static void rsnd_parse_connect_graph(struct rsnd_priv *priv, + struct rsnd_dai_stream *io, + struct device_node *endpoint) +{ + struct device *dev = rsnd_priv_to_dev(priv); + struct device_node *remote_node = of_graph_get_remote_port_parent(endpoint); + + if (!rsnd_io_to_mod_ssi(io)) + return; + + /* HDMI0 */ + if (strstr(remote_node->full_name, "hdmi@fead0000")) { + rsnd_flags_set(io, RSND_STREAM_HDMI0); + dev_dbg(dev, "%s connected to HDMI0\n", io->name); + } + + /* HDMI1 */ + if (strstr(remote_node->full_name, "hdmi@feae0000")) { + rsnd_flags_set(io, RSND_STREAM_HDMI1); + dev_dbg(dev, "%s connected to HDMI1\n", io->name); + } +} + void rsnd_parse_connect_common(struct rsnd_dai *rdai, struct rsnd_mod* (*mod_get)(struct rsnd_priv *priv, int id), struct device_node *node, @@ -1177,7 +1200,12 @@ static int rsnd_dai_probe(struct rsnd_priv *priv) if (is_graph) { for_each_endpoint_of_node(dai_node, dai_np) { __rsnd_dai_probe(priv, dai_np, dai_i); - rsnd_ssi_parse_hdmi_connection(priv, dai_np, dai_i); + if (rsnd_is_gen3(priv)) { + struct rsnd_dai *rdai = rsnd_rdai_get(priv, dai_i); + + rsnd_parse_connect_graph(priv, &rdai->playback, dai_np); + rsnd_parse_connect_graph(priv, &rdai->capture, dai_np); + } dai_i++; } } else { diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 4b547c6..9aeb547 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -458,7 +458,13 @@ struct rsnd_dai_stream { struct rsnd_dai *rdai; struct device *dmac_dev; /* for IPMMU */ u32 parent_ssi_status; + u32 flags; }; + +/* flags */ +#define RSND_STREAM_HDMI0 (1 << 0) /* for HDMI0 */ +#define RSND_STREAM_HDMI1 (1 << 1) /* for HDMI1 */ + #define rsnd_io_to_mod(io, i) ((i) < RSND_MOD_MAX ? (io)->mod[(i)] : NULL) #define rsnd_io_to_mod_ssi(io) rsnd_io_to_mod((io), RSND_MOD_SSI) #define rsnd_io_to_mod_ssiu(io) rsnd_io_to_mod((io), RSND_MOD_SSIU) @@ -718,13 +724,6 @@ int rsnd_ssi_use_busif(struct rsnd_dai_stream *io); int rsnd_ssi_get_busif(struct rsnd_dai_stream *io); u32 rsnd_ssi_multi_slaves_runtime(struct rsnd_dai_stream *io); -#define RSND_SSI_HDMI_PORT0 0xf0 -#define RSND_SSI_HDMI_PORT1 0xf1 -int rsnd_ssi_hdmi_port(struct rsnd_dai_stream *io); -void rsnd_ssi_parse_hdmi_connection(struct rsnd_priv *priv, - struct device_node *endpoint, - int dai_i); - #define rsnd_ssi_is_pin_sharing(io) \ __rsnd_ssi_is_pin_sharing(rsnd_io_to_mod_ssi(io)) int __rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod); diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 26a00a7..0c93b1f 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -99,9 +99,7 @@ struct rsnd_ssi { /* flags */ #define RSND_SSI_CLK_PIN_SHARE (1 << 0) #define RSND_SSI_NO_BUSIF (1 << 1) /* SSI+DMA without BUSIF */ -#define RSND_SSI_HDMI0 (1 << 2) /* for HDMI0 */ -#define RSND_SSI_HDMI1 (1 << 3) /* for HDMI1 */ -#define RSND_SSI_PROBED (1 << 4) +#define RSND_SSI_PROBED (1 << 2) #define for_each_rsnd_ssi(pos, priv, i) \ for (i = 0; \ @@ -119,20 +117,6 @@ struct rsnd_ssi { (rsnd_ssi_run_mods(io) & (1 << rsnd_mod_id(mod))) #define rsnd_ssi_can_output_clk(mod) (!__rsnd_ssi_is_pin_sharing(mod)) -int rsnd_ssi_hdmi_port(struct rsnd_dai_stream *io) -{ - struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io); - struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); - - if (rsnd_flags_has(ssi, RSND_SSI_HDMI0)) - return RSND_SSI_HDMI_PORT0; - - if (rsnd_flags_has(ssi, RSND_SSI_HDMI1)) - return RSND_SSI_HDMI_PORT1; - - return 0; -} - int rsnd_ssi_use_busif(struct rsnd_dai_stream *io) { struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io); @@ -1059,48 +1043,6 @@ void rsnd_parse_connect_ssi(struct rsnd_dai *rdai, of_node_put(node); } -static void __rsnd_ssi_parse_hdmi_connection(struct rsnd_priv *priv, - struct rsnd_dai_stream *io, - struct device_node *remote_ep) -{ - struct device *dev = rsnd_priv_to_dev(priv); - struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io); - struct rsnd_ssi *ssi; - struct device_node *remote_node = of_graph_get_port_parent(remote_ep); - - /* support Gen3 only */ - if (!rsnd_is_gen3(priv)) - return; - - if (!mod) - return; - - ssi = rsnd_mod_to_ssi(mod); - - /* HDMI0 */ - if (strstr(remote_node->full_name, "hdmi@fead0000")) { - rsnd_flags_set(ssi, RSND_SSI_HDMI0); - dev_dbg(dev, "%s connected to HDMI0\n", rsnd_mod_name(mod)); - } - - /* HDMI1 */ - if (strstr(remote_node->full_name, "hdmi@feae0000")) { - rsnd_flags_set(ssi, RSND_SSI_HDMI1); - dev_dbg(dev, "%s connected to HDMI1\n", rsnd_mod_name(mod)); - } -} - -void rsnd_ssi_parse_hdmi_connection(struct rsnd_priv *priv, - struct device_node *endpoint, - int dai_i) -{ - struct rsnd_dai *rdai = rsnd_rdai_get(priv, dai_i); - struct device_node *remote_ep = of_graph_get_remote_endpoint(endpoint); - - __rsnd_ssi_parse_hdmi_connection(priv, &rdai->playback, remote_ep); - __rsnd_ssi_parse_hdmi_connection(priv, &rdai->capture, remote_ep); -} - struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id) { if (WARN_ON(id < 0 || id >= rsnd_ssi_nr(priv))) diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 645340e..4f59100 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -135,7 +135,8 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, struct rsnd_priv *priv) { struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); - int hdmi = rsnd_ssi_hdmi_port(io); + u32 has_hdmi0 = rsnd_flags_has(io, RSND_STREAM_HDMI0); + u32 has_hdmi1 = rsnd_flags_has(io, RSND_STREAM_HDMI1); int ret; u32 mode = 0; @@ -212,7 +213,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, } } - if (hdmi) { + if (has_hdmi0 || has_hdmi1) { enum rsnd_mod_type rsnd_ssi_array[] = { RSND_MOD_SSIM1, RSND_MOD_SSIM2, @@ -238,14 +239,10 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, rsnd_mod_id(pos) << shift; } - switch (hdmi) { - case RSND_SSI_HDMI_PORT0: + if (has_hdmi0) rsnd_mod_write(mod, HDMI0_SEL, val); - break; - case RSND_SSI_HDMI_PORT1: + if (has_hdmi1) rsnd_mod_write(mod, HDMI1_SEL, val); - break; - } } return 0; From patchwork Tue Nov 6 05:20:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669647 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C57D313A4 for ; Tue, 6 Nov 2018 05:20:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B3DCC29DE5 for ; Tue, 6 Nov 2018 05:20:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A84FB29DED; Tue, 6 Nov 2018 05:20:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8050C29FD6 for ; Tue, 6 Nov 2018 05:20:20 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 667D0267936; Tue, 6 Nov 2018 06:20:19 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 9FA1C2679FB; Tue, 6 Nov 2018 06:20:16 +0100 (CET) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sg2apc01on0107.outbound.protection.outlook.com [104.47.125.107]) by alsa0.perex.cz (Postfix) with ESMTP id D8C1A267936 for ; Tue, 6 Nov 2018 06:20:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dF3VamIRihrb/aMstSv4TrY+StcZoMzPKLf1GSxNh6s=; b=PWHu7IaU/oqOOnxO0cUrLaShQ+Txh+i6urfSoWehFaNOvxwsH3FzqfB86alJbFC3sux9yvRgCgliS6goaKrFtbwjbf5YbFF5/x+EWtbDuH1QqtXCgZHM0oavqVyja43pE2fnqCzwxSuJF0h2d8gr+QRrdsFwM3FtbfyAmaLXmcE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by TY2PR01MB3321.jpnprd01.prod.outlook.com (2603:1096:404:da::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.31; Tue, 6 Nov 2018 05:20:10 +0000 Message-ID: <878t26x01y.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:20:10 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0061.apcprd02.prod.outlook.com (2603:1096:404:e2::25) To TY2PR01MB3321.jpnprd01.prod.outlook.com (2603:1096:404:da::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4c2e3a12-593e-485d-4f5b-08d643a785c8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:TY2PR01MB3321; X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3321; 3:N4qB/4ht1e+YY7NCT4Dw0mDk80/WxJkOT32ssrvq0r7HWyaBvXoVI5N/CnEgk0C7uGunFvsf8RC8i6/f42DZkIVUvWe3QnmzcZzLZJV3ZU+nNUaJb4ABnRLoKzu9GbWgEARa8ETwVuk7ILwnnVWSKvnjdy4dF3vOsg52i0tiXKVSiiQ/LHVZFdszC4l0bMILKZWR/lI7z8gnSQarsR7FlDCl5OiJx2Pv6b9SKmrewPlfADrUMZ6zk5hO+3iGZqO7; 25:Uml4AZYtASsXt5fZueAJn8zyDVXLYU3RMF/FIYMUbRlbqtXHnGKfdkG0vQyUzlR40MdQG5VmDLggl6siQEGUpXJUVlfkopFWDUrmjBG9f0CFPvrSV5iXYM9yFOWkJ3tM+A/z92dwvMDE1POtBHMEpV2Kp6KDukgNDJPqhhf8wnIWV00bgK2EidYa4HyO/fmsUaJnAJUswUKKPODvKbsOr36tuwJm996zfX7gSHBu8TvvWwz/zmFK0huGS9eabwLus7d8cmSOBPPZIa4sc6MCbzlspS+YOM48wpIwdbFIl7j7qT1Mcb1seMhGUyUDYcEb4UisR8iF/70ZpiyNMibntQ==; 31:zHYt0YWE3qM0jBzQ5zOCeZXpT6FicKda9dUNLvMNFdjUwud2zKil9MkNNqS0m0Q0c8AV6q7I74YJtpZLqvlsSrYjIlZMcFMjMMxs5SiRVpmQ17NDEv0MCU3kDUHnauUkdeqsIpg+awYyxeUQIKUdEHJog8RKXVFYGVHJmAulo1/VIFkn/+WvnNhXJquBND1+vPJWPuUKGsiHCNYW5ZNjY8ozOLfXdeJXTjrb3W7pIMc= X-MS-TrafficTypeDiagnostic: TY2PR01MB3321: X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3321; 20:2wYycD5fDk/ioLxk3j6PmaRQQmEP99fnSomumM7ZN4fEUKyNb3wFe0L00JMqQYMKPwRuFE7C4UO88iK83BMLrJKgyLYeDuwAWmnHiffVaDtr1aH1WRVqcrFT8wipcsteDOOqJYTLqTCephti2qxF6sKgjLtNHldRIBWyqD18rg23n/Tk325ZQVxJ4r/jEX4lL53FEzuqzYz7yCBXPgM4y4brCAJuDniZ7YUxwjU22p9GECS2ltGwwpyQSZXdQUn3IBwqjFXc/68rAwgFPDLlvGWAeGP1v3nDtMCuhDpLw14eg1gYzofRTKbGP3qN/WyFQUhPACG2OjwRtjVgsA3rf/FGH8DOd0uOTX7TA2HjqddVOcKFFAQWqzFyq9FXU3HRaNjdl6CqK9BIin2OI9kDw2emXSex94Bpi3YbLwDrDjhTQPn414QAleSjHdbhCveKLakLkOdbxxOpXuKj+i57bSqBTx4h8JYjVxn+bbSY2SjaErHm+cqhatBXcKJYg2rT; 4:24m3GNerdRXV0cZcubfRrZCzOLu/VyQn6UEqIxBP3n2pcUVdx/TP0nlmnacMtCyxzqL+/CJYo5mzTBAtJFmoOogsZ0W78d8ue5xdqd2iJkj1Hj3qpnrBtBB+Pe7bclqdU2udFCemI6T2b5m9OqRI01T4rf+Lg2nzKB98GLCaPHE36/JpOJ8O9Is0l+rHB8oLp2kTTr02b7vkjkR7IFjBWc27q8PqffpctrXkC6LcZRVeQag9VMXLiZ8lyCWJuIxVcoBSa8D+XOWFKpG0i61xRw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:TY2PR01MB3321; BCL:0; PCL:0; RULEID:; SRVR:TY2PR01MB3321; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(346002)(396003)(376002)(39850400004)(366004)(189003)(199004)(25786009)(68736007)(486006)(53936002)(97736004)(446003)(11346002)(956004)(2616005)(476003)(5660300001)(478600001)(305945005)(6916009)(23726003)(86362001)(6116002)(7736002)(3846002)(2906002)(7696005)(52116002)(106356001)(16586007)(105586002)(47776003)(66066001)(53416004)(50466002)(36756003)(69596002)(6486002)(76176011)(54906003)(4326008)(58126008)(8936002)(16526019)(26005)(386003)(81166006)(81156014)(8676002)(316002)(186003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY2PR01MB3321; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TY2PR01MB3321; 23:CpbvuXendNNz1Qxp3u3gyEQ66xRqhOSRtRVjdzkw4?= 7b6ASfa/yOJ3pKzZlD+qxcnC7l+8Glzr+gttpSPhusjS6369Yu8vie9G520q+x6/yVYpBiUmJvu/40etcuGpjuAyhGJewupzyHkEkvbvFvspKZfEaPq2E76o6yDFh6AnUKxxnBBoxo4MHtkIRgKjs82SZJNO3jicFOqN2yQC7t6wNbymACMdBkIv4Vfv0vdE8FOXncK+M1i4zayxLksVFwtBCVy7egN1VarXRRhNxEv1qTFsAwuOQfxi5CQMbAbSiCcgL5BT16o++92GRuKfIM5D4uYwQerY9omHC95zaIvwRuhYt+SYQZCgftL+0M62yH1ZT7VFoMnFIJ2OxALxYgNlF6EEooW5BMEBZs8gbUNuFhoAAOXPprrcwh1T5D4zbdboa/AHXl74ZBijPQwbYVOGgKOzEgzN+DG/ATxS1LZcuOrsro7y788rHyRUvjygQkrAdRQiRngw2omec60fGjQJWh4ssNW6kc9T2U9RWs9CmqgsbqAMAqBYVXKwodG/cCGmBKrYT+UTrkYLi+dlh6htcoGlyHhq9E+hy71qNmJxMHpULoOnSnjuPOzelevDO7JoyQQY3HVPL5RC3/d1Z0zEf4InIFeKahgotoPlEWDK/K2kpLQ9xP65G3ePWfE53Xoa0FXoO+bs5JGFCoUnU4xiHjJolTKIJ0Sw3//IycgG23x47l/cyRM1SEw05QDTzVtwagbdfm0BpCLHSZEH1tp9U9C9b1qpCww4A+Mfi3ItExAlXkiZSXbhI9/Qx8Wg4J2OLflygEfrfeCXUe79KVWTSWcz58eRmuQD3w6NpTuWeuEROORKP6M0Ila1E4bq+nbMwpGl5jD7KaL7zzMCCep5IAjzUrPnC6yN1j7l+CkegC9qXbsweRPjfay+ZwFopKn1/vZFtHPWDFX5AY2yge08Rsut8p2qscWiiMRuEQsZM/LLT44P0dqG+hCHQSTzz6VK39uuoIuSjpNyVmwnjzm29KGrmbxw2a896SrW/ChjYxlp60KKDEfWvIbQ7vxECaR5+Ba1ysG/Ns1jHsgMwcoY5ry/oNzYM7Lqn1PFXI9S2LgpbJ87Ga2CPQXD9+v+v5db/abngNxCRpSRrRkogaWvfqlEj+1kzeOCcLAIH5sAAZJ8LjrmzNv2IsO0SNYkp9mAKs3T6D0SExDzOOBoTbC X-Microsoft-Antispam-Message-Info: h6z/MWoK1oPUQxH84js2GG6eG0188zPbTVrwFSlkJ8uxO3zdCuoQVhvb6HdqOAqOVjj88bkMSZEgHrsHHZdaKlb/9bs6w7anfpw7m7p9xrFhNv07QRKqxE7vO250UeTfm1lKHMrQ/gNKc0Ano1eDIlfgEdB5ByLzy3mBidgTQUB6rbz2MPAWYXXVmTtSNmESJE16fiqvD/kiXNnDLE7cpzKhl7Da6cUvhuBqO+mFG38wPLWEzGxCcDiRRVadr6FkcH7DTxtQm+OBOLgMwk1UPZAvAPTaW9EJvYsy0YVvmIjZqYt2yd71pKm1F01jrsNdQM31ETaFRNVlCbsnw9lxZzfBKZ/kV+SmsKEr80+2V1M= X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3321; 6:YSkd/OxVAyXDBF6n9E9w2ikWb47trRUeRBvDoI7+KNp1QuzkY/mLRXg70JwUPnqFXrnKtOVTvrjwd0eO0itZ/6ztDP5jPEKsO2HeSxNUpB3/EJcuBaCz2pku1ykl+kz4uKn3hAH7pgcAGUmeG+/5i5WojvGf84FVKG8qT67TWADJrb5cM6U4k7LDB0xIipidSrqpJ6JhSgpBX0jQQHUTRchTPsupus1J7ofa5pXYSkAP2W6oGTJ+6d+x3ZJBZVgFmJ0wwDsy42dzkMYOOKY1Ij/is4Qg59Z3xB/CSlorxyIqyKi2ALhYE9rqgiP1+eK79rBaN0q0e+j7VtVpl05SSnfMLAAUljQbgO6VLGoc+fKN+7c4DMZ9SM/dUiN6st25BEF8T0RyX84tuxYHhQMI+YY0ZQQVQFzbfH86yudOhh7/QVmaNhDvKZcuFhG80K5W1e21r6HYXRImP5mGiZoCEg==; 5:atkURGiZTx48y9u+Apr6EJJFlC3KeugokOgyNiFL0dp8/CBFdM2VqSZl/aBbj1OdrmQ6vQIGt2kwWjCaPbvPQMW8M6SZRXxOdWZq4j5UdCM6LhdqIaEogtGY/98b0JYdpRLt1AQ3kFrAfi/sVMCAOmVUoSHJBuIwEH28Il65Jog=; 7:CQ2aeIx8XDwsCqQYZMB0z0QthBIq9cwnRDCjtK2x9HE2R4RwgOzK/Zr5IXR8CHtSHgxJB0ZjYHORpcPOkb1AhsNDksUIprsJ6tw+3v/w3EC1+k/qH+lhwBGd//ULfHG1Z8XonqWGw/0jaVjJDpumXg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY2PR01MB3321; 20:I1vPTeNbHWJUZUMraGtmbhsGmAtcSvP2uwEgki42tUq/VfJv+bJWb6pP+9bzObLznz+N6M7C94O82uNcu9RFEHljcUfNUXZlB3buUKPUX6H4w6UyEgdALith+OEswroyivn/nee8A0YcCBfGf/TyyWWcqOyvaMEi/aJRqZX+4iA= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:20:10.1975 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4c2e3a12-593e-485d-4f5b-08d643a785c8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB3321 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 05/10] ASoC: rsnd: handle DPCM converted rate/chan under core X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto converted rate/chan are handled each rated module, but it will be used other module too. For examle, converted channel is currently used for CTU, but, it will be used for TDM Split mode, too. This patch move/merge SRC/CTU hw_param under core.c and handles converted rate/chan under rsnd_dai_stream. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 34 +++++++++++++++++++++++++++++++++- sound/soc/sh/rcar/ctu.c | 45 --------------------------------------------- sound/soc/sh/rcar/rsnd.h | 5 ++++- sound/soc/sh/rcar/src.c | 40 ++-------------------------------------- 4 files changed, 39 insertions(+), 85 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 1758fec..fcc5c2e 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -269,7 +269,7 @@ int rsnd_runtime_channel_after_ctu_with_params(struct rsnd_dai_stream *io, struct rsnd_mod *ctu_mod = rsnd_io_to_mod_ctu(io); if (ctu_mod) { - u32 converted_chan = rsnd_ctu_converted_channel(ctu_mod); + u32 converted_chan = rsnd_io_converted_chan(io); if (converted_chan) return converted_chan; @@ -1225,8 +1225,40 @@ static int rsnd_hw_params(struct snd_pcm_substream *substream, struct snd_soc_dai *dai = rsnd_substream_to_dai(substream); struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream); + struct snd_soc_pcm_runtime *fe = substream->private_data; int ret; + /* + * rsnd assumes that it might be used under DPCM if user want to use + * channel / rate convert. Then, rsnd should be FE. + * And then, this function will be called *after* BE settings. + * this means, each BE already has fixuped hw_params. + * see + * dpcm_fe_dai_hw_params() + * dpcm_be_dai_hw_params() + */ + io->converted_rate = 0; + io->converted_chan = 0; + if (fe->dai_link->dynamic) { + struct rsnd_priv *priv = rsnd_io_to_priv(io); + struct device *dev = rsnd_priv_to_dev(priv); + struct snd_soc_dpcm *dpcm; + struct snd_pcm_hw_params *be_params; + int stream = substream->stream; + + for_each_dpcm_be(fe, stream, dpcm) { + be_params = &dpcm->hw_params; + if (params_channels(hw_params) != params_channels(be_params)) + io->converted_chan = params_channels(be_params); + if (params_rate(hw_params) != params_rate(be_params)) + io->converted_rate = params_rate(be_params); + } + if (io->converted_chan) + dev_dbg(dev, "convert channels = %d\n", io->converted_chan); + if (io->converted_rate) + dev_dbg(dev, "convert rate = %d\n", io->converted_rate); + } + ret = rsnd_dai_call(hw_params, io, substream, hw_params); if (ret) return ret; diff --git a/sound/soc/sh/rcar/ctu.c b/sound/soc/sh/rcar/ctu.c index 6a948b1..4dda7d9 100644 --- a/sound/soc/sh/rcar/ctu.c +++ b/sound/soc/sh/rcar/ctu.c @@ -107,13 +107,6 @@ static void rsnd_ctu_halt(struct rsnd_mod *mod) rsnd_mod_write(mod, CTU_SWRSR, 0); } -int rsnd_ctu_converted_channel(struct rsnd_mod *mod) -{ - struct rsnd_ctu *ctu = rsnd_mod_to_ctu(mod); - - return ctu->channels; -} - static int rsnd_ctu_probe_(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) @@ -233,43 +226,6 @@ static int rsnd_ctu_quit(struct rsnd_mod *mod, return 0; } -static int rsnd_ctu_hw_params(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *fe_params) -{ - struct rsnd_ctu *ctu = rsnd_mod_to_ctu(mod); - struct snd_soc_pcm_runtime *fe = substream->private_data; - - /* - * CTU assumes that it is used under DPCM if user want to use - * channel transfer. Then, CTU should be FE. - * And then, this function will be called *after* BE settings. - * this means, each BE already has fixuped hw_params. - * see - * dpcm_fe_dai_hw_params() - * dpcm_be_dai_hw_params() - */ - ctu->channels = 0; - if (fe->dai_link->dynamic) { - struct rsnd_priv *priv = rsnd_mod_to_priv(mod); - struct device *dev = rsnd_priv_to_dev(priv); - struct snd_soc_dpcm *dpcm; - struct snd_pcm_hw_params *be_params; - int stream = substream->stream; - - for_each_dpcm_be(fe, stream, dpcm) { - be_params = &dpcm->hw_params; - if (params_channels(fe_params) != params_channels(be_params)) - ctu->channels = params_channels(be_params); - } - - dev_dbg(dev, "CTU convert channels %d\n", ctu->channels); - } - - return 0; -} - static int rsnd_ctu_pcm_new(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct snd_soc_pcm_runtime *rtd) @@ -357,7 +313,6 @@ static struct rsnd_mod_ops rsnd_ctu_ops = { .probe = rsnd_ctu_probe_, .init = rsnd_ctu_init, .quit = rsnd_ctu_quit, - .hw_params = rsnd_ctu_hw_params, .pcm_new = rsnd_ctu_pcm_new, .get_status = rsnd_mod_get_status, .id = rsnd_ctu_id, diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 9aeb547..7e54edc 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -457,6 +457,8 @@ struct rsnd_dai_stream { struct rsnd_mod *dma; struct rsnd_dai *rdai; struct device *dmac_dev; /* for IPMMU */ + u32 converted_rate; /* converted sampling rate */ + int converted_chan; /* converted channels */ u32 parent_ssi_status; u32 flags; }; @@ -479,6 +481,8 @@ struct rsnd_dai_stream { #define rsnd_io_is_play(io) (&rsnd_io_to_rdai(io)->playback == io) #define rsnd_io_to_runtime(io) ((io)->substream ? \ (io)->substream->runtime : NULL) +#define rsnd_io_converted_rate(io) ((io)->converted_rate) +#define rsnd_io_converted_chan(io) ((io)->converted_chan) int rsnd_io_is_working(struct rsnd_dai_stream *io); struct rsnd_dai { @@ -767,7 +771,6 @@ unsigned int rsnd_src_get_rate(struct rsnd_priv *priv, */ int rsnd_ctu_probe(struct rsnd_priv *priv); void rsnd_ctu_remove(struct rsnd_priv *priv); -int rsnd_ctu_converted_channel(struct rsnd_mod *mod); struct rsnd_mod *rsnd_ctu_mod_get(struct rsnd_priv *priv, int id); #define rsnd_ctu_of_node(priv) rsnd_parse_of_node(priv, RSND_NODE_CTU) #define rsnd_parse_connect_ctu(rdai, playback, capture) \ diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c index bdc0595..50348a2 100644 --- a/sound/soc/sh/rcar/src.c +++ b/sound/soc/sh/rcar/src.c @@ -25,7 +25,6 @@ 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 convert_rate; /* sampling rate convert */ int irq; }; @@ -89,12 +88,12 @@ static u32 rsnd_src_convert_rate(struct rsnd_dai_stream *io, return 0; if (!rsnd_src_sync_is_enabled(mod)) - return src->convert_rate; + return rsnd_io_converted_rate(io); convert_rate = src->sync.val; if (!convert_rate) - convert_rate = src->convert_rate; + convert_rate = rsnd_io_converted_rate(io); if (!convert_rate) convert_rate = runtime->rate; @@ -135,40 +134,6 @@ unsigned int rsnd_src_get_rate(struct rsnd_priv *priv, return rate; } -static int rsnd_src_hw_params(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *fe_params) -{ - struct rsnd_src *src = rsnd_mod_to_src(mod); - struct snd_soc_pcm_runtime *fe = substream->private_data; - - /* - * SRC assumes that it is used under DPCM if user want to use - * sampling rate convert. Then, SRC should be FE. - * And then, this function will be called *after* BE settings. - * this means, each BE already has fixuped hw_params. - * see - * dpcm_fe_dai_hw_params() - * dpcm_be_dai_hw_params() - */ - src->convert_rate = 0; - if (fe->dai_link->dynamic) { - int stream = substream->stream; - struct snd_soc_dpcm *dpcm; - struct snd_pcm_hw_params *be_params; - - for_each_dpcm_be(fe, stream, dpcm) { - be_params = &dpcm->hw_params; - - if (params_rate(fe_params) != params_rate(be_params)) - src->convert_rate = params_rate(be_params); - } - } - - return 0; -} - static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { @@ -534,7 +499,6 @@ static struct rsnd_mod_ops rsnd_src_ops = { .start = rsnd_src_start, .stop = rsnd_src_stop, .irq = rsnd_src_irq, - .hw_params = rsnd_src_hw_params, .pcm_new = rsnd_src_pcm_new, .get_status = rsnd_mod_get_status, }; From patchwork Tue Nov 6 05:20:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669649 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E877F13A4 for ; Tue, 6 Nov 2018 05:20:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D5EC42A04D for ; Tue, 6 Nov 2018 05:20:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C9C8329EF2; Tue, 6 Nov 2018 05:20:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE37929FD6 for ; Tue, 6 Nov 2018 05:20:36 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id B256026787B; Tue, 6 Nov 2018 06:20:35 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id ADBD3267A70; Tue, 6 Nov 2018 06:20:32 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0093.outbound.protection.outlook.com [104.47.92.93]) by alsa0.perex.cz (Postfix) with ESMTP id 49ADC267877 for ; Tue, 6 Nov 2018 06:20:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EESJB3xzTAOjK+zv/BkAQ5xp8REQqS6kbuYhT9lsKNE=; b=UMNJPHZkKssF/I0/x7mABuHfILSv33QlbuxePKmi0+XHSePnHbusrkFnVRxF4c7OkZifO97fPjV05zPP2gCMiJu5EUVzWwqR/SqpoRMgsuoCE6LrrSh+SC6Z8LLDU5UvjouOOJXs3TwnOJch0N85wtruHeBTReTFoLBJWYMFgRI= Received: from morimoto-PC.renesas.com (211.11.155.130) by OSAPR01MB3314.jpnprd01.prod.outlook.com (2603:1096:604:52::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.20; Tue, 6 Nov 2018 05:20:25 +0000 Message-ID: <877ehqx01j.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:20:25 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0017.apcprd02.prod.outlook.com (2603:1096:404:56::29) To OSAPR01MB3314.jpnprd01.prod.outlook.com (2603:1096:604:52::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b0780fc7-4e6b-4304-c5fc-08d643a78ee9 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB3314; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3314; 3:xOkPcph6bDw6i6R+rwAw/maxL7liU5cay4Q61uk8xUyxLt6a93307rGe6opuXe0yH6Rst9kH5DqGT6FHr+3/VEzHqqboc8LhzQ5o8RaE+KcmRf/FyLBDLqBBsoL9u700UiOx1rVKjPEfTv3lx64Uymz1/S/Hno8Hu8iSdhH5C8A5teWk9M8bwuBY+jo2y7jCuYGb7DQ3wbVxv0fNlLJm9iWoh3bkXoBgtncX66R5bDCncnLtxSRCr6YVVRajkikl; 25:kwqviKLGbSx1O2k4x3WCcaAP9pwZSqZiJM9/3vKwK7X/KusCCIHyNruMAuOTavWQA/VujtBWRa9QetYDmjdlGRM0N6IDPSEzwwOj6lwtjE9XR2AwbECplkyiEBQnQlyB2pzPlAK6aWdcSDJG8WKKA4Z/pQWiG3zZifQhqCVdq/uCrGBUGhMY+QIcEsYmr0K3EG3qTVUlkcfEicJLFU9IwNf7CsYY1NvMJ5B2ALfWKuK7naZUECfjlrlnLxZa4LhJCDLdHpTfvUjiH1jcVZpQAE7UPUiDajw/bXcN1Ob1iwVtCUDbjjdim9Qq7m/GOjvPIz++GvexKvjTrVqwe8pDgg==; 31:30uWYw+uBzGpZRkWFA52sDcdSsgQnWwabBolcww9fEhJouX4j2LD5JHHNadhnz1sTmDv+IYYX1WbG2Dy3oPvz5hx8R9QQzInBKf67gZQBh4eSYvlbwdG9rkzjmquAYLy6M1sBbYPJO+EECNrAlY4xmcZ0uh5aSANcjr5fDDaxw3JX4b9K3yJwLp2agu5wLFB/8Cxxvib4QPtimrdJcNy8/FQqe4f5EBwPczM9fgTFj0= X-MS-TrafficTypeDiagnostic: OSAPR01MB3314: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3314; 20:92BmvOgJgkrbYoR+nxk2HsJzU56ay1qvxK1SBC+y+qsATOtCx4x5GWx2peOAEXF15ZyVAKUw20OcVlrTWM8jK00rY/j1dg/nmh4T8M1Ul11AzRCaahgMeWxgyRcGw6Ik8EtYw6/i5I2FtTxNhSvB6tSRLDeI9q1FIDapJy/Ipy3f8hYDektEcU+gGGkJQVK0elGAw7vYNt1uFy/Pl+OG9++6TnG3Ant2WBnuEcOBrol1uZY3iqctmeBqSX5AAn5BiyjrlEZmgjtMqcGM7d8Bh+0qOCm5Oygvj9TcrUFXrHTqfaMsCAzdjAT/n+cCaiqzQIdCUTYUWnrjFiFF7mRjbTpDQgslhj8lvmJQ2Bg8gFGo5SqwkOTK9i5EWgMkPCOwA6G6TUBO+/SJISkZJe9DHz3xZ9U+CSjsPl3vKDWwToy6ElsM0RLZqhlpq060S9OzNFrtxW4J+umULegZ6adSBgl9dQFLSCJOKmrL5wOClzivxq4PDspGJSH0P40S6M7M; 4:u8uy1MlDtSr95wKQtFPAvzs9IvejaIrhR1RDUBryHYwIRnAaEziRO9xMd/qPNbGgmxxW2vFmhpe19Ebp7Zk2euyzQcMnsof4jy+ODIzyVhFWJvOWQv6BjzsriJFTBHjni/C6T0xZnLrXNmiF6KrF+CmDr7pyLFrmM0C68h92TT4TuOulnjzjFMRmr0MVmYfkXoud5ZlKCrek51ydmZ3+ksIauiX3fn8KQQpSnbZ1P+NLPxr9xNnKFZnr8XnWELzP7zEIjYvQZv8VEY+iOLjFKw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:OSAPR01MB3314; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB3314; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(136003)(346002)(39860400002)(396003)(366004)(189003)(199004)(50466002)(53936002)(11346002)(6916009)(25786009)(6486002)(97736004)(486006)(478600001)(86362001)(316002)(66066001)(8676002)(956004)(53416004)(81166006)(8936002)(105586002)(2616005)(81156014)(16526019)(4326008)(106356001)(2906002)(446003)(69596002)(36756003)(52116002)(76176011)(3846002)(68736007)(186003)(7696005)(6116002)(476003)(5660300001)(54906003)(47776003)(16586007)(58126008)(23726003)(305945005)(7736002)(26005)(386003)(21314003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB3314; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; OSAPR01MB3314; 23:0SlsqU30YrQZ48YT7roBev23eNm8vpsTHsF32U6qo?= xCk7PavgPMs/Y9k/WOik5sutoqQmwZu4qIe6pGuY7AVRWOesYz29XHAYctWrR20LKUiouq1CkzRQwlT6ub6mkCwsCenycAdx8/0qnRNYj9FZ0BuiRYoDg60SH4UiiH4ZKBnQPYgt+42BSNCIVsPbOgPun3zzI4YtOQGprM6OHemROH/DZgYOI1IJ1GDYF97oxqa+4c8pM1W3O/VTBuR85DaYKKPHdjYcYlmo/qk+IDs1SJu0gnUAXRx3N3mC4LL0T6QxXx9HqwKREogMXMdju/TK82nLbN1t3ahczvy0hyXpzanKOO4xMhRa85WCC7wA+q5iFUg3u0KJZlPZtUJs1ORWM87xOcCCt+ain96fM0Nwc12AnTTjhP+1HSDV35R+9EV0zlotm6H1Tvelra9WK0f+AHbG1wWUUDz6UTk64KhXXqo9LeaFbZQCzbr08VcpC7oKCi7lIJC5zK5NPQA0ogzdGmG+UcjclFMzktkFoUssnabuTKBhRKOqQ8mqlrgugJMfL5nZuvKeuB4Gv2fPC7/B53vPvPICwM5wbJzs90uZcG9k1pNqI4FGOjQq2KaPi39ZxPJIBtTN/66igPdEDZMUDw1xtXRWyzIN/Rm3/w9XPta96ZAXX7EWVyt0TbYJYvTU1tUlA2YN2LwYMydu7fsfHS8ErdlSyu5TC/LjoC+YMf10YevEBEnzi3G71PB1ENExUhlYRIiVnQW8yQuUYLHnSPNPcEaHSLPWLTQNgUeqy/R1nBC/g+TQC2ih+5Gz4ijZROuJQR+TZCAT/QeqXzuIpkkxtBVAwWd4ucb2QZKTW12jCaLJRPHuobBC+6l/LZ+t6mdLy8a7k+KY/lRdq1AGzxUAkNkellWQl5BVTonk5I0moEGvBLYJzJBACDVj2jkTIMDVqE3zlJNdwQdoPgPnFXotk7NRD9zBH5AvtQBBFbJUHR1yLCwEFQPQ4FUCnI6VSTF7UBrhFIAYHGYqeabiRkUD+QTBMnmf7lNKZjEN3jNDxQf61fmDRfZlkiIxnrJKfNRPa7XDZdXHuympszm6IdNiKmdbQwXQc2FnuYuBP9p2tD1GQd/nlF6ewIQPAf2Uth5DaAsh6evykqSEdvhvrz4lbFwLx7Vjx+ZnrxSC8K3WrubS3Uuy0h6AzxITYKoxTrLSx/ewk2AEo6L8eIdkcijM+c8hQfHuVcWNLuZsQ== X-Microsoft-Antispam-Message-Info: T1HziwkkbnT7iAu7upQC0SmqXgCNry3KtQ7v3yij1pcVX+O3oOJSealei5PqpcconfrqbgYS+OCimy6DgbI+Oe8QK4nmHwKGxI4shnopnQeJ7gCWjspCKwaMoIpjxFSiJxo4f797z6AmAsK/SPuFoPM0IoIgPExPf8Lib9JttsfXjgcbtf4nSYMAOCaWCZHor5caLZtT6cGYQ/ios8wE0+EtBG5QBPf8YjSNh9EagY1aUF5+1LItpglgfhcRDoHoBSJJCsAVvB31dbtApLF1ziCg/oYOpUOmkYlvGFZEYeTnJie7PW5CtpUxaXIjPPR/TDg1iqRnW4xjZ0nNGunWUw9seTdkHnFGJkSnGakdM40= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3314; 6:ig26Tps3nJdqp2m9p8i96A7HFMmbt9nKrrarnlcHwAcH2q1uKUu+hMkkQmICc8q+2Bx7Hi1wm8zF0RovwynAhy4BiLFWzsh4MMWDSKVuPjlaApkKoZ64qxAx1yfn/9Du7F1qWfIuNK1EaUR0ClV65f3br4+RhWGjj8Gib4IkttRInNM8At2H4puJo1ALb71GEKO3T+f2C0LMTeJmMLxeM+r1t7tWCX4NMRWRUGfxrv0PVbUbN/w81DKacCNzUy/4qUJkpKZj675TS9gWd0mFHTS85F5csQ512G/5rUIMYPiKNPxTHKj8lqRB2zR1thphh1AmWjswWGy82eN2X/72UP2mgW/Bw0I6sncbtV3RIRzh00aRRnELJITT4vELbVphrVsgO9ZgghPDgMc7iLBSO5AX9OFVGAeL0pxbyeu0eJ0iAArlW5HuUp+zIXB2DH6Q0W6hlCp4jx0TCPD5NpiJsw==; 5:wum39DWr+LaxigWTeNAZJ/CadmNEDeObMbDqulOORy9hPtP1jmB2mrhtxE8ZT67EqW5fTzXRL4qukmttsB0/4q31DzIMxDCTdafMi/Z4fzkCsh9U9iQqjzX335hNWhjh1OGzBHxA1H9e/BHsOSP6I+U8G9S74V6SYaqU8p9E+TA=; 7:o7yFLVQ/isSnYyy0jeKJM+wymIGIo2EiUd5l4PMd6mgo38D9JWxTHMi9Ev6gdtyettvl4HEWTuCOSmR4tnM7F98ScYjSiWN3LvP/OBMeSXpOeIS3uj4pO/WqfuEj3u05y7RTzRtHZRO2AgxzGeemOQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3314; 20:QsjOwumUIOxiEGuysrDdBlUClLp6H0c/Xb3AdAYKr3aIThbD0iFMVHi7qUzQhb4FpkoZ5cW0KvRZVUoNfwEBQxbWw0/bp3cbkb0sCIkh2DZ+XqQgJURWnhRxBMVRKvaAEkQpxMe4/TK5flFRI2ideToMw98+7pLZe3uxaczXZh4= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:20:25.4851 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0780fc7-4e6b-4304-c5fc-08d643a78ee9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB3314 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 06/10] ASoC: rsnd: tidyup Document for DT binding X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto It has duplicated DT example code on Document. This patch tidyup these. Signed-off-by: Kuninori Morimoto --- .../devicetree/bindings/sound/renesas,rsnd.txt | 214 ++++++++++----------- 1 file changed, 98 insertions(+), 116 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt index d92b705..8986764 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt @@ -39,15 +39,7 @@ This is example of Playback: [MEM] -> [SRC2] -> [DVC0] -> [SSIU0/SSI0] -> [codec] Capture: [MEM] <- [DVC1] <- [SRC3] <- [SSIU1/SSI1] <- [codec] - &rcar_sound { - ... - rcar_sound,dai { - dai0 { - playback = <&ssi0 &src2 &dvc0>; - capture = <&ssi1 &src3 &dvc1>; - }; - }; - }; +see "Example: simple sound card" You can use below. ${LINUX}/arch/arm/boot/dts/r8a7790.dts can be good example. @@ -83,29 +75,8 @@ SRC can convert [xx]Hz to [yy]Hz. Then, it has below 2 modes ** Asynchronous mode ------------------ -You need to use "simple-scu-audio-card" sound card for it. -example) - - sound { - compatible = "simple-scu-audio-card"; - ... - /* - * SRC Asynchronous mode setting - * Playback: - * All input data will be converted to 48kHz - * Capture: - * Inputed 48kHz data will be converted to - * system specified Hz - */ - simple-audio-card,convert-rate = <48000>; - ... - simple-audio-card,cpu { - sound-dai = <&rcar_sound>; - }; - simple-audio-card,codec { - ... - }; - }; +You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it. +see "Example: simple sound card for Asynchronous mode" ------------------ ** Synchronous mode @@ -141,26 +112,8 @@ For more detail information, see below ${LINUX}/sound/soc/sh/rcar/ctu.c - comment of header -You need to use "simple-scu-audio-card" sound card for it. -example) - - sound { - compatible = "simple-scu-audio-card"; - ... - /* - * CTU setting - * All input data will be converted to 2ch - * as output data - */ - simple-audio-card,convert-channels = <2>; - ... - simple-audio-card,cpu { - sound-dai = <&rcar_sound>; - }; - simple-audio-card,codec { - ... - }; - }; +You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it. +see "Example: simple sound card for channel convert" Ex) Exchange output channel Input -> Output @@ -190,42 +143,13 @@ and these sounds will be merged by MIX. aplay -D plughw:0,0 xxxx.wav & aplay -D plughw:0,1 yyyy.wav -You need to use "simple-scu-audio-card" sound card for it. +You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it. Ex) [MEM] -> [SRC1] -> [CTU02] -+-> [MIX0] -> [DVC0] -> [SSI0] | [MEM] -> [SRC2] -> [CTU03] -+ - sound { - #address-cells = <1>; - #size-cells = <0>; - - compatible = "simple-scu-audio-card"; - ... - simple-audio-card,cpu@0 { - reg = <0>; - sound-dai = <&rcar_sound 0>; - }; - simple-audio-card,cpu@1 { - reg = <1>; - sound-dai = <&rcar_sound 1>; - }; - simple-audio-card,codec { - ... - }; - }; - - &rcar_sound { - ... - rcar_sound,dai { - dai0 { - playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; - }; - dai1 { - playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; - }; - }; - }; +see "Example: simple sound card for MIXer" ============================================= * DVC (Digital Volume and Mute Function) @@ -304,14 +228,7 @@ This is example if SSI1 want to share WS pin with SSI0 You can use Multi-SSI. This is example of SSI0/SSI1/SSI2 (= for 6ch) - &rcar_sound { - ... - rcar_sound,dai { - dai0 { - playback = <&ssi0 &ssi1 &ssi2 &src0 &dvc0>; - }; - }; - }; +see "Example: simple sound card for Multi channel" ** TDM-SSI @@ -319,19 +236,7 @@ You can use TDM with SSI. This is example of TDM 6ch. Driver can automatically switches TDM <-> stereo mode in this case. - rsnd_tdm: sound { - compatible = "simple-audio-card"; - ... - simple-audio-card,cpu { - /* system can use TDM 6ch */ - dai-tdm-slot-num = <6>; - sound-dai = <&rcar_sound>; - }; - simple-audio-card,codec { - ... - }; - }; - +see "Example: simple sound card for TDM" ============================================= Required properties: @@ -647,25 +552,102 @@ Example: simple sound card }; ============================================= -Example: simple sound card for TDM +Example: simple sound card for Asynchronous mode ============================================= - rsnd_tdm: sound { - compatible = "simple-audio-card"; +sound { + compatible = "simple-scu-audio-card"; + ... + /* + * SRC Asynchronous mode setting + * Playback: + * All input data will be converted to 48kHz + * Capture: + * Inputed 48kHz data will be converted to + * system specified Hz + */ + simple-audio-card,convert-rate = <48000>; + ... + simple-audio-card,cpu { + sound-dai = <&rcar_sound>; + }; + simple-audio-card,codec { + ... + }; +}; - simple-audio-card,format = "left_j"; - simple-audio-card,bitclock-master = <&sndcodec>; - simple-audio-card,frame-master = <&sndcodec>; +============================================= +Example: simple sound card for channel convert +============================================= - sndcpu: simple-audio-card,cpu { - sound-dai = <&rcar_sound>; - dai-tdm-slot-num = <6>; - }; +sound { + compatible = "simple-scu-audio-card"; + ... + /* + * CTU setting + * All input data will be converted to 2ch + * as output data + */ + simple-audio-card,convert-channels = <2>; + ... + simple-audio-card,cpu { + sound-dai = <&rcar_sound>; + }; + simple-audio-card,codec { + ... + }; +}; - sndcodec: simple-audio-card,codec { - sound-dai = <&xxx>; +============================================= +Example: simple sound card for MIXer +============================================= + +sound { + compatible = "simple-scu-audio-card"; + ... + simple-audio-card,cpu@0 { + sound-dai = <&rcar_sound 0>; + }; + simple-audio-card,cpu@1 { + sound-dai = <&rcar_sound 1>; + }; + simple-audio-card,codec { + ... + }; +}; + +&rcar_sound { + ... + rcar_sound,dai { + dai0 { + playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; + }; + dai1 { + playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; }; }; +}; + +============================================= +Example: simple sound card for TDM +============================================= + +rsnd_tdm: sound { + compatible = "simple-audio-card"; + + simple-audio-card,format = "left_j"; + simple-audio-card,bitclock-master = <&sndcodec>; + simple-audio-card,frame-master = <&sndcodec>; + + sndcpu: simple-audio-card,cpu { + sound-dai = <&rcar_sound>; + dai-tdm-slot-num = <6>; + }; + + sndcodec: simple-audio-card,codec { + sound-dai = <&xxx>; + }; +}; ============================================= Example: simple sound card for Multi channel From patchwork Tue Nov 6 05:20:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669651 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E956213A4 for ; Tue, 6 Nov 2018 05:21:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D5D652A04D for ; Tue, 6 Nov 2018 05:21:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C64532A0A0; Tue, 6 Nov 2018 05:21:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DBC3F2A020 for ; Tue, 6 Nov 2018 05:21:05 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 9A124267930; Tue, 6 Nov 2018 06:21:04 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 785A7267930; Tue, 6 Nov 2018 06:21:02 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0106.outbound.protection.outlook.com [104.47.92.106]) by alsa0.perex.cz (Postfix) with ESMTP id 30C79267A61 for ; Tue, 6 Nov 2018 06:20:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8WUZhEkblSKtco9ycruWdAkzEzXOHxuFJjP5uNL1vl4=; b=KjxMMIzg+sHqhRWrs8X7chz+M5MoZomCVGkxesWCNH/Eex01udxFRUKsLj1WlqWH5zzh6NH7+2NLR7Tu2BY9/oNO+LlvgiVn1T+PQboZ9JziCA8hvp+sPUVHRuKTKp8jj8XLg/E6+W6SuiMNOH/vlHGpeTa677U6CslHIzEtH94= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by OSBPR01MB3320.jpnprd01.prod.outlook.com (2603:1096:604:2e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.27; Tue, 6 Nov 2018 05:20:56 +0000 Message-ID: <875zxax00v.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:20:56 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0039.apcprd02.prod.outlook.com (2603:1096:404:a6::27) To OSBPR01MB3320.jpnprd01.prod.outlook.com (2603:1096:604:2e::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c372c898-353b-401e-ff3a-08d643a7a13d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:OSBPR01MB3320; X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB3320; 3:RnqTUSWVEqLv5mHJBRoCkFqZxzGC2yQcx02smjUziZDy/v7YKq+glzewNFORJbi9ma1kkxoLYB36kPcP5+n7PNwKpcEKswqynnZhAQ3EGW/4ALNi+XGdJDiOcYIttSH1QNWDOlicxYlRl691FvRaFaMQo0flpIK+oEfXqhC/uQM47XuxzufB+QF+OyUHV86+BOdqUzNjjbcMViDvhjMCl94wkD0axESJnXLea7VwzJvUaYevc3CGLlkYOB1ri+O2; 25:G0gyzxWifkwWqWk0AzgSlOimprIEmoukqBlCDMzKdrlG0Ok7bibxx1l8i5JGGJMQ72XROQG1bqJy3tq7hz6g/N05qSlch28KxfV57VneESjNRDg9+Nhf07OPXE8iwPKwEDbyhqTDXS+mX8zLBDmTw5R2Y7WPXpVLF+Bha1qJLVN/6GDLDevLtag3NXnm4d/sD6NfylVfczKcZel5yFFxZtIe7B6sK/l/9b5vfA3dwSeab6KRZMIk4mpGR8xT8dlaL0/Gbk8tGQYtt6yjckPL9hRnrwmm02zw1BHzWLvt+eiTn4NP1Kwt3c3SxQNrfkzJT7KKMaGXHLDCzGw3/aNpPA==; 31:rsIKbnmA9hWvkjD0OXFhAVaQax0Zrcp2NaxUGLW69vtJJVw9auFtAwcpdQWCFHxvA7oSwW8Cnb+DnCFrF847gIVLeNxck199w6jJHgO66fsqFPLPnvFJuF+Ly8X8m9HlvQ5LAj7Wucp7wAy3qEFyy4alIn6tA7ekax2WqBmImvK2IILJO5zWwoOydlWbFOux+/T7GXb1JQh0XZmiS7Ho5VePGHxDT21HY4PtZsgtCOw= X-MS-TrafficTypeDiagnostic: OSBPR01MB3320: X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB3320; 20:rU7hblJDuJLOMSlJyp7Z5OhHMC3uxR/wAe9T0fS6jkzWpdWimWAfN3iUz+R7/JCT+EMU0v+7yNxeIGNnyy7oTvoUhxLe4+7K3YDd7KnbGUrNEa0vD58h/jQ3NUnxH0mdYN99nwpLeYK2I9CgblUSnexyGOm1i94ggl6xmVQwzeBQPDJQz436bqHpFEH8wMPA1jPxUWRCLMXDvxnKUzrfa85SaQo0eeToFoSfUYxqI6zdeF36ufWjNHO3RNO9faFi5Q3nDDGr7dXJR7KpNkR664AEu/v7oHo0XRG24xA0uDVqdvDt+31nulw/t/oPKjGUpubNxrrL/cn3ePcEaHzlZb/LQLzWDBgWBdutIHTRn1NRnRanOQwXcUXIpYfpB/WMGTfhVB/Bj5dPGCXSMwXuO3MI2TJej8i1M86Dr9HgRsyg5vKbbJd6kITP43O02VcGPYUQkcwA1h5KcMwHvjEdP2q+71MU1fOSPwNQz5sYebWpUMa5PMm7ql+Br76TdEHA; 4:IbqvGcEW3jXf706cJB4iqotUkHZZ8m1r3WuPy6FssvigE70wnCqJAZih5H2j9fznb+L7fEZcqQLraYM2fuyf4FS5G0fzyvr1m8Fw5DoXvFDq9aTTuMzD3PmXNbtSqh3M+lkHGY01FUahmHFZCBg6i1OmuOtChh6VN3w16Ypylm+zdiJzxpiHrHIRWqJTfAihy4ajGcGc+/zYlGhm6VgmctTvVL8WgWzYnaN0KqBfvj/QB5U9jL+JCHzbvKbhjud1GxUJbgIiDVha/aDvYycggw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:OSBPR01MB3320; BCL:0; PCL:0; RULEID:; SRVR:OSBPR01MB3320; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(376002)(346002)(136003)(396003)(366004)(199004)(189003)(305945005)(105586002)(446003)(2906002)(68736007)(53936002)(8676002)(7736002)(106356001)(8936002)(4326008)(3846002)(23726003)(54906003)(6116002)(50466002)(81166006)(81156014)(5024004)(6486002)(6916009)(5660300001)(16586007)(316002)(58126008)(217873002)(486006)(11346002)(2616005)(956004)(7696005)(76176011)(52116002)(47776003)(186003)(16526019)(476003)(575784001)(86362001)(69596002)(26005)(66066001)(53416004)(25786009)(386003)(478600001)(36756003)(97736004)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSBPR01MB3320; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; OSBPR01MB3320; 23:edchoKbCy0cZHWtcuiF313R2Jc2h4+Ezvz71aaDq4?= 6b4G5Jbu4rPBHCLySDwrcTahoXuWUgxo9NjUTafo1MpHXoSRDhtphUaCm1UOHigTRTwO3hPKlsQxBGh5z6whulDWcPAZC8s9oeAxlGi9EBqt0iDPoi9uMe/Bd4Wrcj2eTmVAqBETc9L8Kw5GS0/8kWOeK2ityVlQtf+jpyd06EH3hnDinn/T52Nh8dgZOKAq6+TLAo/7+9QSBY2n0azPdxPtd5cgKKhl7f0zvNJfWevFH69w08iSAY/+qOiBIDfJDZ2qqVmYc/DJvXP44tgk9w/KB7kY5aDffwaRrY2KggHYhnd8ChI6GX9XxERKNcytEgWhZBDeavcdc2TphJAgVzXv5d8sYsE2jAv+gJxTodA43OQ5KjkTURqRru5C3SxwGRECFwff5nbUjC2nQZqNyMc9BiiG86Nc4JkZJiboTfNFsoQBI+enixlHRyjkT8RLXVz8MYusa9kGgLeGWA06Kadv+Lv9nAn5en1w/YUwGAoSUL23SE2dHxSEMLQpNl/injVjP2zHbdxipIPkaZnqFA068hbjMcbgDqhGxWyialHlMFmyW7hoS+HLNpEIS8z8NklP140XqsN9MZEZpa5cguzMU0EGm/GVVOODT4b+bc7b9wn23GfBGSAo01/DcREKggkKbLQ7SVyAzHSU978YRVMUnqHL/maDE1yzcjVtYMB+2nka50rwYzoeCWxgGqgvdyXGUuWDuBvBnIR4L5EyHioaiSl0ndxEnCLFUF3Q9q8dW9Ig9gCK923vpFB0mAF8mIBNWlDFRwEB7bjsI2k6fX+fJ0kFeETX0AWKWHeljQ00zmMxXZ8k4O83j/DgL11H/Ot2FwKzBXY13Kp58fSOp6gERTqyXLc2FHakbBGIk31R1E5vWg9gY+354+1J6nRhGEBDRXe4jgEu/KP7KxXuuKi8uq+Iyb1BPlLYlfyFlh56BpfiWiiSn4jnfm7FRolDo96PSYBcmF0Ue7Z2RFRa3mTSMLpsZNPlEn3bICDT7d8KX1UByJYVfeBpRrjSL2CQtpVdH0MPDTtOwowQ9nWDkyBQVpIZriljTuyhJmr15PFcnTz1FM3VLOyLIHw8F6r9d0krNXNP5S0cL6yTTVafIYULDFaLCV0uEEBE1vPfrQiPTPUO/+sLPP+ZjxqBoC7FYkSVY1TTmIt80yAZ8Uh/T64M/M64EyCcPXQFM4nOzb3+yMnMURz1zz0+FoglH0MzEB+hq5dPVYpASorcDH+Kcb3 X-Microsoft-Antispam-Message-Info: W4jUTW/8lvZD7nX2HH886xeqUATnvaYVNoOiPtB6TxZC+j7De96zPNhtHFJ2B/zNCTVHz8NkvOoyDCW3tIxurA9Bpu7w7Xyx4+qrnFJ1jcGLg2xtJ75NCz9ZxRdic8+ivurURiQv+DeSqshJLUjTpjjZbHKsFsfAzSb/K12WQ0ZOrs0BDGK+oXUG+xmHlusV+eQJ5WmyYCMZFekuMD+W9DefLhhgO0Bri1wlFePVbilmMH4/eFYIl4hL//eDzM5pEAhSse2QCHbGTLxZIZTfhLNz2cP18W69RSTqdKcmbzubW1UmZyPzFDYcFQ5dqZNrbMk0xfZ6jBcn7I9sIM4pJd+s4zLMngNDiBDcQuyGMwg= X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB3320; 6:ClJmgF0ySkiIi3kiuYXunOImCe6aIXkkEtylDQ3GPkCEKeEzkFVEiDt1dgeBns09FOCRwZdhOaaetanQN4QSxZSwFTKecuOknnDIlXom+HZ5t+A3Q2eE3olvp1gSYiqltcRtVZUvPPJf1qCiutNxg5g/VKjm8nEM6QhWuGvo3TLrfB+Lphi3Upl8C5BeYPRpQqrqGkkXbRCDjlTtpT9OEwABjZV7NjCL44ELUOI6AxcmYdcS3EBQhEwxIv1jxbdO4y0XliGWOMUuPv0w51dok25cNtOGqt7FTk8J9zSV3JW02dXeE7ZeY33RQsyVu0z5iR51Wmg+rrCfS8B4Cz2Iu2b/L760RLcHBq3Ja5FtdTboC5zap6rw2nj+3g8tcI5ZG+dMJq1qr2d5lHQD9kDU6b3nhV1vgfqwV8ahd8Atga1BIBaJLHCMQ4ciwtHVPa3b1FN6h1A0QTCK/BCwpYQ/7Q==; 5:IaYMAfkEgz0PdqMyseNZceHUnOfGRDeV2aWbYPOerwGVmvn/VRfyhoLqAVXPY8cV1PguH747tlJRB2icKdz/2wfJswELsOsg4G/FdZPaSOzY7Fqf3BQjkJ0hNngMGXpoQjatKF7bhCHpvWJyXLhouNNF01dJ57/mJgZNfZaLqGg=; 7:UCV2WMJpi64v8CtxwwPbJ7sKJIjITNRQjnS8QK1acc2+uC+rh+AQ/ZBbFMDEdouDh1PG1m/gUTk2nyC8UcdW1H60CNcao8h+7VQxG7nlT2IiBQnXIL478pue6m7QB33kHUUP0/dzUtRgUOatsVddbQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB3320; 20:5L/IQVcL8VZEQ2fk9zIfXoNIPxYCfI+139B+ppFAVfz/tmo337kEsRqpxFwG+8wvf469CbW1fznX5nBImtK3QOzPC9UmE7RhI3NG4QU43j3X82a3/wd2XORzz89LqOG6u7f1Dy8K/wPKjkbtdVkJSZbLYSKvjLTKaQw5uvLFhes= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:20:56.2360 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c372c898-353b-401e-ff3a-08d643a7a13d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB3320 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 07/10] ASoC: rsnd: add SSIU BUSIF support for Document X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto Gen2 has BUSIF0-3, Gen3 has BUSIF0-7 on some SSIU. Current driver is assuming it is using BUSIF0 as default. Thus, SSI is attaching SSIU (with BUSIF0) by using rsnd_ssiu_attach(). But, TDM split mode also needs other BUSIF to use it. This patch adds missing SSIU BUSIFx support. BUSIF is handled by SSIU instead of SSI anymore. Thus, its settings no longer needed on SSI node on DT. This patch removes its settings from Document, but driver is still keeping compatibility. Thus, old DT style is still working. But, to avoid confusing, it doesn't indicate old compatibility things on Document. New SoC should have SSIU on DT from this patch. 1) old style DT is still supported (= no rcar_sound,ssiu node on DT) 2) If ssiu is not indicated on playback/capture, BUSIF0 will be used as default playback = <&ssi3>; /* ssiu30 will be selected */ 3) you can select own ssiu playback = <&ssi32 &ssi3>; /* ssiu32 will be selected */ Signed-off-by: Kuninori Morimoto --- .../devicetree/bindings/sound/renesas,rsnd.txt | 87 +++++++++++----------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt index 8986764..6ed1a36 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt @@ -181,15 +181,12 @@ Volume Ramp * SSIU (Serial Sound Interface Unit) ============================================= -There is no DT settings for SSIU, because SSIU will be automatically -selected via SSI. SSIU can avoid some under/over run error, because it has some buffer. But you can't use it if SSI was PIO mode. -In DMA mode, you can select not to use SSIU by using "no-busif" on DT. +In DMA mode, you can select not to use SSIU by using "no-busif" via SSI. - &ssi0 { - no-busif; - }; +SSIU handles BUSIF which will be used for TDM Split mode. +This driver is assuming that audio-graph card will be used. ============================================= * SSI (Serial Sound Interface) @@ -268,6 +265,9 @@ Required properties: - rcar_sound,ssi : Should contain SSI feature. The number of SSI subnode should be same as HW. see below for detail. +- rcar_sound,ssiu : Should contain SSIU feature. + The number of SSIU subnode should be same as HW. + see below for detail. - rcar_sound,src : Should contain SRC feature. The number of SRC subnode should be same as HW. see below for detail. @@ -437,56 +437,55 @@ rcar_sound: sound@ec500000 { }; }; + rcar_sound,ssiu { + ssiu00: ssiu-0 { + dmas = <&audma0 0x15>, <&audma1 0x16>; + dma-names = "rx", "tx"; + }; + ssiu01: ssiu-1 { + dmas = <&audma0 0x35>, <&audma1 0x36>; + dma-names = "rx", "tx"; + }; + + ... + + ssiu95: ssiu-49 { + dmas = <&audma0 0xA5>, <&audma1 0xA6>; + dma-names = "rx", "tx"; + }; + ssiu96: ssiu-50 { + dmas = <&audma0 0xA7>, <&audma1 0xA8>; + dma-names = "rx", "tx"; + }; + ssiu97: ssiu-51 { + dmas = <&audma0 0xA9>, <&audma1 0xAA>; + dma-names = "rx", "tx"; + }; + }; + rcar_sound,ssi { ssi0: ssi-0 { interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; - dma-names = "rx", "tx", "rxu", "txu"; + dmas = <&audma0 0x01>, <&audma1 0x02>; + dma-names = "rx", "tx"; }; ssi1: ssi-1 { interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi2: ssi-2 { - interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi3: ssi-3 { - interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi4: ssi-4 { - interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi5: ssi-5 { - interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi6: ssi-6 { - interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>; - dma-names = "rx", "tx", "rxu", "txu"; - }; - ssi7: ssi-7 { - interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>; - dma-names = "rx", "tx", "rxu", "txu"; + dmas = <&audma0 0x03>, <&audma1 0x04>; + dma-names = "rx", "tx"; }; + + ... + ssi8: ssi-8 { interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>; - dma-names = "rx", "tx", "rxu", "txu"; + dmas = <&audma0 0x11>, <&audma1 0x12>; + dma-names = "rx", "tx"; }; ssi9: ssi-9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; - dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>; - dma-names = "rx", "tx", "rxu", "txu"; + dmas = <&audma0 0x13>, <&audma1 0x14>; + dma-names = "rx", "tx"; }; }; From patchwork Tue Nov 6 05:21:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669653 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C83AB13A4 for ; Tue, 6 Nov 2018 05:21:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B479A2A04D for ; Tue, 6 Nov 2018 05:21:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A0AD82A0A2; Tue, 6 Nov 2018 05:21:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 51C272A0A5 for ; Tue, 6 Nov 2018 05:21:21 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id E96C9267A6C; Tue, 6 Nov 2018 06:21:19 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id DCE2D267A73; Tue, 6 Nov 2018 06:21:16 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0118.outbound.protection.outlook.com [104.47.92.118]) by alsa0.perex.cz (Postfix) with ESMTP id 9539E267A6C for ; Tue, 6 Nov 2018 06:21:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vac+Nxv1kCo3q+ICf/6qwnloqIQCiCCbw7na7Q7wToU=; b=aEz9+uU/het+Dcg9zvmzygDaxno+HhzuNaYTgW/0OhgzBzVWEc5xLpuNIDUygGxwLypuOaoLhYy/xjCTAzzs3a/BoqF5046R7TyJmaPKRBJpE6uZSI8K28PDKUTC4U85nuObw8kGYlIrPYCCRWPxy9hkgM5V5rlohjDU+lGKdHg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by OSAPR01MB3316.jpnprd01.prod.outlook.com (2603:1096:604:52::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.21; Tue, 6 Nov 2018 05:21:08 +0000 Message-ID: <874lcux00b.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:21:08 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR06CA0018.apcprd06.prod.outlook.com (2603:1096:404:42::30) To OSAPR01MB3316.jpnprd01.prod.outlook.com (2603:1096:604:52::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e65b5eda-83a9-49a0-bda3-08d643a7a8c6 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB3316; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 3:gDo6PZWUDr8eRox0Al99PTVSwte2vJVJzpjFpIaP1NnNzncUU6iivVLAtNdgGXqpTKa2zfx03AccS4VwFdxS/YGJ+vo/jcM4VgRuXqdDG+Q0/UvKPyN82/LDzOufJslezkklste9idsaeHEyTazRnLH5CLFtBKMVbFhW6qDiOD4MdqtViTIFJCht4jFkzSSUYTfsHJyaRZr/pWID/TI+wT6KbfYYcD2VjdX9+ypfZ9Xla6fiJ11c4FrR4qNMlM8U; 25:yJyXYu3wN4iVo0nYwRJwCfD97R86B1gH4x9R/XMjmDPmX7B1+gXWr37YFOHlTsSOdh3VwkpHALCboX6Y7qkb/MQjWoeyO9oK2oba6EodTlZvYXHMZF04nRsiqfJF3EWX7uOZ6JQTefPBIHt52OEQt9666EU6SCTXFzaV212AJKoktr/Rf3DH8dy+ijE+9vtnmMD+305ttaVRK30hXLqJZbjmOXvh9bTFAs0BU1JG4lqO8eE0Cg1uh2K+y4rvxmipnhl8r5YR1f19pPxatxqr2trLz4g6loR7mVgAavE7ez/NVgObJcrLJ8cVX7KH3/LOUH8cNYfQ6hqGR7s0lfIV7g==; 31:2Q/V6mWGtrqVAmj2e98g+p49Nd2lbzKi0SDbxH4aWaiNuXdBT537xokh8bEnidlUIqLRTljSWV9VxGi7gUu/qJWbSbmt2bIE4/gJP1Uxxbo2UgmiBxPIZio2Bqe+2A4uMvHacZw3haP/+934kQGeDHhDVtGDmhQ7CuwjHIoy7Y29zVXjbMTizgMkjDi/3aNiOahiSUqdsr31JQTcK6GLnBAp+5H75henbkIKM0UJBlA= X-MS-TrafficTypeDiagnostic: OSAPR01MB3316: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 20:cvYPg0G1x5L0K/h2aqvlO1AtIIQgN0HohubVFkdyze+BUKonqp0l9FlcrtnhlactsZ+fmX0iSkb4ajfGQFsw3oSeQs6j08CgpmHZ6jaTPBg5Fb2w1Fj5yPkwn9v4EbfWFtI1niTIsLNmJNlCvfXFy6EvktmG/jfP3Wqf0WicVXEXpQUyjIoz2gZTOEivTYEqRc6pcepEK7tOGeA5aPTyrPBNEZOJms0+FwOg5rQbDUtyJdL5LmVIMxZYVzhhTunkuMM4IMsCabdBquwmB88uVdPzkVlswsQtRkVpOr+yXV3o7lhMNfCa9e2aK1t/MxrWuc1nIBaK8uxzqlGcskcTTM711H3v1UUCWx+8RIyUQ2epu1As6+u21QTmte8Xf4hYDduugd7vbN4foazBkSBWAC9yg4Y5MJ7808c81Lpwe4l8muOrLTpTdy0seacXq8t5gL0cRXcIHYWpHlUdbycmsmj1N8fjoQqesWpfoYf638CqVsd8OvI+exwkSNSK9Flf; 4:yEg3zCjnmul16FnbBuKYhKSMEMqRiz+oNUfXeegu+rcY2rR15C6S2k1udUFMaRgbyrzc3MSnR86jE/hO84UgVv5j+RTGHvJEoFrMN3XdMEyWK4nSwzMFsWjj9O66MenDX6JwPmAe9LYb/hWTsDQc7wqepo/nsmDY+bABMMAqZnjCDrSHe6PPs7aZWQ4bY+x8GQAOXA1FL2BAoCeXvywODsc4R8c0QYizKFLl56s99ti9cTDj2U/zewL87k0kjt4JvKpFCdBow70YKmCeikMXGA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:OSAPR01MB3316; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB3316; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(39860400002)(136003)(346002)(396003)(376002)(189003)(199004)(66066001)(486006)(23726003)(8936002)(4744004)(86362001)(386003)(575784001)(6486002)(52116002)(476003)(16586007)(7696005)(2616005)(4326008)(956004)(76176011)(81166006)(26005)(16526019)(47776003)(53936002)(186003)(105586002)(11346002)(81156014)(69596002)(446003)(8676002)(36756003)(97736004)(106356001)(14444005)(5024004)(53416004)(6916009)(25786009)(7736002)(58126008)(68736007)(478600001)(50466002)(305945005)(54906003)(2906002)(6116002)(316002)(217873002)(5660300001)(3846002)(16060500001)(309714004); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB3316; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; OSAPR01MB3316; 23:+tAi1PMIjBiPsy4VfuGtVoXTawjiplj8Oe81n61wU?= MICPODlc/ujRY2NlmvYyD9wyrznZSj8iaVUCwjReoZAUGVtZt3EsJlC+cp6a+ik796vlp9aw2aFXPHDjNZWv/ERF8GZaOT/u29fOGPIQtFBUwx2VYYmfxptrzaOGxBHO6hh6H+5jSUGrha0oD4NWyEacFBQcXvzz+iEdBYKjSGVL7vLhN8c/5NEBQeVX3jYGLp/YOT3oar/42W5UZoLpK+AGE3j3ImhPQGKgTW8J0Dq5i3EAXgUxz3I6L9+nSSojXxgePfmKMTBT/ttHwyjr4kIPh1lBBhtqSWE1eVaozXEqL46UYdnWWTbp9OgxF5zyM3LlHB+F+AJlmiFIQhKp2qJ3e4kaxBQVoWDBN0/lc/Y8/MdUpYhVpqsE4IZktfPtRoCc7PvmDZzA9smF1eJBM5bV1BorrJ41ZUVU3zEQ23nSCtJyCkZGuAJw7jQMpjgt8DH9UPr/SNGRo8WAIAuCMi2UwxxGfFPIiL0ffwxJXLWWlMQSpshuVvX6lXox0bsOy46vdyoGJ5bjrgQQ+CtoD09nYCJBJ/yBKS/QDm9vC2ubasRZOMZm57QbdPK0EZAsYMgKTfECDf12/iAiavgfBSpTYORcVvraBx8l4EOxx5jagSatykr6PTVQS+lqpnEMsKvoPhIocKoLuoMdlEPJzcTjQjRAC0PE4HIo8Z5ASSz2o6Rw9V0k3EQ70FdTDse3pj2XQiWzfHExOWnKbjiSgCkHHKaqFZMBM5LOkseJbjN5ijWVoE0E2wLzWPPme3dQrBXrhLs2sMep5bgp+CLIXBmnpqwtorY8vGJnWsa1LAiU8Wcw2fE3nqDATUStihmRfWQGbirjKXd0ebq1vVvdup/MDtVVycALKd6PQ/uzUWfa8naPgkp8AdgWO6IwURQpbXBpLy+vzxPvsa/nWL35va6Gj3g95rZeEI5qJ1tGBQVKZb91Ua8/pTLnjxkX6VbvGyn5cpk5Fa7MvxakvuyOc6LhDmKDVH1VOuLSvn8mU6rPJ2KL2oJqh2mlEUr6wLq1ySD1UJr0qRbHveOwKbg3OoU7tPsAldxoXnr2FvmqFqYWasqnyjU9eOJkYm4wwKqrmgsuZTLRE71r6lyAKRihl9ot0Q6mxOmZLpdoqyBcKW87BKpWOKdzqUWFVHAlQUuaPtNEFB3IR+JDing+xYP/asfV3jPfi1G6Pn5NPazHkxK4GROzUTFGzACLsIkJpDFoTzsj31tKkAT22FdvVHOFYo+ZDoXkiS3PEaGppI8I0sLRTbPpMGO1RludZ4TNUfTBfhla+G3AG8vRaz+OjLdc+79 X-Microsoft-Antispam-Message-Info: CrKmzuRJXGd9+7T1kBSBn8jqo/brhbirGr05eTVeXm2os6fMGW57F+yaMZYbzSWxkzzU2p/8jdUUhKz1nrUyhuI9fFbgUoyO4HMIPYJ9HwfWl5x6Jev0Ut/0JwTW4JdYrYbPZsEYrB1JuJeSW9F6nI4Jb13Gh6+wXktRNjF/hBGA1nYaJQ2n54U6aqurWvZ1sBrJZIqVjf+giBz8YKdkdkzGuniNHf5Ra3MbP64ZL4tq7N0U5k46MGtDkvSRrr7uFwhutwVJfzZAiapa87gSYyCikBmIruD81xnxIiHTBNYnIdUCscrRzAZiuxvyFOWdmMBnXEj1Cf1uBllsBbpqrpX2ulhoYnzVZZU2rnhQJt0= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 6:OI4Bj9Sbf9JKkubWTo4xqvWHpIKUZN7ssfmXmUQq5OuXAk3Qgli0C9qdZ2qZ/HLOG+M1auWJgASbsPIQaRJEwEo6c0iQ9L8YgD4TzlpyQJ2pKiDeq1dMCXPt2nAE9kPXq7HEHZjlSC9FvwBHbmTMNtboPOcDxJ2cGUCzjvXppp6KXz8eU62+HAmGJl7kMLItqDK8E5rLBjFSEhL46mIyQBOPQVMgSxwUv7ej9PYmvYGA/rKSHrTqmgJDqbmluzvnpKGIULKuPLAFUE+Rc27EbHE+ZZPAx1Pm64vD0WT3mYpOob6hDq8ugOjNIJCIgRATSm7WkNU5mfU6GDI9JPhBT76xm+lPaMgL2NEKJTe0sIMCqyHgTAJM7ABc4MKiToPKP7JYza3OgjkJe/L39H6px0Uz29q71WjD+bBCA5Oqsra+J2zwwGl6DpKN9m3U/Pcpg/i6FoIg9Ygt2b7nWWKtrA==; 5:GLIY0+iWW0qQiU2h02A1hXkNAbe2iO8RsE75G/Zb++JwlrCapFx2JO1EVkb7tuKKrm3+nmGs931Yijlafw+3Q7OO/d++EGu1WuizsU0pUErWqxIWZXTs8rGJuc+LeWtWYPTQT4zeWQSDyS2wpltaUQktMUWgF6sLI/Rju9cu+S8=; 7:pam6kcaWWjfAEKh9aZeMcZTWSf7guiEkTTLwZj+De1ZcLLOrJCxa+fDtqdtueD5UcMyGUVXqJ1wNMoKXvog9O9oyGqZpbiEFCGi3hs+XbQ94vjnv13OPzJ7i6ihDoOCARYfZSvMcymLDD9UxUn92Lw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB3316; 20:xBomhbm6U6Sd0HZzvCQIq3PvhQL1s1bJmZuPx7bJn78s/+bx5rXvNC/jEJCehIGfJm7MGQSBXG1PGa4vnDD8DBpgLrQrLDw9/lSrsDJ55xcPFS5h9IJ+YxEKtcGm/hnUi/DaxFfozb2lmniyzlOB0gRLA6jVBqQ6jyruifDZTlU= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:21:08.8918 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e65b5eda-83a9-49a0-bda3-08d643a7a8c6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB3316 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 08/10] ASoC: rsnd: add SSIU BUSIF support X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto Gen2 has BUSIF0-3, Gen3 has BUSIF0-7 on some SSIU. Current driver is assuming it is using BUSIF0 as default. Thus, SSI is attaching SSIU (with BUSIF0) by using rsnd_ssiu_attach(). But, TDM split mode also needs other BUSIF to use it. This patch adds missing SSIU BUSIFx support. BUSIF is handled by SSIU instead of SSI anymore. Thus, its settings no longer needed on SSI node on DT. This patch removes its settings from Document, but driver is still keeping compatibility. Thus, old DT style is still working. But, to avoid confusing, it doesn't indicate old compatibility things on Document. New SoC should have SSIU on DT from this patch. 1) old style DT is still supported (= no rcar_sound,ssiu node on DT) 2) If ssiu is not indicated on playback/capture, BUSIF0 will be used as default playback = <&ssi3>; /* ssiu30 will be selected */ 3) you can select own ssiu playback = <&ssi32 &ssi3>; /* ssiu32 will be selected */ Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 1 + sound/soc/sh/rcar/dma.c | 37 ++++++++-- sound/soc/sh/rcar/rsnd.h | 6 +- sound/soc/sh/rcar/ssi.c | 22 +++--- sound/soc/sh/rcar/ssiu.c | 178 +++++++++++++++++++++++++++++++++++++++++++---- 5 files changed, 215 insertions(+), 29 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index fcc5c2e..ff62161 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1144,6 +1144,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, break; rsnd_parse_connect_ssi(rdai, playback, capture); + rsnd_parse_connect_ssiu(rdai, playback, capture); rsnd_parse_connect_src(rdai, playback, capture); rsnd_parse_connect_ctu(rdai, playback, capture); rsnd_parse_connect_mix(rdai, playback, capture); diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index 5daa6c9..0324a5c 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -218,7 +218,7 @@ struct dma_chan *rsnd_dma_request_channel(struct device_node *of_node, int i = 0; for_each_child_of_node(of_node, np) { - if (i == rsnd_mod_id(mod) && (!chan)) + if (i == rsnd_mod_id_raw(mod) && (!chan)) chan = of_dma_request_slave_channel(np, name); i++; } @@ -344,14 +344,16 @@ static u32 rsnd_dmapp_get_id(struct rsnd_dai_stream *io, struct rsnd_mod *mod) { struct rsnd_mod *ssi = rsnd_io_to_mod_ssi(io); + struct rsnd_mod *ssiu = rsnd_io_to_mod_ssiu(io); struct rsnd_mod *src = rsnd_io_to_mod_src(io); struct rsnd_mod *dvc = rsnd_io_to_mod_dvc(io); const u8 *entry = NULL; int id = 255; int size = 0; - if (mod == ssi) { - int busif = rsnd_ssi_get_busif(io); + if ((mod == ssi) || + (mod == ssiu)) { + int busif = rsnd_mod_id_sub(ssiu); entry = gen2_id_table_ssiu; size = ARRAY_SIZE(gen2_id_table_ssiu); @@ -530,13 +532,14 @@ rsnd_gen2_dma_addr(struct rsnd_dai_stream *io, struct device *dev = rsnd_priv_to_dev(priv); phys_addr_t ssi_reg = rsnd_gen_get_phy_addr(priv, RSND_GEN2_SSI); phys_addr_t src_reg = rsnd_gen_get_phy_addr(priv, RSND_GEN2_SCU); - int is_ssi = !!(rsnd_io_to_mod_ssi(io) == mod); + int is_ssi = !!(rsnd_io_to_mod_ssi(io) == mod) || + !!(rsnd_io_to_mod_ssiu(io) == mod); int use_src = !!rsnd_io_to_mod_src(io); int use_cmd = !!rsnd_io_to_mod_dvc(io) || !!rsnd_io_to_mod_mix(io) || !!rsnd_io_to_mod_ctu(io); int id = rsnd_mod_id(mod); - int busif = rsnd_ssi_get_busif(io); + int busif = rsnd_mod_id_sub(rsnd_io_to_mod_ssiu(io)); struct dma_addr { dma_addr_t out_addr; dma_addr_t in_addr; @@ -620,7 +623,7 @@ static void rsnd_dma_of_path(struct rsnd_mod *this, struct rsnd_mod **mod_from, struct rsnd_mod **mod_to) { - struct rsnd_mod *ssi = rsnd_io_to_mod_ssi(io); + struct rsnd_mod *ssi; struct rsnd_mod *src = rsnd_io_to_mod_src(io); struct rsnd_mod *ctu = rsnd_io_to_mod_ctu(io); struct rsnd_mod *mix = rsnd_io_to_mod_mix(io); @@ -631,6 +634,28 @@ static void rsnd_dma_of_path(struct rsnd_mod *this, struct device *dev = rsnd_priv_to_dev(priv); int nr, i, idx; + /* + * It should use "rcar_sound,ssiu" on DT. + * But, we need to keep compatibility for old version. + * + * If it has "rcar_sound.ssiu", it will be used. + * If not, "rcar_sound.ssi" will be used. + * see + * rsnd_ssiu_dma_req() + * rsnd_ssi_dma_req() + */ + if (rsnd_ssiu_of_node(priv)) { + struct rsnd_mod *ssiu = rsnd_io_to_mod_ssiu(io); + + /* use SSIU */ + ssi = ssiu; + if (this == rsnd_io_to_mod_ssi(io)) + this = ssiu; + } else { + /* keep compatible, use SSI */ + ssi = rsnd_io_to_mod_ssi(io); + } + if (!ssi) return; diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 7e54edc..7b1e7fb 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -441,6 +441,7 @@ int rsnd_runtime_is_tdm(struct rsnd_dai_stream *io); of_get_child_by_name(rsnd_priv_to_dev(priv)->of_node, node) #define RSND_NODE_DAI "rcar_sound,dai" #define RSND_NODE_SSI "rcar_sound,ssi" +#define RSND_NODE_SSIU "rcar_sound,ssiu" #define RSND_NODE_SRC "rcar_sound,src" #define RSND_NODE_CTU "rcar_sound,ctu" #define RSND_NODE_MIX "rcar_sound,mix" @@ -725,7 +726,6 @@ void rsnd_ssi_remove(struct rsnd_priv *priv); struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id); int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod); int rsnd_ssi_use_busif(struct rsnd_dai_stream *io); -int rsnd_ssi_get_busif(struct rsnd_dai_stream *io); u32 rsnd_ssi_multi_slaves_runtime(struct rsnd_dai_stream *io); #define rsnd_ssi_is_pin_sharing(io) \ @@ -746,6 +746,10 @@ int rsnd_ssiu_attach(struct rsnd_dai_stream *io, struct rsnd_mod *mod); int rsnd_ssiu_probe(struct rsnd_priv *priv); void rsnd_ssiu_remove(struct rsnd_priv *priv); +void rsnd_parse_connect_ssiu(struct rsnd_dai *rdai, + struct device_node *playback, + struct device_node *capture); +#define rsnd_ssiu_of_node(priv) rsnd_parse_of_node(priv, RSND_NODE_SSIU) /* * R-Car SRC diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 0c93b1f..3bc2c4a 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -134,11 +134,6 @@ int rsnd_ssi_use_busif(struct rsnd_dai_stream *io) return use_busif; } -int rsnd_ssi_get_busif(struct rsnd_dai_stream *io) -{ - return 0; /* BUSIF0 only for now */ -} - static void rsnd_ssi_status_clear(struct rsnd_mod *mod) { rsnd_mod_write(mod, SSISR, 0); @@ -745,7 +740,7 @@ static int rsnd_ssi_common_probe(struct rsnd_mod *mod, { struct device *dev = rsnd_priv_to_dev(priv); struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); - int ret; + int ret = 0; /* * SSIP/SSIU/IRQ are not needed on @@ -759,10 +754,6 @@ static int rsnd_ssi_common_probe(struct rsnd_mod *mod, * see rsnd_ssi_pcm_new() */ - ret = rsnd_ssiu_attach(io, mod); - if (ret < 0) - return ret; - /* * SSI might be called again as PIO fallback * It is easy to manual handling for IRQ request/free @@ -956,6 +947,17 @@ static struct dma_chan *rsnd_ssi_dma_req(struct rsnd_dai_stream *io, int is_play = rsnd_io_is_play(io); char *name; + /* + * It should use "rcar_sound,ssiu" on DT. + * But, we need to keep compatibility for old version. + * + * If it has "rcar_sound.ssiu", it will be used. + * If not, "rcar_sound.ssi" will be used. + * see + * rsnd_ssiu_dma_req() + * rsnd_dma_of_path() + */ + if (rsnd_ssi_use_busif(io)) name = is_play ? "rxu" : "txu"; else diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 4f59100..0609a0c 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -12,6 +12,8 @@ struct rsnd_ssiu { struct rsnd_mod mod; u32 busif_status[8]; /* for BUSIF0 - BUSIF7 */ unsigned int usrcnt; + int id; + int id_sub; }; #define rsnd_ssiu_nr(priv) ((priv)->ssiu_nr) @@ -22,12 +24,29 @@ struct rsnd_ssiu { ((pos) = ((struct rsnd_ssiu *)(priv)->ssiu + i)); \ i++) +/* + * SSI Gen2 Gen3 + * 0 BUSIF0-3 BUSIF0-7 + * 1 BUSIF0-3 BUSIF0-7 + * 2 BUSIF0-3 BUSIF0-7 + * 3 BUSIF0 BUSIF0-7 + * 4 BUSIF0 BUSIF0-7 + * 5 BUSIF0 BUSIF0 + * 6 BUSIF0 BUSIF0 + * 7 BUSIF0 BUSIF0 + * 8 BUSIF0 BUSIF0 + * 9 BUSIF0-3 BUSIF0-7 + * total 22 52 + */ +static const int gen2_id[] = { 0, 4, 8, 12, 13, 14, 15, 16, 17, 18 }; +static const int gen3_id[] = { 0, 8, 16, 24, 32, 40, 41, 42, 43, 44 }; + static u32 *rsnd_ssiu_get_status(struct rsnd_mod *mod, struct rsnd_dai_stream *io, enum rsnd_mod_type type) { struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); - int busif = rsnd_ssi_get_busif(io); + int busif = rsnd_mod_id_sub(mod); return &ssiu->busif_status[busif]; } @@ -159,7 +178,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, if (rsnd_ssi_use_busif(io)) { int id = rsnd_mod_id(mod); - int busif = rsnd_ssi_get_busif(io); + int busif = rsnd_mod_id_sub(mod); /* * FIXME @@ -252,7 +271,7 @@ static int rsnd_ssiu_start_gen2(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { - int busif = rsnd_ssi_get_busif(io); + int busif = rsnd_mod_id_sub(mod); if (!rsnd_ssi_use_busif(io)) return 0; @@ -270,7 +289,7 @@ static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod, struct rsnd_priv *priv) { struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); - int busif = rsnd_ssi_get_busif(io); + int busif = rsnd_mod_id_sub(mod); if (!rsnd_ssi_use_busif(io)) return 0; @@ -286,8 +305,49 @@ static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod, return 0; } +static int rsnd_ssiu_id(struct rsnd_mod *mod) +{ + struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); + + /* see rsnd_ssiu_probe() */ + return ssiu->id; +} + +static int rsnd_ssiu_id_sub(struct rsnd_mod *mod) +{ + struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); + + /* see rsnd_ssiu_probe() */ + return ssiu->id_sub; +} + +static struct dma_chan *rsnd_ssiu_dma_req(struct rsnd_dai_stream *io, + struct rsnd_mod *mod) +{ + struct rsnd_priv *priv = rsnd_mod_to_priv(mod); + int is_play = rsnd_io_is_play(io); + char *name; + + /* + * It should use "rcar_sound,ssiu" on DT. + * But, we need to keep compatibility for old version. + * + * If it has "rcar_sound.ssiu", it will be used. + * If not, "rcar_sound.ssi" will be used. + * see + * rsnd_ssi_dma_req() + * rsnd_dma_of_path() + */ + + name = is_play ? "rx" : "tx"; + + return rsnd_dma_request_channel(rsnd_ssiu_of_node(priv), + mod, name); +} + static struct rsnd_mod_ops rsnd_ssiu_ops_gen2 = { .name = SSIU_NAME, + .dma_req = rsnd_ssiu_dma_req, .init = rsnd_ssiu_init_gen2, .start = rsnd_ssiu_start_gen2, .stop = rsnd_ssiu_stop_gen2, @@ -302,26 +362,83 @@ static struct rsnd_mod *rsnd_ssiu_mod_get(struct rsnd_priv *priv, int id) return rsnd_mod_get((struct rsnd_ssiu *)(priv->ssiu) + id); } -int rsnd_ssiu_attach(struct rsnd_dai_stream *io, - struct rsnd_mod *ssi_mod) +static void rsnd_parse_connect_ssiu_compatible(struct rsnd_priv *priv, + struct rsnd_dai_stream *io) +{ + struct rsnd_mod *ssi_mod = rsnd_io_to_mod_ssi(io); + struct rsnd_mod *mod; + struct rsnd_ssiu *ssiu; + int i; + + if (!ssi_mod) + return; + + /* select BUSIF0 */ + for_each_rsnd_ssiu(ssiu, priv, i) { + mod = rsnd_mod_get(ssiu); + + if ((rsnd_mod_id(ssi_mod) == rsnd_ssiu_id(mod)) && + (rsnd_mod_id_sub(mod) == 0)) + rsnd_dai_connect(mod, io, mod->type); + } +} + +void rsnd_parse_connect_ssiu(struct rsnd_dai *rdai, + struct device_node *playback, + struct device_node *capture) { - struct rsnd_priv *priv = rsnd_io_to_priv(io); - struct rsnd_mod *mod = rsnd_ssiu_mod_get(priv, rsnd_mod_id(ssi_mod)); + struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); + struct device_node *node = rsnd_ssiu_of_node(priv); + struct device_node *np; + struct rsnd_mod *mod; + struct rsnd_dai_stream *io_p = &rdai->playback; + struct rsnd_dai_stream *io_c = &rdai->capture; + int i; - rsnd_mod_confirm_ssi(ssi_mod); + /* use rcar_sound,ssiu if exist */ + if (node) { + i = 0; + for_each_child_of_node(node, np) { + mod = rsnd_ssiu_mod_get(priv, i); + if (np == playback) + rsnd_dai_connect(mod, io_p, mod->type); + if (np == capture) + rsnd_dai_connect(mod, io_c, mod->type); + i++; + } - return rsnd_dai_connect(mod, io, mod->type); + of_node_put(node); + } + + /* Keep DT compatibility */ + if (!rsnd_io_to_mod_ssiu(io_p)) + rsnd_parse_connect_ssiu_compatible(priv, io_p); + if (!rsnd_io_to_mod_ssiu(io_c)) + rsnd_parse_connect_ssiu_compatible(priv, io_c); } int rsnd_ssiu_probe(struct rsnd_priv *priv) { struct device *dev = rsnd_priv_to_dev(priv); + struct device_node *node; struct rsnd_ssiu *ssiu; struct rsnd_mod_ops *ops; + const int *list = NULL; int i, nr, ret; - /* same number to SSI */ - nr = priv->ssi_nr; + /* + * Keep DT compatibility. + * if it has "rcar_sound,ssiu", use it. + * if not, use "rcar_sound,ssi" + * see + * rsnd_ssiu_bufsif_to_id() + */ + node = rsnd_ssiu_of_node(priv); + if (node) + nr = of_get_child_count(node); + else + nr = priv->ssi_nr; + ssiu = devm_kcalloc(dev, nr, sizeof(*ssiu), GFP_KERNEL); if (!ssiu) return -ENOMEM; @@ -334,7 +451,44 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv) else ops = &rsnd_ssiu_ops_gen2; + /* Keep compatibility */ + nr = 0; + if ((node) && + (ops == &rsnd_ssiu_ops_gen2)) { + ops->id = rsnd_ssiu_id; + ops->id_sub = rsnd_ssiu_id_sub; + + if (rsnd_is_gen2(priv)) { + list = gen2_id; + nr = ARRAY_SIZE(gen2_id); + } else if (rsnd_is_gen3(priv)) { + list = gen3_id; + nr = ARRAY_SIZE(gen3_id); + } else { + dev_err(dev, "unknown SSIU\n"); + return -ENODEV; + } + } + for_each_rsnd_ssiu(ssiu, priv, i) { + if (node) { + int j; + + /* + * see + * rsnd_ssiu_get_id() + * rsnd_ssiu_get_id_sub() + */ + for (j = 0; j < nr; j++) { + if (list[j] > i) + break; + ssiu->id = j; + ssiu->id_sub = i - list[ssiu->id]; + } + } else { + ssiu->id = i; + } + ret = rsnd_mod_init(priv, rsnd_mod_get(ssiu), ops, NULL, RSND_MOD_SSIU, i); if (ret) From patchwork Tue Nov 6 05:21:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669655 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BB68C13A4 for ; Tue, 6 Nov 2018 05:21:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AC3FD2A094 for ; Tue, 6 Nov 2018 05:21:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A12932A0AA; Tue, 6 Nov 2018 05:21:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A9BDD2A094 for ; Tue, 6 Nov 2018 05:21:31 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 910C5267A89; Tue, 6 Nov 2018 06:21:30 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 31008267A7E; Tue, 6 Nov 2018 06:21:27 +0100 (CET) Received: from JPN01-TY1-obe.outbound.protection.outlook.com (mail-ty1jpn01on0135.outbound.protection.outlook.com [104.47.93.135]) by alsa0.perex.cz (Postfix) with ESMTP id 12FE726787B for ; Tue, 6 Nov 2018 06:21:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bx8ZPR0ljX00jonCsfwqDxVejlB/uGJXbL4Q1Wm2L3A=; b=P8yOkzDL296bbeCzcC9G7uYCPjWX9+CTkveRsA+u+OG8ZMTWi+lA/f5+Be9YZtTIvT7ObfDwpjIb6iQzcfanjQvA9/RvRqMHa7+y1dYEnH3V6IGPoOUWBwHCMLD80RRvvm7txdZjRjGJVXYIANdbErHElkJCJrCtAh4jdLrVLwA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by TYAPR01MB3326.jpnprd01.prod.outlook.com (2603:1096:404:bb::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Tue, 6 Nov 2018 05:21:22 +0000 Message-ID: <8736sewzzx.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:21:22 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR0101CA0017.apcprd01.prod.exchangelabs.com (2603:1096:404:92::29) To TYAPR01MB3326.jpnprd01.prod.outlook.com (2603:1096:404:bb::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7889d247-dca8-439f-b6af-08d643a7b0d3 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TYAPR01MB3326; X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 3:eXjm2kIxuJwHq1p9A2AvrlaLaeVi2F3HC7FeJ9xOhP+5yvhTdIKH5RvYzUWSceHzQ9jqeJS+DwJObdP16/Q3SWoZ7pmghxHk3NqGu2OaF9zS/mkYZnm5aj+hdRuQrVZFEbcQbcP99wYkrcJQY0IBh3FpjTOnVXeAlz1rLGpHX3cpLdQ/f+8HT3hE9VHclaON+vnLgvnuXrQpWs7Bxre5wFiLSd/hCh74C3PrZHe0t0hGIsqFdle6P8wA1MpJi1By; 25:P65mPLbOdUNb7N/rp/lj7otI19v3h2N3ys8SwkzsavwMWdMorA+kcT4dQty8Vq5SZS1QI6eCBmriZxvsYr9++oslKNGVH9MwpfZSMoXBucDR3NQh+hRkjv+0aRbKyUm67oKnpWHSsYA05da3xsHvRl7hjw0QqNOco04e0lF+Jt6LjJeXkxkhQIbIhqDMDCmeHR2JfWAd4KW7QomSmJeo1b58eLU480bX3JDQzWsOwDTY8BfgQqeuXs+nG3At1E7/+hIDuEdg51vmmtAlTCLJiu98IDeKaqhixSxcs99pms54WkGJ1cGCrJHZQKRyodJ8p60qeCh31km7Cp8MRXVHqg==; 31:odZG2siWV2CpiokcZn9YALviFlxobWnKDgefamVf2FQXfJFpEB4gkgCAzKLy5LCjWzE+zIxtakCNaAIOL3xlpES3/q6c7NfaVvyu6slJ89m/NsepsCvqkvuEsnICUKy6QXpOZt3W0zsWIlVOxjuSCJ1d/jvXN5cBMmsl5nHrmxd83+Zb3E3Xsbpd0liMNTKOqLbHi80MrjFvemJbjLt3vIS82YL7uNdQRxL3CSqlOek= X-MS-TrafficTypeDiagnostic: TYAPR01MB3326: X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 20:dI9JKJOSzH5XmkA1G5fdohzPL4sWrJ4+APdeqSSJAvvth1IXVJ6vqI0ye0dJofB+BE0o5qIz1gI7zO2jGWJJ0y1oW0sljb/KbKUgKcapqM6SSFGSfTP6le67MXXLcX+LEcLBtC/KPctYeWnOKHTMlGs9iYKplrb2S+b1Blswhy+Rnrs4ZS/ZLuRCfo5ekcoNNK9jkgAmmgdP0NWFpkIn0TX7R8+skbSQK0FvQY0N4s3xKIR7942s4WxXWZtKUTx2eImnrAU3YbfXlSy6ZJ8ek8IIIZlyHSBHVT789HjVKbcRlLj3il4RO1C0CK5lT5pX22l1tVjfF2ZW5widZmKzbKV0ERjf26hJp5eAg5dPFHx5jSqYT89ORSil2wA3so5SFyjuaOcDQlmmO/MKsgcmuz8B2BA5+j+IP4LApcpzg1xPYJF8hicbVG+97cAdgYpaBOihQCs4PIfWrSs3ZdTKaPNbVhXsTs/ksKk7xfARBm50ct2c9hw/RIC/qLN+exEt; 4:3EVOp+rgdMtFx2aFgB7v1ImAe+5nrVSCfAR60MuNJnkdpDdA4VP/8w9XY7D3SsuhVy2KFSOpIRUIpgDlYKvScnj7DRF7VEzQrsuUCcBQepKwKARXX07wproeOrQlwSJMlTzI37m6JvE7H56YatDxjkxVCcdsDDkn4PQQQKFvVHrwlhib4JSMCG+EQSXSk0kdtqJrmpim22uus9wYIoiyUzqsvAZTwHuO6rJeJS5CwcMGHHK50b7dpFALXpgwTl3lr204CuUGGGWct0+BOta0Ww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:TYAPR01MB3326; BCL:0; PCL:0; RULEID:; SRVR:TYAPR01MB3326; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(376002)(39860400002)(136003)(366004)(396003)(189003)(199004)(7696005)(81166006)(446003)(86362001)(53416004)(106356001)(68736007)(11346002)(2906002)(305945005)(476003)(2616005)(58126008)(186003)(26005)(50466002)(16586007)(69596002)(478600001)(36756003)(54906003)(23726003)(6116002)(16526019)(3846002)(105586002)(486006)(76176011)(5660300001)(25786009)(316002)(81156014)(52116002)(97736004)(956004)(386003)(8936002)(8676002)(66066001)(4326008)(53936002)(6486002)(6916009)(47776003)(7736002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB3326; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TYAPR01MB3326; 23:3D7MbbvZs8u1uyk1e5jnrGMBgl9ZUgf4d+AMJe8a9?= A0J2bav+BSzO893vKzoTlDUB2hskXf8KUVMhFmbLzKDJ4aPIOcRAhX8YiSLPKuarWWGHupAPmFuzdv4G5PGOMyxwjHtDXSADgGuQEli09KjDfysrJDLGtAaH3nQLZIAoVw4Ax0DR/aa6ZAQ/6XhuSEJGKIOTLc+cG8AlgbaHK1CAi7PEi9TTj5JK0MJTMd4LIXc6OOQCC27Xuo0aYCTDGRthXffkGKbzn0jVFJfDHOE2C9EzgHiEzTYcm6lbfCQpgwsNxMkOETLZr3Il4WCLuxLXlKYBbl+eGdWCbNhBIQP5QB2YkQbjpJh4SoBU1Eva1Tl4FKM0hfHUvUCWYJL5EDX0vYROwJOUTSpeN6A9+wTvZBm9UlN/EgbZ/mNoz/3n0Jo87QHmPi27Am10/RFP1NFB0PtyCubRneW/N6P4BFFFC9TNbVEx1D6uBe2Dj5DXul6uD03kNjVjhGtOnDMMJJAdQbmQnkdo+PrEPdj6LkL2v+PHBo8WeFFV6A7erQ7YtiiWnyiRbPL47Qz4cqDejVH2wSA3Dusdu3W7v4JFtg1Qpa5pXwYK1YByBjUXZ1rDJeEVTJ/dBKzBNyrOToxjAXTjxKFoS3jrOQsJODca7Vj9A9VHHYo5QAQNECbdYZuitDgJbLvyH6ivt8ZWoAjZppDktQACM+1opH0Q7j0fUYGCtudWl2767waPERjF5YM9LzZv9767ZcXFLI2bGJelV26qzKpfv4dyXK0ChgSmNM3NTMf2vuRKWiUXFWzWB/t0rNuSeCQs0XdQKfa914DlfdxNqitaK7OeDFRgvpmMj411SMIr3FPlW87Bx8SPcO7/+xe/ym3K5Tf1ahxRHmzX04QSiUAUxk8IUl1b+LtzlM3vGhUzfqYFGWrezlxyf4cI+J3zIiX09r4vhA7jT+FscLhguTEv1+XTIFQgIVtsMaSfd1vr8RWJCYbeg6L5mOJhfLv7gamWcCt2AtFSDZpng6L6lKj7lSEjaTdzxoD1IpWWAsOmp2ajHELcK1lZPZTwrOW+BvIiA3RZHb5tcGC9Q6KS1z4QstKeyZFvoGJ4W2QWkLel//pnq15y9cbxWQffiK4vpT7iIjxohTF2ipbi6YqVIRxxRsscvkD3CfHcj+x/chgmY0sWCpwmWoGgrJbu4xt+XeEy3+Q4xEezIF9Aj2V X-Microsoft-Antispam-Message-Info: 0ELhwj7JuVGCcTyzJ5hLGbBmS1toEHaQybPf6lQPJ38u+EGiBUXA46cbGGlmFpKeR2B/CUaSIwwJvaUFh2dUZqYT4wn9b2QPTkWLjeG4w9cfovAsO66wxLZ1wLBDGkaKGYarOPpxSqOvw1Xg65ZeCDRY8WMJ+GOBX1/6phTJBsBnUHqJ24Xg5l5R6M5nN0AOvrI4MANJTAVMrHtE4urSn6klnvMmhtG4w5sEFxlvbaSCsbF8IquRfN8vAbPmBVPOiBp6id9ZXAxP4IB7msgb2gj3nC7qYkqTPvVVcKVDv0Ur9Rw7wJi2JDft8fYS2ETZjj6qbHAyX9N7tbt8k8/6bAOxy5w47RNFlQ3zK4NVI2E= X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 6:a8ZQLgTzelJ7AtKFzFa+IGAANrb7tT+4lfcUZ3U8ZURfuMi2pKIqYNXB8w4iNUbor5yOJHgwxb0ALoQm4ueiuQqRGX3T6/FsshZUpQhxlOPRQN69bmKx9t9LzMrqioIvrhYpEKfkDzuAVIJcXbmRaJV2N9RKa02kDyF93+GsYG9fkxoKObGQf6NZ+Q/OtENJDNZ52itNHHo9ZfsD/Scf9fhdDtLQ4F2dv6FqytWukrJFr6LjlSoA7zfsaFXhYSoAbJ7wMdPwLxg4OQsZdaMx+Xl3ELvr+pRDED4MZROB6NxxvJGNBs8O9RHNt5tRFXdmt+3ULZQk8ZCbbZ7OnFCQPeOF4ciTgz0o9tJxnhjvDmiJTQfqHjD83/W9IU3eLkQFSU0exlsfGckAKIAQflt90g+vYCrCWp8u+hk83UhQ3A7jtgmf1nTfh3FVj29bGVmNNZQRiUjJaxXHuka6Ay6SRw==; 5:YH8gHfsgIYLVBUKe1HvhmRLcw4i234x+LNeWQ2nJz7qDJ4hWEz/RDO+zKQUNoiv9FW4xg8yOn2acMdH01MXuN69JXU04RFeB5J/VVAXlR4euHmHn5KTjPcxC/C/D9FNeu0clqY9Zk0JOFjp5bUpV6reYE3gHbCE0zeZCq0YW5gI=; 7:VdSuMUDHc2c+UN8QI6jpY9Swc/eRByMZa0A9GFVMJ/KzgwiALJxnJ+Y7pq//eImSfgVqVHaX/OpYzD/vI2VllDQrZhObSSzbNRFIW95cIcqAO21fnX59stiby321KfrHtdPswZpImaoDcp7Sq/h0/g== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3326; 20:FTE6gVdmbrFvE3muXsYY9F7gC1ZzXA/5ufp0gDuJI1QuBlv2QPW3Tl1KbCxbR4XBvXMVuY/qeWD8HpTpfZrIobNeV2DahgTORDe3cu+4sl23iQX+Q+DYcqEW/le+OocqDD9toueCTCD/cv9VMMF9pQSTafneUna6viVnGD/Umzc= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:21:22.4299 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7889d247-dca8-439f-b6af-08d643a7b0d3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3326 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 09/10] ASoC: rsnd: add TDM Split mode support for Document X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto This patch adds TDM Split mode support. rsnd driver is assuming audio-graph-scu-card is used for Sound Card. Signed-off-by: Kuninori Morimoto --- .../devicetree/bindings/sound/renesas,rsnd.txt | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt index 6ed1a36..453e8ec 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt @@ -188,6 +188,25 @@ In DMA mode, you can select not to use SSIU by using "no-busif" via SSI. SSIU handles BUSIF which will be used for TDM Split mode. This driver is assuming that audio-graph card will be used. +TDM Split mode merges 4 sounds. You can see 4 sound interface on system, +and these sounds will be merged SSIU/SSI. + + aplay -D plughw:0,0 xxxx.wav & + aplay -D plughw:0,1 xxxx.wav & + aplay -D plughw:0,2 xxxx.wav & + aplay -D plughw:0,3 xxxx.wav + + 2ch 8ch + [MEM] -> [SSIU 30] -+-> [SSIU 3] --> [Codec] + 2ch | + [MEM] -> [SSIU 31] -+ + 2ch | + [MEM] -> [SSIU 32] -+ + 2ch | + [MEM] -> [SSIU 33] -+ + +see "Example: simple sound card for TDM Split" + ============================================= * SSI (Serial Sound Interface) ============================================= @@ -649,6 +668,78 @@ rsnd_tdm: sound { }; ============================================= +Example: simple sound card for TDM Split +============================================= + +sound_card: sound { + compatible = "audio-graph-scu-card"; + prefix = "xxxx"; + routing = "xxxx Playback", "DAI0 Playback", + "xxxx Playback", "DAI1 Playback", + "xxxx Playback", "DAI2 Playback", + "xxxx Playback", "DAI3 Playback"; + convert-channels = <8>; /* TDM Split */ + + dais = <&rsnd_port0 /* playback ch1/ch2 */ + &rsnd_port1 /* playback ch3/ch4 */ + &rsnd_port2 /* playback ch5/ch6 */ + &rsnd_port3 /* playback ch7/ch8 */ + >; +}; + +audio-codec { + ... + port { + codec_0: endpoint@1 { + remote-endpoint = <&rsnd_ep0>; + }; + codec_1: endpoint@2 { + remote-endpoint = <&rsnd_ep1>; + }; + codec_2: endpoint@3 { + remote-endpoint = <&rsnd_ep2>; + }; + codec_3: endpoint@4 { + remote-endpoint = <&rsnd_ep3>; + }; + }; +}; + +&rcar_sound { + ... + ports { + rsnd_port0: port@0 { + rsnd_ep0: endpoint { + remote-endpoint = <&codec_0>; + ... + playback = <&ssiu30 &ssi3>; + }; + }; + rsnd_port1: port@1 { + rsnd_ep1: endpoint { + remote-endpoint = <&codec_1>; + ... + playback = <&ssiu31 &ssi3>; + }; + }; + rsnd_port2: port@2 { + rsnd_ep2: endpoint { + remote-endpoint = <&codec_2>; + ... + playback = <&ssiu32 &ssi3>; + }; + }; + rsnd_port3: port@3 { + rsnd_ep3: endpoint { + remote-endpoint = <&codec_3>; + ... + playback = <&ssiu33 &ssi3>; + }; + }; + }; +}; + +============================================= Example: simple sound card for Multi channel ============================================= From patchwork Tue Nov 6 05:21:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10669657 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 478E214BD for ; Tue, 6 Nov 2018 05:21:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 36E4E2A04D for ; Tue, 6 Nov 2018 05:21:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2B64A2A0C6; Tue, 6 Nov 2018 05:21:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2C1112A04D for ; Tue, 6 Nov 2018 05:21:55 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id E390526787B; Tue, 6 Nov 2018 06:21:53 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id A7D95267A7B; Tue, 6 Nov 2018 06:21:51 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0139.outbound.protection.outlook.com [104.47.92.139]) by alsa0.perex.cz (Postfix) with ESMTP id 282CF26787B for ; Tue, 6 Nov 2018 06:21:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2hCtsHdJEx9nlDOP6YZHQxhzwVqWUGUi5frjuT53oao=; b=DJqNPRD1feVIO0IOret2VtzF49LLf13YvZONxPiTocKdLo88QZaXqJQ0xlIS0ob+9PZP9klMDU7DwT96Bo1OEj1tnmnW748fy6yr7rpID8b2o1iNsy8QESmuEdd+7YwoxO+IVxGs1kCKVfiQbjQRh+poaWglc4TKMlwWkdDhQlQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.130) by TYAPR01MB3327.jpnprd01.prod.outlook.com (2603:1096:404:bb::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.23; Tue, 6 Nov 2018 05:21:46 +0000 Message-ID: <871s7ywzz9.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwex052.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 6 Nov 2018 05:21:46 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR0101CA0020.apcprd01.prod.exchangelabs.com (2603:1096:404:92::32) To TYAPR01MB3327.jpnprd01.prod.outlook.com (2603:1096:404:bb::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 80699b4c-e2fc-4529-0b8b-08d643a7bf35 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:TYAPR01MB3327; X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 3:CoKQoc+nuKLu5YDVj/KsrOTiVRX07y6cPhWKJr//e839uq/qauSmKTAyfTIYQw0lhSdbMHGfb66ouq04cxc5/QpMyUgRfWxqbvrVypHPXEv7KPrsdU7APbsR8onQ4ZBk+qJgU8R0Yue2APLhm8QIYiyNlEKYR7mQ4VNu9W1nrVu6ENCFMZjzjJ9kDr7uxWL7xLlL9RdEKP02wcLDke7bQXlLUEvrJXMJKAmeEKgIci8wEVcBaPI9WRxAqHRXFa6s; 25:rZqazc6sG7MXV4JTl/qz3S3Y4CGXhmHzoZkzpEY7CwHaZiryqorCfCyQuzSpWJNmNqgUYSyHS7/0YDFPfGmAxD6bTZMlCQmgP7zoDD4TbdUc8oN8T5Weg5/rGHWX7x26tgP/A4fwxM2j+ZUw6dpS3PscBIgIscWrRKRm97HPkSDjAwxNM7H88qhnpBkgN8lFQVaJIdloc7nKnehbPbBGBDvIgaG9I4hAAaSFqCiEu1IESel4X68gL05yFfNZZlsFIacjjTrWwETuGuCIAY8GAPoxjm2h+Z3Kb7VR7K/3m8nvXdJ/qcYaGem8U+VvqOa0NwqqdO1x8yLNDb65yGIZTw==; 31:1w2MdTZEfkuOgKXbFkzZch4OYbTXVg3K4WFAo1U4GoYQkfNBZqc+9N/2oTaKK8mj2Y3ZBuetq3d5xgxSQShNRAsyLGseYQDNQpZWVHMbyo5vWn0yPHssKYhfXUxFeCWCAA11KLUahl8IpvB3+i8+8/2NtF9KTMlH5jkVx/L3v9vyz6+Nrd4DMGNLX3iqyjdoX2WmRtsKQBmS1BwBU2yNKy5DR1+8xnS/7URqMARJQPc= X-MS-TrafficTypeDiagnostic: TYAPR01MB3327: X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:wcHZtfLKsvGb4SKVdNGCd4fdu1WdTF90KC5Kp5PlLcFHNhcUsJStxHoeZsFO7q+JixCwpFHnYFgV1KtJAdRqoYuG9GClbbFHhda6EPsS+u5M/hYcOTNgWVFUOVpniBlmBmg+84xiof8GeQl3RX8di7RAO/2QoQQ7sNgniWnq4zQ7x6ZW49f1mGxrQiSgxl/+/eaLg+h541oGONQlbmDAcvlTqGMVEDzavsT4v0cBGK9ZUvqbbdbZL3Bn9tQ019kBEZcIm4ncCFl0NHCMeC2GOCFPprVGGpaIGTvJunnAt+YkRmrHS/dcxkYXiKQTxeMP8NdjGR8goR/qh22EjfpG6GyXt8K5QzqU2ukkM6Tvg7LCY9uxf8qf6mCqvmCq42VgWSMzARf2MIkhFosho+QzhqCaMwNOmP0rFIpF77rbKSxuB+Ro0x9buAok7d6bG3JbICJnCq/9bAeGV9dP8lXRpTJFbR8brsVq2MHuVwvlCSfg58qvAlPCns/umgwp4MYn; 4:11JyMO/+w1h7Z/8Avd3vmUO8npn6tAxmig3wVZCXCAwz23KymTLVE05N3nfmKaTOBg360kK52zg0tefaq/ZvlxPjSJ75uWHQy6fnZLL1iqtbqcL9w1as7AIsXJFOqTCrTLBaNEw/3yIwvnAJm8eYe9imc1/GP3WBTrrbJTS1RaiByCvdkjZDCAxcsVh1pcrnoF3t1l6VAPlLJd4940NgMBpwuoS6cCrEzftbofE9leUBWQO2SLKQVusKMSLOuxntU0sAjQn0v8qiD07hXRSvWA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:TYAPR01MB3327; BCL:0; PCL:0; RULEID:; SRVR:TYAPR01MB3327; X-Forefront-PRVS: 0848C1A6AA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(376002)(346002)(396003)(136003)(366004)(189003)(199004)(105586002)(53936002)(54906003)(4326008)(575784001)(7736002)(8936002)(58126008)(106356001)(86362001)(5660300001)(97736004)(25786009)(316002)(68736007)(53416004)(2906002)(478600001)(47776003)(11346002)(36756003)(3846002)(956004)(486006)(16586007)(6116002)(6916009)(50466002)(476003)(2616005)(23726003)(8676002)(66066001)(386003)(81166006)(81156014)(52116002)(26005)(16526019)(6486002)(7696005)(186003)(69596002)(76176011)(305945005)(446003)(16060500001)(309714004); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB3327; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; TYAPR01MB3327; 23:e+OGkbx+d3SYJay+BchUoPL+WIYQ/U515iecGpWTY?= Cy5EsGhkkOs6K9gaSeP6p3F6jR5yreoeTW2Pvt/zDs21JyLNx8BxqqhqdxXnwDbP5lBy/4/Zvuc2SBgsZLSRDLbygUMOgYNmRbIVZtHi8cqjXXsjdXLEqQmPqW5ZrnoMdY8D9Vl+rJBGC+XtEnywKFGXZJxrekrbnimSyvSpQHnnXISZPTEcMuIhYgFBmbB5Qi4TqPVSdpOPMBNT2liA8eti9VnG+F1WqIdlx7rE/pojYn/xL6/fSvek3MGjhvIDSRjve8DNAC3/JdamV/YuRRPaHTYDhVRFIXTLglotT20yCAAyHTsodL2xOOP7h2COrhDi/wKYVvWehbZesL1QQbXPjwZWiBVoLePl6E4tl/fT5m9a65Lgco8sPZfEIS6x9sB/ttOmKOJIHODPcpyGDIbQPhDurX2fUfl4oKzHOWOxg/7/1CKGNE3Dt7rDhIseagepJsCTlDrnEuDNoZS32x4qHqhQDdKroTdvA/WwKJV5oMJVjBofIBjoMdd5qOIvZksIe9SaPuPu5KR1/lyDjAp3n4G4IRDJLA5DTvES9jppE7Yt0Lm31dLULcTb1qmU0P6LfCdq9lQMIlWFUry6EhlzONCqgG4lhzrF/bBWsPbvKHgF7fHhJnRn+aLpnJF7pUtnxBB+D1AZ9K2BnvcPghW5YD+8zPxMlJfF8Vkl+J7ZXovu/qq0JlYn64cca6yThlNf4R54aC5RWzRI/X9S02fNf3TOYeGHzujD0Kn4uWYEewqWvplRc0JsDTlLS09iNiOHjEFifPh1rdtel1wP9VaTANaakG/1yHqMOL89t6Tc2N4gUJvTjilaXzE9dgnWYPFdBWmEtqk46wgUzpUi4caOrHwlVjJLLGlDV/Yo/EsmVOXyK3BhZv0wDyAEos2rsN4D6tS/QaipEVlpXo5QxTIir+Dk59VMiryMcvJoo5CZMFe4ONXeNjy5acMsws8byApDw1PpjjyzbQ9EWeGo3Lb/735RhLLVaS1XgXw1jsFbnwTPurH0HV8nKi1q49vKFDoxixssnbn0cThIt/V3RmvGimUkZP/wyHJMh4OFPWOYQD/WmJCzRxyCtVhvf5CYTxYM1SGPAo1u5gasoCTHWqUUmGdkcBAFBLLE9Kqt1O3bqnjYuAiu3mUuMb1XIm4yQPwMNQBHUTh8qQf1AGt+kktXuVIhyWsBgfScQMlg0p4xGjj2vVwlyQ3P5xova9y8yo= X-Microsoft-Antispam-Message-Info: YBPWKNU0JQi20UhAVSJuRTl+S5FieCW/TuvJ4pZzWDZZCdprm+xvh0MRhHVgTNq4GaFWMaOMh2+u44KAHqFlPSEQQnugi+l/mqZPl0iN/k27GORajhFT2YWOtpw+JhVEztsuytzDK/EsoUPpAtNazJyeqb7zedJu/wWOVpmi5aFKNP85Q39YmZU2Ampi4tqXN0YfNmtrdd+n6RU9exFNbeUBwC/qZ/nWugCa6kx0uaAUE8wAgQmAQXdBqiWWiBljVevUrm9qrOqvtEzmbFWiuNuQhhoMpVZub0smkX8yrpHUSNRBYirbscV70UriauXuQjjTpFP+fc3RVE79oUhMrcNgffUmXe5+vsybIusa4BU= X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 6:w1EiznbiqKIQdojLELK+pklP99DBIyAyN/VcP+PUJF0xfzV6jT8stnQqtfRry4jn2UzJIgzaSFyNk9Hlqr6hDLsD7qOIY91i3o3NlQfvAJ3tXbTfxhrn1PB/CRrDpwnlnJu4CdMizmBT8G6tx/ymJAuvSZie/G0+XlrcuUxT/jEUThgASSAQNBrN9sy5TZhrqf12iIDPUeAAu6laoQeNjCN0pbbl6AcOyaB67wko2kknwqSLdDaN33x8SGuOXlwtkKc3+9nazoL+HU4WPtJp7IHXlIMN9yMom8cWf0jbMw/+RfOexHg8oOS8fM0pOlMokwlsbe5WBYpI8yA5USGaGI8ljSWSZY4x8Cavpystl2gMFyrp4eN9bXsWkKczbWw4lw4gNCbQbCuFiek3V/4FSZ48tNlNuCJ6nP184gUoInzrg1FvgkO3ilD8RBeCa+ICY9z131d8tVyWsY2FzQpYHg==; 5:R3vR2mt/m+GPtbsuKf1kLe8qpxoOhrSM22SLuezhuXekr43gv7CUy6aedVbjFwDHpwobiK2u8iOW1EHEBJHEZF1fcibh7+MzAfQZXA4h5m0Fs+cMJYSBx/wsTcSFebTkhdGnQdQTUALWgBwS/VWz9BhyMcmI/iuWSx5w6XgWwlQ=; 7:cKBZxM0ztGXlL3FKc7d8K4se93Sbld3UBnFVtv0BxjCaumqio8pHu/dKQaj60gAGj9TStHCf0zg4ziOUTIEUl5SbchLxTTxQ8kJSqNgkWBVo8fvCD/pxntwYgQP6U+XckQcOiBaJRJJ6B0IkEeL81w== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:uMGR5TaSIJ21Gdv1Gv+AOvPw+JcchafqAZ3VnVwEU20NH1aCVh/GwkLlU72SPnhTGm8ZpS8J9DAZZycQ8otR0ssMZdspPN8KUKEcwcVFL+Ck4iNMycMDelaSZkLLgrjS+LseBratEaCzzUsmHOSq6/ysWWu3Y0GaVdZDP8tmiS0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2018 05:21:46.5559 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 80699b4c-e2fc-4529-0b8b-08d643a7bf35 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3327 Cc: Jiada Wang , Linux-ALSA Subject: [alsa-devel] [PATCH 10/10] ASoC: rsnd: add TDM Split mode support X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto This patch adds TDM Split mode support. rsnd driver is assuming audio-graph-scu-card is used for Sound Card. This is very simple sample DT settings to use it. sound_card: sound { compatible = "audio-graph-scu-card"; ... convert-channels = <8>; /* TDM Split */ dais = <&rsnd_port0 /* playback ch1/ch2 */ &rsnd_port1 /* playback ch3/ch4 */ &rsnd_port2 /* playback ch5/ch6 */ &rsnd_port3 /* playback ch7/ch8 */ >; }; audio-codec { ... port { codec_0: endpoint@1 { remote-endpoint = <&rsnd_ep0>; }; codec_1: endpoint@2 { remote-endpoint = <&rsnd_ep1>; }; codec_2: endpoint@3 { remote-endpoint = <&rsnd_ep2>; }; codec_3: endpoint@4 { remote-endpoint = <&rsnd_ep3>; }; }; }; &rcar_sound { ... ports { rsnd_port0: port@0 { rsnd_ep0: endpoint { remote-endpoint = <&codec_0>; ... playback = <&ssiu30 &ssi3>; }; }; rsnd_port1: port@1 { rsnd_ep1: endpoint { remote-endpoint = <&codec_1>; ... playback = <&ssiu31 &ssi3>; }; }; rsnd_port2: port@2 { rsnd_ep2: endpoint { remote-endpoint = <&codec_2>; ... playback = <&ssiu32 &ssi3>; }; }; rsnd_port3: port@3 { rsnd_ep3: endpoint { remote-endpoint = <&codec_3>; ... playback = <&ssiu33 &ssi3>; }; }; }; }; Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 29 +++++++++++++++++++++++++++++ sound/soc/sh/rcar/rsnd.h | 2 ++ sound/soc/sh/rcar/ssi.c | 27 +++++++++++++++++++++++---- sound/soc/sh/rcar/ssiu.c | 21 +++++++++++++-------- 4 files changed, 67 insertions(+), 12 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index ff62161..12f559e 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -271,6 +271,19 @@ int rsnd_runtime_channel_after_ctu_with_params(struct rsnd_dai_stream *io, if (ctu_mod) { u32 converted_chan = rsnd_io_converted_chan(io); + /* + * !! Note !! + * + * converted_chan will be used for CTU, + * or TDM Split mode. + * User shouldn't use CTU with TDM Split mode. + */ + if (rsnd_runtime_is_tdm_split(io)) { + struct device *dev = rsnd_priv_to_dev(rsnd_io_to_priv(io)); + + dev_err(dev, "CTU and TDM Split should be used\n"); + } + if (converted_chan) return converted_chan; } @@ -313,6 +326,11 @@ int rsnd_runtime_is_tdm(struct rsnd_dai_stream *io) return rsnd_runtime_channel_for_ssi(io) >= 6; } +int rsnd_runtime_is_tdm_split(struct rsnd_dai_stream *io) +{ + return !!rsnd_flags_has(io, RSND_STREAM_TDM_SPLIT); +} + /* * ADINR function */ @@ -790,6 +808,7 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai, switch (slots) { case 2: + /* TDM Split Mode */ case 6: case 8: /* TDM Extend Mode */ @@ -1010,6 +1029,7 @@ static void rsnd_parse_connect_graph(struct rsnd_priv *priv, struct device_node *endpoint) { struct device *dev = rsnd_priv_to_dev(priv); + struct device_node *remote_port = of_graph_get_remote_port(endpoint); struct device_node *remote_node = of_graph_get_remote_port_parent(endpoint); if (!rsnd_io_to_mod_ssi(io)) @@ -1026,6 +1046,15 @@ static void rsnd_parse_connect_graph(struct rsnd_priv *priv, rsnd_flags_set(io, RSND_STREAM_HDMI1); dev_dbg(dev, "%s connected to HDMI1\n", io->name); } + + /* + * This driver assumes that it is TDM Split mode + * if remote node has multi endpoint + */ + if (of_get_child_count(remote_port) > 1) { + rsnd_flags_set(io, RSND_STREAM_TDM_SPLIT); + dev_dbg(dev, "%s is part of TDM Split\n", io->name); + } } void rsnd_parse_connect_common(struct rsnd_dai *rdai, diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 7b1e7fb..64c3a3b 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -433,6 +433,7 @@ int rsnd_runtime_channel_for_ssi_with_params(struct rsnd_dai_stream *io, struct snd_pcm_hw_params *params); int rsnd_runtime_is_multi_ssi(struct rsnd_dai_stream *io); int rsnd_runtime_is_tdm(struct rsnd_dai_stream *io); +int rsnd_runtime_is_tdm_split(struct rsnd_dai_stream *io); /* * DT @@ -467,6 +468,7 @@ struct rsnd_dai_stream { /* flags */ #define RSND_STREAM_HDMI0 (1 << 0) /* for HDMI0 */ #define RSND_STREAM_HDMI1 (1 << 1) /* for HDMI1 */ +#define RSND_STREAM_TDM_SPLIT (1 << 2) /* for TDM split mode */ #define rsnd_io_to_mod(io, i) ((i) < RSND_MOD_MAX ? (io)->mod[(i)] : NULL) #define rsnd_io_to_mod_ssi(io) rsnd_io_to_mod((io), RSND_MOD_SSI) diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 3bc2c4a..361dc2c 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -298,6 +298,9 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, return 0; } + if (rsnd_runtime_is_tdm_split(io)) + chan = rsnd_io_converted_chan(io); + main_rate = rsnd_ssi_clk_query(rdai, rate, chan, &idx); if (!main_rate) { dev_err(dev, "unsupported clock rate\n"); @@ -360,9 +363,11 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, u32 cr_own = ssi->cr_own; u32 cr_mode = ssi->cr_mode; u32 wsr = ssi->wsr; - int is_tdm; + int width; + int is_tdm, is_tdm_split; - is_tdm = rsnd_runtime_is_tdm(io); + is_tdm = rsnd_runtime_is_tdm(io); + is_tdm_split = rsnd_runtime_is_tdm_split(io); cr_own |= FORCE | rsnd_rdai_width_to_swl(rdai); @@ -381,7 +386,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, * rsnd_ssiu_init_gen2() */ wsr = ssi->wsr; - if (is_tdm) { + if (is_tdm || is_tdm_split) { wsr |= WS_MODE; cr_own |= CHNL_8; } @@ -397,7 +402,18 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, cr_own |= TRMD; cr_own &= ~DWL_MASK; - switch (snd_pcm_format_width(runtime->format)) { + width = snd_pcm_format_width(runtime->format); + if (is_tdm_split) { + /* + * The SWL and DWL bits in SSICR should be fixed at 32-bit + * setting when TDM split mode. + * see datasheet + * Operation :: TDM Format Split Function (TDM Split Mode) + */ + width = 32; + } + + switch (width) { case 8: cr_own |= DWL_8; break; @@ -407,6 +423,9 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, case 24: cr_own |= DWL_24; break; + case 32: + cr_own |= DWL_32; + break; } if (rsnd_ssi_is_dma_mode(mod)) { diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 0609a0c..650b14e 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -16,6 +16,10 @@ struct rsnd_ssiu { int id_sub; }; +/* SSI_MODE */ +#define TDM_EXT (1 << 0) +#define TDM_SPLIT (1 << 8) + #define rsnd_ssiu_nr(priv) ((priv)->ssiu_nr) #define rsnd_mod_to_ssiu(_mod) container_of((_mod), struct rsnd_ssiu, mod) #define for_each_rsnd_ssiu(pos, priv, i) \ @@ -165,14 +169,15 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, ssiu->usrcnt++; - if (rsnd_runtime_is_tdm(io)) { - /* - * TDM Extend Mode - * see - * rsnd_ssi_config_init() - */ - mode = 0x1; - } + /* + * TDM Extend/Split Mode + * see + * rsnd_ssi_config_init() + */ + if (rsnd_runtime_is_tdm(io)) + mode = TDM_EXT; + else if (rsnd_runtime_is_tdm_split(io)) + mode = TDM_SPLIT; rsnd_mod_write(mod, SSI_MODE, mode);