From patchwork Tue Oct 30 07:47:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10660551 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 1078D17DF for ; Tue, 30 Oct 2018 09:06:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 014CF298B5 for ; Tue, 30 Oct 2018 09:06:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7780298E5; Tue, 30 Oct 2018 09:06:55 +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 6C1C3298D1 for ; Tue, 30 Oct 2018 09:06:54 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 4A8BD267692; Tue, 30 Oct 2018 08:47:26 +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 D210426770D; Tue, 30 Oct 2018 08:47:23 +0100 (CET) Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-os2jpn01on0104.outbound.protection.outlook.com [104.47.92.104]) by alsa0.perex.cz (Postfix) with ESMTP id 3D13C2675B8 for ; Tue, 30 Oct 2018 08:47:21 +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=1zYyab5BuesTlpznMbHSYji09GrWuyquGRNFrdMi8oo=; b=SNG39miID798MY252a2jrgdFBPKXX+I/r/EKWF0RxrN3wJ3vaipZlEIh/is6SH6Uvm4if59Qx1X4hqRDc0ELth0wpdc9lZpHqd+ai4lry4/rIS5P0zxSC8RinyzQfSA+gLHWoEL7f19ZCUmXRlLPgRJQ0/iz6v571RGKCE2cdxk= 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.1250.22; Tue, 30 Oct 2018 07:47:18 +0000 Message-ID: <87d0rrsx37.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: <87ftwnsx93.wl-kuninori.morimoto.gx@renesas.com> References: <87ftwnsx93.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 30 Oct 2018 07:47:18 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR02CA0011.apcprd02.prod.outlook.com (2603:1096:404:56::23) To TYAPR01MB3327.jpnprd01.prod.outlook.com (2603:1096:404:bb::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdb91d40-4fa6-4000-5975-08d63e3beaf1 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:TYAPR01MB3327; X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 3:OBK4++ZxqO+98F8a9eNTWosCFnxIb1LXpmB/2ohSq3bJlXG00pTH+BER/+nGiRzI9ZWl79mC6U1YAaMXZ6Ke8h7Ahrj05t6J5tr+w6dxuhWx26YLDU6OTjPNIc9y3AnP9K0RdEAaz5TJYnTTXG18Hq/yIZ3L+if6f+hQAougLRrf3SpnrcxPuFBiIAi3vLoxdu4y8S9pLp2FlNInwVsmtYmOzLDy+aQfUMlHwCZGYp018ynvRdVeMnRoZbps5cjo; 25:SRm+/M4tHOEeRWrQEGZADUFm1E4LYw4gQnXSXQMB5KxfyteyAgV8F3JnE07CNwxHnxlVB+1H+ZLjPVA3kE1ojikKSf+WiJr5L4EWmikO1kWJO5XCxGsYdiLEF0MaK9x4M/eCDtrAuhnhXBfqehlLS2OUPeuUE47YNSoi7nWHvtb5LbVI6OG//si+MAAlCkWBY5UVz7OTg54fEt0c0YdAH7iGTIEf1YZTKPlbz5ll31xKDbGmNX2PeEw1rMzzgWzPQN/rvwkxoGcU7XNhkboaeQtCUYjx3k4QNr8pYJCKLN77QrMnEu3JyEkoIPjmLaP+fEeA+Cjs2Y2FDpSmu3E8CQ==; 31:B2qqIUdoldCBygI5p1TeAyudjf25Yd5qE7ESKOeQu3NzVI0gzSQcLEGliEQtK4jCiwuTj1a4taLnG/MPLvBb5wJO7/miMP6MGIbwc5h6fiF/x2KNQquiJuEa0venIFa3kot0h+aApfUkPsXsTDN4iF1BJux6hVKcTXipF4UQVLGqs2WUPyZywk15rKGwDiFogqKQpsBNoGAY5cGpYlCGRyKRudaRyJNDGREnmnylJ8U= X-MS-TrafficTypeDiagnostic: TYAPR01MB3327: X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:z8wpZK9llvNy0hdEWblImbdUkVuE1SfSQLTLteq4Tt2GNwsojrNcj3S1tbcL8pAJjGS3xjVBCAqNnnek8lF4SuH1EqNFGvZHg45FvOJPf4MsDyhD3M/uzhYkz8AkP5esmbKVz5DSXIYHqXNUhY0zFumdP29j6fg/89eG9CWVVfrHWvdx8hK1FbxkabuUcbUxMAEWP7uEHl2ljWCnOfVVj0jjTgLqP1nMoNo3jvcsLQPNqHZJj6mf6euKL5mmXZ2gaq3LO/Oj5I2JWdY4GWdkOS8mYZqfXxcMYJQCq/o/GtR5zi6y4ScXEmo0N88x3ebkai1eoJtUL5y9vLoxPaHoM+PEeE06wXwoixYu5YFWkk/Vyf9KaVZB3HGJMCXpyaeEHIUrnDJPBIz/Uar0hGBcFMfe9sUOYjkYgiGLTkaE7eFkVDFeyFHLJXKHIXCYvIY9Wp4RnXPEzpQqZfntOLfNcgHnktS3qCA9Xn/4B17vzD2TO77RJPdmLLtq8eGSJkfG; 4:feP22ixApVjz6Ypt9m4ehJpgM1XDI/HkUTtc8GXndMuvfCHdC9endAc/T/RdXlIKZ5bs6zGy5Fzo5AyMhDb3zGkV9oXN/Te4p1/RQH9Q23ekt9WszzTH2lDATRenoUD00u/ZHagR8o7vlozoO8mK4hfQJSi4hUv+HGduqcuGMVQNw7eJdNNlz3c9S9rMz4yBP3QEDstr+37c7HW1aluhsVwP6tre0moZJwnbxTbuATW9d7VNSCirkQOKKUxKlyx+QvloNpv8/wZWnatXCmu64Q== 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)(10201501046)(3002001)(93006095)(93001095)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:TYAPR01MB3327; BCL:0; PCL:0; RULEID:; SRVR:TYAPR01MB3327; X-Forefront-PRVS: 08417837C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(366004)(346002)(39860400002)(136003)(376002)(40224003)(199004)(189003)(14444005)(956004)(2616005)(476003)(446003)(11346002)(486006)(6486002)(47776003)(66066001)(26005)(2906002)(36756003)(3846002)(86362001)(7736002)(305945005)(6116002)(50466002)(23726003)(316002)(8676002)(8936002)(68736007)(81156014)(81166006)(106356001)(386003)(105586002)(53936002)(16586007)(58126008)(7696005)(4326008)(52116002)(478600001)(97736004)(25786009)(6916009)(53416004)(69596002)(76176011)(5660300001)(16526019)(186003)(142923001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB3327; 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; TYAPR01MB3327; 23:uBARaN2pL2S1zzM27m9lbgGhBScAT7KJSZtr5/jbJ?= 1ejqFp3rTn/VQ6nJagfEbCmeYn2FCiCgQx4seWAiY6K/p4n/ZAR4fZoE48ffpVPx3Vgs3PsrQGCQCL7o948UGIrolVWKuD/yGGA2fjiNNUAU7zOzuE6+bKgy6M66E5iR1STrCIqlnrYjtU+Wn8bSpxQckedm6etNpv6YcvKUcpcPexZB6U5rqFmepmAnViePxqZsr3CRLZD9eUO18RuD7mq4IYOBqFWkQ6sgjB2bbtlL2a8BaWrorJFDka6eZAVqNk8d8pNXGm/7iTEVRnXg+m//FzsUX5RUe7YSHXMd5gf75bnm7GKKTN5ug9x4vhd0Q6n2JpuG5F6804UuXANO+eCO4s9HsAN8p4F6CJwpyFvuXVzLGvhn8woDq218jmPbtPKaxMxqkiYJPdmJjY+0++OlAmzX/ORpNV+4tgRSthQmy0wfMOYfZeEWsicn98c4PTYAFzeYnAbnAd2bC3OtwxhD5Oj0wRasvNxvu5teM15pfUgpxbuWoMBkhQpZZVpsQRp7b5n13Ps4k4UgBjhaXMDzKzAcU8FhMGUgXNknmc10MfoLXarhdRZv7bwImoKN48kw6eRJho8qwxLly1bOJJ7JrO4lBKPNPjlAkAOQaglBdMIHjvv9LmbFRjinX1yGO0yKzOeBntAnH4fFxC3Zdky0Tf6L0/PSu/lpKSxC2OTDxXeagxtcP9CuNVlgn4sA8ftcyl5+w7yuJXk7hzzPie4/7WcKZSBaLGmCOR2C0GwBmbFK/InodnxK7hl+hFiZSxGi5KGCpEIzj2p2QpkwGkVgidWe6O6yEB3dYYJSXz7hGMF4Pk9hq3FX6aq1ejoUmIiUcNX5Y2iYGgG3M7uV4SahociSkoWt0XU4K4jf2FLhAc1rmQRNmli+uMzikHZmPxvis5JL6msejAl4oaTg8F4DAMNLdkGlzOYsqJI5pGV3px5dhEtLisKn8dL37tHl3h/kEM4CZEik0U+zg/ZqcIln39u1CwOwlwzXCQgCCq1Hc//BJO7UAtjLU0ugZavWV18y0LsCF66IQpXuh4QSOyjRdvPjvDpf8816bGG5CQfwAQDiwTjw/xUH3d7IW3NUgvl9VdUP1AyDEAqQ+wsOK2fcuIx6dQR+HKZ/3Zb4HMt8KzCi4Zlm8qJ15JNC/fG4j3xeT3uVwBBxXQ8BvdtO48PTkuR7mgx3CO+3xZvvx/pre4hU6qzVT1cu26Pf5FfVTE= X-Microsoft-Antispam-Message-Info: 4TuKP25+rJlkrl8qho9jcE5syGBHffd5A5njq9ezWVOumwUvY4JOyUOZEEBEYGM3mld6x30ML9QrTdGSAIKDildcysAyEvZh42yyTSjunGR1SDRHad2VUasVUsV8LbARQZPnIULwraTeu1owsUCc2R1Rz+jTNIbAa08ZP8yEWUR7RrN4yKXZtgyUKfQlcQqZsvDAnReSBhBLJpMP0hlZBq8yVlM340Ze/gR3mhQVOPJ4vPvlgtKZm1Qoygp6hTUV/BxYamdDFSz+5TIJLjpsalplyuNtF4oUbU7OSFJsLdc2B5vyvXhkDs2wMnjhrQDyrP+ZFtfH+IBwt8zt2mC/xMmjfWVeNjyRiaxku7LWZMI= X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 6:fvtE+v6jHNbIpJI5SmSGmCBBZiN1WPJAigHkrtXul6HlwK7BEuRp6PUc8tgAVxVw5GIUJKbeJgGVN+UPLnwHgxiYB19knUIKbJ3wZu55uVb6R/ZXq/GPW2Q5upW33zs8n+kcrNgv7LZ8o2ik/rAWssVHui9giNCZa/k/67092UDtp8YpZ+2QNbeImbjTrWD/QFDuV88Ik9bXjc0eugQwyrt9CpIkDCIuvjruWevI1lMspv0/VstZqtoD7NpoMzWxo9l23pI24zPB60jhowPXOG/HKA88VV6eu9NfvS5Qsjo7sKzyQG6T8BNdkJie5ASIqQRtd65VTX4u4nCkUz61Z0otEyxrPb4wIYyZDSJyoVAxd4LcZGoVz5WqnDiNQ/7uso+CU4BDCl7EnleAMbgVXwZrqkjlYvVj9SiM+rimLmh/0isVLOE6JNL12hK+fgeR4Wbeyk0/1LhxyNi6y7OU0A==; 5:gB3LExeHwFeIALeRhXLJ/l2iMP+Tbig0O+akLbgiRnzLhRHqGElIP7tHXwcre7Nz4WW2ABMzwaeu+EhkBbKwxAO2kVJXPNRuVOz0oEL6/BvKBISbEHGHGW1wk/FUT7N9lWzdvQXg3/PMzLHEEyuO/FkcUtXj1q2r4AE1Mu9hMM0=; 7:1UqKO840pSy3yscXUlQn+pfe5mfhB+5amB2tdJtn8yUnVkg8iuIxhnYbP2ZwbYV1BF6Px1W7BvnN62iL6OwujVovq3Q3Una5C6s70ryC/ebRUXBehbZfGQtSv1+3C2+Vb1qlRu8esV4kEusaSudU39XtJUcNMrKpxv4isgg4QOR2Zbvx4yrJC4rALA7aKvrszNX7IbeDe0vpiL8s564v3I8deM5Y662pHhvgUUcMy3up6gq4nkaJ/XkeqjVcnHQK SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TYAPR01MB3327; 20:9tMEgU8A/4sLz67JxTc4vzRhdaSK5bd4xzP92ZoQlJWDJukzR9avsiQO8FdHVCE4og8FK2e9T7raAYC/ky9A7F0w3MbwgihsRLvwOwhbukfHhlzvSht1vcVgUgqLq+it4ms5PJltdIwJkwpU30wvhUS3WRWFqmtUEGJpotDbrLE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2018 07:47:18.4721 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fdb91d40-4fa6-4000-5975-08d63e3beaf1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3327 Cc: Linux-ALSA Subject: [alsa-devel] [PATCH 2/3] ASoC: rsnd: add .get_id/.get_id_sub 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 ID for CTU and SSIU are confusable. 1 CTU has 4 sub nodes. This means, CTU0 has CTU01 - CTU03, CTU1 has CTU10 - CTU13. SSIU is more confusable. Gen2 SSIU has BUSIF0-3, Gen3 SSIU has BUSIF0-7, but not for all SSIU. In rsnd driver, each mod drivers are assuming rsnd_mod_id() returns main device ID (In CTU case CTU0-1, SSIU case SSIU0-9), not serial number. This patch adds new .id/.id_sub to handling more detail ID. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 21 +++++++++++++++++++++ sound/soc/sh/rcar/ctu.c | 20 ++++++++++++++++++++ sound/soc/sh/rcar/rsnd.h | 6 +++++- 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 5373eba..82d2234 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -144,6 +144,27 @@ u32 *rsnd_mod_get_status(struct rsnd_mod *mod, return &mod->status; } +int rsnd_mod_id_raw(struct rsnd_mod *mod) +{ + return mod->id; +} + +int rsnd_mod_id(struct rsnd_mod *mod) +{ + if ((mod)->ops->id) + return (mod)->ops->id(mod); + + return rsnd_mod_id_raw(mod); +} + +int rsnd_mod_id_sub(struct rsnd_mod *mod) +{ + if ((mod)->ops->id_sub) + return (mod)->ops->id_sub(mod); + + return 0; +} + int rsnd_mod_init(struct rsnd_priv *priv, struct rsnd_mod *mod, struct rsnd_mod_ops *ops, diff --git a/sound/soc/sh/rcar/ctu.c b/sound/soc/sh/rcar/ctu.c index 2805847..6a948b1 100644 --- a/sound/soc/sh/rcar/ctu.c +++ b/sound/soc/sh/rcar/ctu.c @@ -334,6 +334,24 @@ static int rsnd_ctu_pcm_new(struct rsnd_mod *mod, return ret; } +static int rsnd_ctu_id(struct rsnd_mod *mod) +{ + /* + * ctu00: -> 0, ctu01: -> 0, ctu02: -> 0, ctu03: -> 0 + * ctu10: -> 1, ctu11: -> 1, ctu12: -> 1, ctu13: -> 1 + */ + return mod->id / 4; +} + +static int rsnd_ctu_id_sub(struct rsnd_mod *mod) +{ + /* + * ctu00: -> 0, ctu01: -> 1, ctu02: -> 2, ctu03: -> 3 + * ctu10: -> 0, ctu11: -> 1, ctu12: -> 2, ctu13: -> 3 + */ + return mod->id % 4; +} + static struct rsnd_mod_ops rsnd_ctu_ops = { .name = CTU_NAME, .probe = rsnd_ctu_probe_, @@ -342,6 +360,8 @@ static struct rsnd_mod_ops rsnd_ctu_ops = { .hw_params = rsnd_ctu_hw_params, .pcm_new = rsnd_ctu_pcm_new, .get_status = rsnd_mod_get_status, + .id = rsnd_ctu_id, + .id_sub = rsnd_ctu_id_sub, }; struct rsnd_mod *rsnd_ctu_mod_get(struct rsnd_priv *priv, int id) diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index d25fb5c..fdf007a 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -304,6 +304,8 @@ struct rsnd_mod_ops { u32 *(*get_status)(struct rsnd_mod *mod, struct rsnd_dai_stream *io, enum rsnd_mod_type type); + int (*id)(struct rsnd_mod *mod); + int (*id_sub)(struct rsnd_mod *mod); }; struct rsnd_dai_stream; @@ -376,7 +378,6 @@ struct rsnd_mod { #define rsnd_mod_to_priv(mod) ((mod)->priv) #define rsnd_mod_name(mod) ((mod)->ops->name) -#define rsnd_mod_id(mod) ((mod)->id) #define rsnd_mod_power_on(mod) clk_enable((mod)->clk) #define rsnd_mod_power_off(mod) clk_disable((mod)->clk) #define rsnd_mod_get(ip) (&(ip)->mod) @@ -396,6 +397,9 @@ void rsnd_mod_interrupt(struct rsnd_mod *mod, u32 *rsnd_mod_get_status(struct rsnd_mod *mod, struct rsnd_dai_stream *io, enum rsnd_mod_type type); +int rsnd_mod_id(struct rsnd_mod *mod); +int rsnd_mod_id_raw(struct rsnd_mod *mod); +int rsnd_mod_id_sub(struct rsnd_mod *mod); struct rsnd_mod *rsnd_mod_next(int *iterator, struct rsnd_dai_stream *io, enum rsnd_mod_type *array,