From patchwork Thu Jan 21 01:59:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 8076741 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id E720A9F440 for ; Thu, 21 Jan 2016 02:07:47 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 19DB3205DA for ; Thu, 21 Jan 2016 02:07:47 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id D74B9205DD for ; Thu, 21 Jan 2016 02:07:45 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id EFAB5265DB1; Thu, 21 Jan 2016 03:07:44 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 5B25E265E36; Thu, 21 Jan 2016 03:03:07 +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 C947D265FCB; Thu, 21 Jan 2016 03:03:04 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 77A38260484 for ; Thu, 21 Jan 2016 02:59:59 +0100 (CET) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie1.idc.renesas.com with ESMTP; 21 Jan 2016 10:59:58 +0900 Received: from relmlac2.idc.renesas.com (relmlac2.idc.renesas.com [10.200.69.22]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 0B9CC505C5; Thu, 21 Jan 2016 10:59:58 +0900 (JST) Received: by relmlac2.idc.renesas.com (Postfix, from userid 0) id DEED42806F; Thu, 21 Jan 2016 10:59:57 +0900 (JST) Received: from relmlac2.idc.renesas.com (localhost [127.0.0.1]) by relmlac2.idc.renesas.com (Postfix) with ESMTP id DA4232806D; Thu, 21 Jan 2016 10:59:57 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac2.idc.renesas.com with ESMTP id LAK18028; Thu, 21 Jan 2016 10:59:57 +0900 X-IronPort-AV: E=Sophos;i="5.22,323,1449500400"; d="scan'";a="203941402" Received: from mail-sg2apc01lp0240.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.240]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA; 21 Jan 2016 10:59:57 +0900 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by SIXPR06MB1021.apcprd06.prod.outlook.com (10.160.238.156) with Microsoft SMTP Server (TLS) id 15.1.365.19; Thu, 21 Jan 2016 01:59:55 +0000 Message-ID: <877fj34rwc.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown In-Reply-To: <87r3hb4s53.wl%kuninori.morimoto.gx@renesas.com> References: <87r3hb4s53.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Thu, 21 Jan 2016 01:59:55 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: TY1PR01CA0001.jpnprd01.prod.outlook.com (25.161.131.139) To SIXPR06MB1021.apcprd06.prod.outlook.com (25.160.238.156) X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1021; 2:dt7Qgu/L8A5ksqHO59MZedVEoh1C1dxJz1XpX+xUYx8mU5SiGfWjBHAS8fGGuwxqEGTukABOrevsRYik95O4NeIM5tvaB1Bijzk5fWwC+4+ygHaJfs+SiiVvlfN369ZVgtlmzjQO+HVt2DrgoJe3Fw==; 3:EFFl/8SHqfwflggFw1ShoPlqvjkyx8WNxQiM5BvaQ0oEnYC5t3bVgCNmKXAS0YrOVyrnd4fcwJPHpqsqqwG5Y4Ag5U3P5IfbvWFRmG70NM/+WwqoS8J4LaaGqM2y8q+l; 25:zhr0P0u0HQt2UAeMCfZyA02NOzawkhSeuZkGH58MHpSup7Qr4ER+ZF+iAvS1fvDGKtE/xbzM0Kqa3NyWlUqTWU4uxmNVnxZcU5pKuD1qRe8kMTnqxwDsAncTmDjc6SFoqDaY4uDcDozzRQ11DJwWFK487wFUA+8IRjfm7Bc89Ai6JmWZj6Dv2/o/wZcC6Y9hr3g9A4zWefvn3CzGRqMY83edfbP6An3D+8RZ5dn3Y8YXoflrWeTY039bwPBJYIFw X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SIXPR06MB1021; X-MS-Office365-Filtering-Correlation-Id: 137f0d4f-a785-4a76-f82e-08d322068f4c X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1021; 20:TvjSQQwEKmFSqaojoKsLni3E+yIELuwCybkf6c10iwZuooMI8vuCUdK68GiIG/FQPmZEUzkOzqWqx+VgYN9prBRQrhGZTEekaGx4gC7AZyrHvzvi7ivzSZVGAnWF3rn6YfzADhekTL7LwpRFQWwFuTq/bq7hl5d5ikNUpXs9+rGpG2KUpJk2uZ8dAf9eqz1tn0UNZmvF3ziu/5//6Iwc4tCAskVR8jmLY/mdA7oHn7fuBA0+alHZvNdBxGAuiuaC3ynSH6GUGeRWnv5FDG7skXBnH4yUiRQvpKCuyqx4KcIvGJN3R+ZVe5UoBBVBd6iXl/YFP9v1H1c3+dMXBwu4dxXs7m7Y2+ZX+MZgf2e8K6gw6xb6Eg7NOHXLQjAYs6Vmm+3KdtMB1IVtSpqZTZ8Bet4K6/xDdS2hY403WtDUs12HJ7mLZyvSiDRY5qsjU6Kq5k2U3VrTRgLGVslvObr250w8/yGHq5+xgIxKoSFx41X4KigreFln4bsqPta0rpI0; 4:eFFdxoGIwgQ8LZc4vNYUZykAU30CsTZLu66v26jLki108YkEVn0BfSPNU7RSlIL1pPXY8WENjOTOK55/lcu3/dGMspzkW2LpotscbH+QmslDSOj1xWJ15SjwA53VCO7TlO59awStoUv1DPqpyZrRCdLUrdhapSr+nf0HdRslR84wkU0QTQPkQjeMUhy1w7+435xneXUUOj9MuNwUUG+9nr8oHpSLYprr8kenFEalqO2JULCyoPZ5DlZFdoYXB8Ff+Irc1ie3lQGTnZRR0zKYFtZfaHoW7Tt6IWuuEcx1Gm6jvTJPHj0s/W/IqE7eab6j0ueodP/zHSAV5WduYwW3t7YwWljZ8i+zgM1Awx8CQgHZd3hkdbAFcHa7Hg8Y4vUkK0m6lXUpd2MnsXe6YEz4d3/XfJDBK2tC4uIZ94N4R0SvmVLj3D8/cDR6fQZFOSc8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(85106069007906); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(10201501046); SRVR:SIXPR06MB1021; BCL:0; PCL:0; RULEID:; SRVR:SIXPR06MB1021; X-Forefront-PRVS: 08286A0BE2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(189002)(199003)(40100003)(19580405001)(54356999)(69596002)(19580395003)(77096005)(4001350100001)(76176999)(122386002)(5008740100001)(50986999)(53416004)(83506001)(87976001)(229853001)(106356001)(46406003)(97736004)(2950100001)(81156007)(42186005)(66066001)(101416001)(92566002)(47776003)(189998001)(5004730100002)(110136002)(33646002)(2906002)(5001960100002)(50466002)(86362001)(23726003)(1096002)(36756003)(6116002)(105586002)(586003)(3846002)(4326007); DIR:OUT; SFP:1102; SCL:1; SRVR:SIXPR06MB1021; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SIXPR06MB1021; 23:mbnScdOywsdFUXrJV2Gx57HgXH0Soc7WtNOMewsW1?= =?us-ascii?Q?DO3sqlWXKX/ZgiIpu1V9u9r7ufyaB1Fvvjx+gXF34xQG/0Yg7sbg6jiNGqqI?= =?us-ascii?Q?EJsz78lNaB+Slv+dC5u5iFNIvXT/86Q9U+zJVLlnPtCNcH7AfuRMd9WVX8Nu?= =?us-ascii?Q?LSJEzpyHCLIu3z3/lrPCPoD3TtStxqWM60AKe0cKZe81dL6zEb2XXrtLwLys?= =?us-ascii?Q?KtPRFCjmeVIWv6liSJjh7lXt3aOcMizNC+yCKC9AUKPncvE1BakHCLrE4is4?= =?us-ascii?Q?MvvBKOxG6z1QL50Ijg/rGmHemi1FYH5M9M7oJlSpo+p3QpIlsQJOd2x0St9A?= =?us-ascii?Q?oFM/WPRI4wot5uwPCkxIDjnP9uiQpIx37OCafYWT96Z/6LseS6Mn3QaDVm9I?= =?us-ascii?Q?nmxXxe767P1CmCL9x7MTws2TW5atdNmYk80ZSLVEyXdRWX4VZolzTeNZr8Fn?= =?us-ascii?Q?kI3TE49Ge6Lv4+zKRe2jyIz9F+6IhhVXUG+rpx6FCndjcHfhv2iM/5P5L6RK?= =?us-ascii?Q?lCOaq2BnJQOkGFqOqVBKla8JCs7pEKNb5/cQLvD9S1uL62Kk/rVAShsOaMjC?= =?us-ascii?Q?DdA9SD9l2cc8BL9LUaa28wh/AJjOs27OA44Mxa0gf/y9dRbXlH0i/RKo6GF5?= =?us-ascii?Q?G3/qfTyW0MdnbKiJ/6cL4tWItA9q5FIfHHY+TWPr+XyGRiwV/Egi4UcazQAz?= =?us-ascii?Q?A461tvNloYMuYveMUNtRktgao7d7x93U4JBrNxatCDCpKkCophGUum4/WLNZ?= =?us-ascii?Q?FoccUKulgOmezq+IV9XbNCxYX2deVoRaZGqoji63vEK1GPCiK/0yc5/XFgBB?= =?us-ascii?Q?GC/lXb4O4sDWOOJy9a57FxHhw9fGyc+Jkkpsrzw2OuUDGIM6kX/BL9irVEAP?= =?us-ascii?Q?ns0hU79zNde4NTwJfxpdZe8mdW7MGOZJxMW0dN8Jphda/k/DhAghWnKSKvFm?= =?us-ascii?Q?pw5NTJUmS9KqDzpmwvdiGrlr2SdG7Egfxst/GjI6WR3YCSR4t9fm+slmprHz?= =?us-ascii?Q?N58Eo7XUry+Ch34gJ016+8FHS8k/ffuzp8g/NuFmexmeVU7EaGlci8P8PK2U?= =?us-ascii?Q?rG5jbIGAb50xDktlkHdb4YWviGmH7A4wKyLdqc5LB94cv2FskUx1CmDLp8IF?= =?us-ascii?Q?3STTb/W4Xnf6YFNLWbm8uc9KD+OdAxQ?= X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1021; 5:YuC1PTbnEkbvODthf55LFWWK6QgPGQfa5GIoz5N1SqPf57OV3I7a0n0ZiovqVYWMVg6W5vs60dDmkOqkgeu6YLy310Y9KhwIwcQg6nknZQKrZsQLhWSLec11IjVPqGi2vf+8SNZZ5FGnz+7sDT4n9w==; 24:svtInDgHSqp+XzsgcAyDZ3kfN76fwiC2q5YDz6vCawtUGRNLxShXcgsjE3s6FKiXFzjMkdiUHhqm2wZ23Wc8iOfoFWhr+OEpPormirn2L/Y=; 20:6KnLiAXbmqxsWCbjeMsjEOWtXTt9bT1a7IRHeVma+sWIcss2aeaDpa2rFIQwq+QUPQGAvifmppJt20rHDxe4RhVhVz2zq63K1kIfwiKh8B9CbODyhRotqvOrBeNYp8AS+aWHYYIgE7/M9s1nqqqCa8mopxUeg/ANpuB2sekGNVY= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2016 01:59:55.3081 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SIXPR06MB1021 Cc: Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH 14/15] ASoC: rsnd: tidyup Playback/Capture sequence 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 Based on datasheet sequence Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index b460d71..1fcefab 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -358,15 +358,51 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io) ret; \ }) +static enum rsnd_mod_type rsnd_mod_sequence[][RSND_MOD_MAX] = { + { + /* CAPTURE */ + RSND_MOD_AUDMAPP, + RSND_MOD_AUDMA, + RSND_MOD_DVC, + RSND_MOD_MIX, + RSND_MOD_CTU, + RSND_MOD_CMD, + RSND_MOD_SRC, + RSND_MOD_SSIU, + RSND_MOD_SSIM3, + RSND_MOD_SSIM2, + RSND_MOD_SSIM1, + RSND_MOD_SSIP, + RSND_MOD_SSI, + }, { + /* PLAYBACK */ + RSND_MOD_AUDMAPP, + RSND_MOD_AUDMA, + RSND_MOD_SSIM3, + RSND_MOD_SSIM2, + RSND_MOD_SSIM1, + RSND_MOD_SSIP, + RSND_MOD_SSI, + RSND_MOD_SSIU, + RSND_MOD_DVC, + RSND_MOD_MIX, + RSND_MOD_CTU, + RSND_MOD_CMD, + RSND_MOD_SRC, + }, +}; + #define rsnd_dai_call(fn, io, param...) \ ({ \ struct rsnd_mod *mod; \ + int type, is_play = rsnd_io_is_play(io); \ int ret = 0, i; \ for (i = 0; i < RSND_MOD_MAX; i++) { \ - mod = (io)->mod[i]; \ + type = rsnd_mod_sequence[is_play][i]; \ + mod = (io)->mod[type]; \ if (!mod) \ continue; \ - ret |= rsnd_mod_call(i, io, fn, param); \ + ret |= rsnd_mod_call(type, io, fn, param); \ } \ ret; \ })