From patchwork Mon Sep 3 07:05:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585523 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 0BC8C13BB for ; Mon, 3 Sep 2018 07:05:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3E8B29448 for ; Mon, 3 Sep 2018 07:05:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7D7629455; Mon, 3 Sep 2018 07:05:23 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 C492A29448 for ; Mon, 3 Sep 2018 07:05:22 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 9095F267830; Mon, 3 Sep 2018 09:05:21 +0200 (CEST) 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 80E7C26784E; Mon, 3 Sep 2018 09:05:19 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 3EFBD267830 for ; Mon, 3 Sep 2018 09:05:15 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:05:14 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 97E397BD5D; Mon, 3 Sep 2018 16:05:14 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="291384140" Received: from mail-ty1jpn01lp0184.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.184]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:05:14 +0900 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=DWBH2gkONC++izHWpR/GTEfjWV8cJioJ0fUuyTYDCvU=; b=KTJiXCKPWHoSvi17LmRqf/MrA+aFjN8ELJXM8/M2KYQVQ0DMi7dQvvH43qS4TINlbIlOmQWIsAnHwVvD1IKEoPeVcmn3LihukcUXqUuLwd2rnui9VKuJJjV9H3AxXCZhrB8HJxbaWpDTljE1u57b1S32zuYQUmmHa/F7xkOsw8k= 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 OSAPR01MB1859.jpnprd01.prod.outlook.com (2603:1096:603:2d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:05:11 +0000 Message-ID: <87bm9ff4oj.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:05:11 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OSAPR01CA0138.jpnprd01.prod.outlook.com (2603:1096:604:f::30) To OSAPR01MB1859.jpnprd01.prod.outlook.com (2603:1096:603:2d::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8fd99120-a819-4331-55f0-08d6116b974a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB1859; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 3:ksf1pwyBusT8EiWtoaBQoqX6SPEef39jrUr1OwcVMf/vR5hFRccsOqWwqUYWrnoc1bEK0Hd4Q8IraCRyR6IDkafFPm8Sl3B23PGkxM+Nge9q0DkzZmTWLaXksMWW3J7DZZUn5Kc1Ogtl7vXqxhP7vjcZXBCdB/YhX8yqNmtnEfCDlpGmpqmBrO1FucYwRXSKHJ6GkHKnuMeQpy0JbYXCPeDZyYvaCX2JJDoG16uN9SzavHcL6B57TT2kDN2aJNVq; 25:tByKbRWaB3MsTJZRkQoqNj4Qpgv3jfbVNgolCQBn3lmF7F6kt1ftmFj0tm5skum//8JfmMMzS/KRmdo7Jq5HH40slWceVscFJKF6oD4UXHsdBWh3+Oc9BnXKQbsbkG7JsSUxvfY9Oh9hBuK7CVMu85Sv6ZCe8m15quP5+7tpTJiQmiIsymK1t2Sitw0jiryAD99ibsuVoHqjLk9ihxuGKe+u9nBi2fMHoajAhK8sGilcT5BWd3Twj/v9qvWu9FWImxtZWqxhclftiwIto0B4dmOS9RU8AOitNat7S5UalkhiICUz1PU6KZYhbNQ0oH2IXjZE3KOXuXFFtdV+6swt/g==; 31:erI7qLfbw7D7fnshEWfkEds7xhcphVSTqIklD82oo7iCWK6qMsck2m5xmth5po427qCBmJgWbBCjz4ZQoxch3tKJE28n8W0RSYKeLNv1sVNy72+spSx7zOTK+xbyIGz46J2XaHrdxZKXtT28OdlSX41aqsWi2Ar4w2d+y0aYHJLvXtfn2gwqbEMfEBCHNPThwD+RTzFtqHaC3dbnMPolojJfw+LqLQkb28qu4wS7zP0= X-MS-TrafficTypeDiagnostic: OSAPR01MB1859: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 20:sJ6dReBODa9+C3RkmuOPA6Nlo8nolCBBUibFWIbUe8Kyqi7NE10KzbAHXr9Kwkg2ubd8XD48YSk5LcvvPxd8PAJvlQkO5It88WE5i7KRzAGvjW+O6cGt/FvCLm7JS1egaMWhvEK8GBYSy9NECS4vWp5hWxYCaSQVLThH1UZslq/wD84WeBLmuV9LvaKytzbHKfblUeUfycbGA6iWsB4euMm2TeDScEG1IQzgbCVBfJATtTDXSfaQKSJKmBw3IJZvgRzRPYEMd8MlZR6PfwqxWCOJqluOeqpTTZYvckcP5SlRaKu+u6tYweyLBEdpnn9jPqPkjAxVY1Jx0RlSh65nhhrEFsehMyG1dUIGzstA4yHTokBi+8fTtMplm8NikHrVh8KRAdmv+SqbmMyKKmb9dE7UNJwePvux35efP+KjGMqy0d3s5NWk/Vr9ftYD/hS8JRL0J8cTpcOZ6S9xPPD0CkzXcT4miOPwbv9dmxKe0+yAxKQevPozdNFyUuuUrgsk; 4:iLpMg1YRLTPm0wz1mdaPLq7QPJs2IwRI8A0Fx2d0fU2nPie8n/XrY6JJS31S99hUZbS0ibUOsB0G9t+6BO0fvtgclJkUlWVz5oY9rXOe/oMCoNRYVGiJe9zWRuMrMParWg2+PLXaQpNSrjwfcK88x69pqJw6DqiWfXJGoREJApnyPbk/tIWrGtm3KqzguqBUvNfb51PFueFHZdU8Yie8YtmWtHJnC5y0N5DPKY+HG/aJg2Glxm/xu6ZbNqn0n0qS/RXePTb5++LuqKu1OVp6Sw== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:OSAPR01MB1859; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB1859; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(376002)(346002)(136003)(366004)(39860400002)(199004)(189003)(97736004)(186003)(4326008)(16526019)(52116002)(58126008)(54906003)(16586007)(316002)(25786009)(106356001)(47776003)(53416004)(105586002)(7696005)(6486002)(66066001)(446003)(23726003)(3846002)(6116002)(53936002)(11346002)(486006)(956004)(2616005)(476003)(26005)(81156014)(15650500001)(8676002)(36756003)(86362001)(7736002)(478600001)(69596002)(81166006)(8936002)(68736007)(386003)(6916009)(50466002)(305945005)(5660300001)(14444005)(2906002)(76176011)(16060500001)(309714004); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB1859; 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; OSAPR01MB1859; 23:+UF1nWScaxrCsmQDJO2FpvS5NXEKC0pfEbFcx7egv?= tZ7hqcI6PlFbLoXrEvk0heYp0VXD0c1GtQAR7xpRR46FXaXIVaVtG6ZZ1tan4hRkB55BknmTbRVUPFJr9ZH3iTfy/nUM+3mNel7uP01a2NK4/unTdLJlf/0yclSX5HwbypRGrAej/H6Rb3HFWQ3QeMddKCrzpX7hmtcumbK/ltrjel2GMI9wc7mn9wTxdIMZRYhOnqe10USH6xYJJ9OXOSFKeShD4Q/4ysh6syWluOcub3KX245iHWYAy63QRrUplpbzjOgsUQAP5xsG3JPeLv24aH645F4KCbL41nRRZWSJGcI+cZseTySKp7q3RDnFjJ7XpqdjUeMTen+E73WRXga7fUjZcfDEQgAvgB3UnNBHuW8Fm1loEljUAFEZsS/3cKA41H1b0dQ3udqE+QdN70KPA5eabMtkmDNw1tHpHlDjFweD/05vIW4g2/+MwNmmYcxf/zs/IEqA6K8b0JVy1yutDxEQjbs2yRCq+wF35OvVhs4lEIZB8fdXamXjgWULQNJ1yES1IaxL4aQx5fYVZaSQqUj1khOYtKIayj0vkqbyuax7Aq+iwLA6oOLpXunJPXuDuaUqutG8OyXvm2mDnn8gwpWIJyJv9BV+k/QPWSckAElPXkWw+vhu6qyI9ZH0Z1/t9TOKnzATXUT+0fenC/8JANEJG7w76bp5RFetNVBVgI5SNDtn1uaniH4LZPTENk4UVnVnc0M7CRszuZRm0+oyTNwVlX49AerI4bRAM2wRTkmOQEzMLr63En2Xpty4UUYgaqDyitxQrxlMtNfX08hukyKazotsK6TkcirkdAqaY2p+s4zjzHv5StkAhFIXAkiHP8PvKVJDzR/XVglsogVnevVDGUEYKxPXa5mOCQfw0DFvUgdZ5auY/sJhtmhZtPG0b1sQDVau8Nl3vnIU/qyvQQWQ0GPkLO1kyKcToQrRXesdAOOXZlhe9khTCpSVl5e7Z88K4yFU8jvHTKAxrrsbkbpx2ZvR5z38tgRcUOslzhVlFDCkjh0y7zA74kgT6I60BAXqjBfyA+RIb93cevdcxmh2aZfvjKNp8ktOz+tuY7XtqO9yA6ZD65U0qBkQnRlaB+qtrQIJjZn++aXAgVopsWNDtArE9pItY0sT3TzcDCmbDHT78jWMGDBkgLGVxnj3Aww6l9/d6sUfVqIBF28ufzOBcX5gYYads7atI9IPMwp/gugZzcoavifqiCsLfxUoXDVDRURQ8I+rbn7doM1 X-Microsoft-Antispam-Message-Info: 6dFkfuE7bkbWeY0mf2+Shes7LEylaLYtt9TcY3f1rVNjnJhUwLV0oW1AbudSIcyJ9ClECK5klXcD8T8RXn0pSfjGnlGlveZXDvGLHtS+GY4XfFpEtk5Lsw/zmKDtOlQRSsPWbroDXT9K/GPjjnIwIE727uU+QxY/P5h/lGzr+TAkj+GrD9LLEZODRFvfhO3U8iyTCKFAgEQgTzHFUlbMRlVzzZF9aOOCXkNVq3sMbCXzRp77Mf1150dTdivVqpZ5Y0i+VFjrQMXSBR5zFPCBoggbSJBCdQ49oWlIyPwYBATOI8fcmbiYriktbp6s3m1XHLCsIwA5WKcmHg1fuj3kEzbBOk4NwAfektnZDR/HvRs= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 6:QJbi+fplJQAvCobiwqfrpcoDXd2/9Oiip+F2OHDcZPWIjueRLcz232DYfY9lyirl2yZbq+lou6o6epXPh2l+RCTpBA594c0ZV5ZE3Cghf8lcCM7f2l4n5cMoyFQdSKmTindf1Q1D7x25zFJ+w4VPVWr7V0eXKPAS2dUhhTGiI3rhlIN2jJGUYGdAk+Voux3fnxHUNJbWhMKFtgFq2a5Qf3QLGNyyaMmxlhWsgSZZCIALbn+izqsH4+shslfzwqWgrzWzCQDzuAle5XZlm+8Za+9Bci409ChZxs+qmOguYhA8/V8GNQa0+13/SwXLZtpPFMBr8aIhqoirHRib6WXoZBe8a3C4yGRzrwHjREaZ8Fd7l+K55F4oliLMBUMA+cUZJ5GRMJTVwr4SioYbMZSDypjOa2jE2ocfqLe+iX8+Fcvx6S9oc9TcSal7lsHZbbRFyUAWcc1PCyYdzLBjP1A8sA==; 5:iZBvhIKrQip01dwD1SK3hAhE/6wk22iQKLRZoes1joFeDhFwtyidvTTZL+FgCGRG9+4CLmjABG3IytMTLyYRqRsrrFfwNZliSDlqoDMgtI7RBfyRtnqa+pEbC1Zg3d0higkuzeolHB2o7aeYA1cRQtZKGdN9bm0ebUINK1xDC10=; 7:4AR14ndtT9LJNjmag8EGADp528ydFUzNT03+kExLwqCHLSe1p2UNsICljj/YQYBR3mdD3BhZlLxCAiLwT+L0mFWLLcriNbfV7TmPFJ1Sk0+n3ctwn47JpGg14giDcpPTv20vyQhl8mVR+ZKZNTtj+tGHaukrQaR8EfVFBgiti7qcctOqeB5KIjxUMM2GvZ4WEyFgINl0V7s32LkaMQ8IQOr86n/qx5NKS1fKFG6C8EPfX5Q3AjRgemUx9PmImzFn SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 20:oDV0MVJti4W5+fSauWJ7FM8LRPgnoH43Zj7GJR245rHfWKCzjFxGD3dp1PwM0X5T0ziD1BwNIfyrQOAeVk6C3TxHvHNyOa0LT2RhrH8cLgnilVTQjF/d3L3tkHwhkGFpNIow46TSZVrT2QB7Y2/nOygGnqiiaJX19EnP2YNht48= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:05:11.5189 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8fd99120-a819-4331-55f0-08d6116b974a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1859 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 01/13] ASoC: rsnd: add warning message to rsnd_kctrl_accept_runtime() 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: Jiada Wang Add warning message to rsnd_kctrl_accept_runtime(), when kctrl update is rejected due to corresponding dai-link is idle. So that user can notice the reason of kctrl update failure. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [kuninori: adjust to upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index f8425d8..ab7e317 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1263,8 +1263,15 @@ int rsnd_kctrl_accept_anytime(struct rsnd_dai_stream *io) int rsnd_kctrl_accept_runtime(struct rsnd_dai_stream *io) { struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); + struct rsnd_priv *priv = rsnd_io_to_priv(io); + struct device *dev = rsnd_priv_to_dev(priv); + + if (!runtime) { + dev_warn(dev, "Can't update kctrl when idle\n"); + return 0; + } - return !!runtime; + return 1; } struct rsnd_kctrl_cfg *rsnd_kctrl_init_m(struct rsnd_kctrl_cfg_m *cfg) From patchwork Mon Sep 3 07:05:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585525 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 93D7B139B for ; Mon, 3 Sep 2018 07:05:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 86C542918D for ; Mon, 3 Sep 2018 07:05:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7722929455; Mon, 3 Sep 2018 07:05:54 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 3A38D2918D for ; Mon, 3 Sep 2018 07:05:52 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id C2F1326784E; Mon, 3 Sep 2018 09:05:51 +0200 (CEST) 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 1A0CA26784E; Mon, 3 Sep 2018 09:05:49 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id D6DD9266E0E for ; Mon, 3 Sep 2018 09:05:45 +0200 (CEST) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:05:44 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 5159675B9B; Mon, 3 Sep 2018 16:05:44 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="291384181" Received: from mail-ty1jpn01lp0180.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.180]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:05:44 +0900 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=cGPUXqK0HAjMuschYxCyOcd1dHqkfPAcei5lI2VsZQA=; b=NlAVaOlijsQtxUASJXCLHVSF5hLER/4fHYe0riEJtAoL4LICVib0G0J01VuzDCz5/dY/NEXTaDqbR/s2xhXPl7ZiUejZ7MH0q2UghFrQDzUb8ts/QCQTmaST9FEzBm8wQ1eGm9mO+ZWzDOnbFbfYxwmeSK9MAN+IhxeIJ1eOjBM= 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 OSAPR01MB1860.jpnprd01.prod.outlook.com (2603:1096:603:2d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:05:42 +0000 Message-ID: <87a7ozf4np.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:05:42 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TYAPR01CA0096.jpnprd01.prod.outlook.com (2603:1096:404:2c::36) To OSAPR01MB1860.jpnprd01.prod.outlook.com (2603:1096:603:2d::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d525b225-19df-4a03-d0e5-08d6116ba98e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB1860; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 3:Zo6frb3xutRGHDatoY/RqbTbqr/FBlqG/ODd4Pprs7jYC/j1UBkNejzAqm3rS5OfFEYrecDxaDU3wQ7UCudoUxblH6o6M4y950puWUT3doR2a15MqLk7K7aftHeafJQDfwUahzISGUrip14zIiaZJOwNClV8XtfQgyvhZGmyPoahbUt3AaEa0xl9QkQkDY4UEhTlEShpYkcfpTKAuTBNtHjOwTxwGgXmEdiJRheRwvgPNB98r9NYbnxFu0PDwbB9; 25:n0epjIYQTkmL2KIWJImEkDS4E+296YjsKyr+EqAlm0SxYl8ywdM3bbnbd6nc2hXOLs3RyjUrYDPIgDbHTcj4V7IdVXvS1lGpjL+jAq9pmTVpf8bVMdE2nqKpYGBC9yA0OU2IbqzIjB/xrSXKWck4R7dq94plOdFZab0mxtIhgxZb9hXlwtE+QyDzGQae4p9NqUhVzpBFdh4WO7yQOAN0UOYmyfumrLSd5VmeJfG3KcVK/Qd1QBOhkzgpVB02QJkQM7QL7m1Hx/2jcqfIe5G0bdrcUP/6myJNPl/bAcFuZXhndaB7Oen+Xz5c2Vq4lfcYZc6lg1t1KQDoXWUVO1dYaw==; 31:8bKpkMJgTU5iaYOTZ2coCKPnrvD8rAY2rdjm3ijVKAG+V6Unbv04gff1/ChW4/W5otyJF+bCEH+xebdi5/Maqd5XvUR1UFVqCxQZy0tZw16B/DfUhjnK9izNYVBshwVcJIpaR8eedv6kXFbQfLCaRYuifc4XvLMS0s55qzO6EWyptv0S9sGugwU1qeap2kZQDw8Tw//o1ul72b6QjD0bgW7XXBKEPGyN3CSQev/ATtY= X-MS-TrafficTypeDiagnostic: OSAPR01MB1860: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 20:XgHOFvWnzaivPsdnA4bXaHxq21I/rSbx6InuIEEDTO9fI9vEJHllY6mM1PEuXcHb4Q3aS13DTrXZA4IBTVKwpNLCgGKQIuphfX4t3UtICc4g36WUB8hQgPbEWY6bIHcmgFyDgU/oGOZOKr0x3ufXxoAK6+i7p0YPUOTUGsnfHwxgWjeGEyxepx4iZMjM7ndtVnvZz7eka8e4m2DdHlbm1gIQsx4tQtf1Ho7iZC2a3qb0Ar6eQjQ+7ONFVWLxy5C9HmVTtRNyYHNLDXDqtH6CaoWNPZqnYJEaXUqBGiM2guirtnT8tph3Siv/hOp4Yhy9UK/q/9zpMCYEvNHS4YvLU66+xoCIuTe4ZCxncLgUqKF6sd5lZ3Gp4/ePUU1keUlI2qIP5C70kCzNNn3Z58tb5+5KTlg/qi6HMu7q/9lLSvMQtZ2Qokuqk8MKLR1G5QV4TVV9OypMcBZhhXjCyaOBi0SaOq7bunVowY5KUahNSQLOIf0wcL0xCuKqeyRDvhp3; 4:AXElc5FVm3g6JWgp5XrgHQpp3ajaaGuVZwhqSUNZbVCNPZnqtq9it6mHH53xeS6uuQe4wHGOmU9uA7W050+HBF5kBizsPV5MsWkZ4ZP189U1AxvYmH07KBMRFSkjHObZIgyRqAVHqzVN12eIyxY9eMOQIirRtSzLc/4ZmN5qRmpBZ6vxwR6ojcBc2iqtm5SF7i7qq5UsnX3XfPUdbJnL4Zdzb6I60i2B8Elo8eq81zRHJxCL0GqfCmPyI4arwAHBkWjBmE/zQbWZQ0IjqMIQnA== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699016); SRVR:OSAPR01MB1860; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB1860; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(39860400002)(396003)(376002)(136003)(346002)(189003)(199004)(25786009)(3846002)(68736007)(86362001)(476003)(575784001)(106356001)(446003)(7736002)(2616005)(956004)(11346002)(16526019)(186003)(486006)(26005)(4326008)(50466002)(5660300001)(54906003)(81156014)(69596002)(8936002)(105586002)(386003)(81166006)(16586007)(8676002)(6116002)(53936002)(58126008)(305945005)(478600001)(76176011)(7696005)(36756003)(52116002)(2906002)(97736004)(6916009)(23726003)(53416004)(6486002)(47776003)(66066001)(316002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB1860; 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; OSAPR01MB1860; 23:I7f/s4KaOKjYUB2fAnxo8sY8qHc8AzclJaNKHVgqf?= toxjvs2GbknaDbYzA3Ko+iqmsOeJdZ5wwsuJgp/ZHLLHyhUBkWFs0tKtfQFjGpvEdL0//98IhvfoJnWCtwue0mzpLBBdUxQXGwJqXTqfzM12Sw3QGSGvbRiGVkwShbMSntXaO40cMoc2nCehvyzgQXOXcx0n9WnKx3VmFzOFu7Unc0qNawKlkEPcwLsK4MhN4p9YDMTX6DW1taUZU7P6CoghnFxs9rg8Zhi+0pmYQQnoMDrfUHkYtm1ynKa2tw6C3wcO9FF2AwM77pzO6y7FWJSJrOgqWuzqG7qv9FwV4Ecf9U7Fbid0cGcmPFLdv2epvD3wuPJzt2ZKu7d4+JEqSnwjZjRVQUIuRCEmJ7Mw2IUwbLAQ3+RQyRZluQIpR91dvElOu6SGLjA6uPaRWy1C/SvSdSInhkZmE2MRXbHTXO4tp0ZSx4uain9YAynFqASaJdcp5cJsQi4f/I42qUelyQeyYbMd9pAECDFyw+I4Pn5H3r+x83JxgjIWhl9oEunDOVArW56KVntZ30vPPVdRcu5Isskh0hrE44uc8KiSkUUptdPxUn+n9fGed7+9y1AO1URYfDrqSATjEccnjbGPD+SGucm11LHy2W+GMv7AVsGoV58GlaWksyJyDByGHIL+lUSFOXvmVPk/zpqVHuffN9QAk4UXph/iQUli0TG4FZbGi1QSB99QgXjXSr+QTdwRI7prw3GDjS2RsZ1th9XfHGhHEW8wmc7dXbJUkAF6N3dOwr8OKrr7t4E+7/6K0z5EVVZekpsXZXPaAZgtNX6KOB6TuewMO4Y9RNrDDaqd0ci6sETSxTZ8qepJgR5IafT0dhq2JV1dyOWDibcxepfhDTZQlTrXBzLI6ZZVExx7bO0CjT6G11IBRh5NzhD3F7n77JKRA5dHVosE5HRTi7oCSSbNIIxz3HCuWwzGS4Zk8iOpxwhMccZn7Rd8g1xLK2sFxrLJuxlTxrRQFO+rZwHNSaZXPv1cWJ9EgFSbE+mfFItR60YfCBqHNjOwPdhOn1VXoM9rbabXyhtcP13YoNitoIFzQQU5lYipDEtV2+EDsoVug3sQSzzjBsQ7iWrDeEmh823+o1eEx8s4NEY4R72s0zF996BPzWsQJ31kCRpnfi9fkaah7fSzdWY+B4QRlExWAt+i6eMWvkRwVcsyQVw8bekK7+uEzv4p4KLA7hDnVe/bw== X-Microsoft-Antispam-Message-Info: HZOUvHs5WKvJs3YizfegTlpipM+MAdGQcBR6MlYAA2fu5uJI0E6Vm0QM0q8PidwIRFHYE2antlwBIpKPUQ2X2k1aHIBxzU1Ed+ueCiY8dJ6GKooTjCv6woQBTQwsGMGoYSgomb3sgZdXqG0xDN1CTBFXJAnjXZb9w/eQvlXqrBCnlfHT1zAhDk6FGPh9LkfBhAtdrCi9P3xjI3vn0M/gu/hnWDDwkyAhyFR+nrh+zN4BGNE8asDahAuNxRKBdcE1u3P+6m+b49OFojbGSyXV81OW32mnibiKluiLGmPTuepzFg8+x0YRzzvUjhaa9Ki2fj2/5wBkev36Qwc5YmtUT0IlVk+W0fMzAkzA4nW5cK0= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 6:Bo/JLI3GdUOFdA/GFKI6PYzEVD/6c2b7rPw657FXow6hVNJjEmeqtSyotu6/AARcAPsdZRY/XlKSs9jmXe8niuhqFSh7lOF9IbgkJVEi4oirPG0Tm4HfL3USOMK10MrvRRty/MzZZ45irmQ6LDD0oCsg1INbK/phbXJ4Myq2n3BeyMkSkVPwKSBmo4c9WVFhtl8W+/99lR2qprmKjoMSzpX4dKNPCPRjU+9lABqrH8TLDBQx3wBdpEvbemPUDA9q+f2hyYuYPaESOJF2dRa9GyNF7CSkmJmz7pvRcb+aeSZbA0z6uM6VYGfIKbvUPtMZ7Jo0cZIXjoBe48zz/3MmmSaNsyW266vEwo0Z0HAM1jcJmlUFZocTztYT4wQBysxk9YBLY6P1lXlLTZsWZBsKOkmIRfDA9x8soNbOsAA7yxWSFAg+RuNKz9fiwCgoLs5njubKHnJlbrG6gPTMgqpRyQ==; 5:XZlFs+i2j5UDSk1lVITKSYrLi2OGpPa+XvY4/L9yuXCCGv1Z9Wt2QXV5J1jLtoBJBZ8Bj1Qe44mdck0PnxaL8K2s7nfpYit/LeX7a9nxHFY+wYiF5NKsFWFD686KiB57PEdHxHaZ0EjMgYA9qGY4mtRXM+rI8Pdn5bFiaPyHnnI=; 7:GlTz5eYLUaLqarYUUbReVyOQn3EVebukQDq3VjQOzy41KhHyBdXsTEEa86qPPjbqtvp4MDzdslWLlZzXn9r9gk+aN5ugdnYNj5vJMU8L77z51FhST5/6bdz/aq7171EXv+rBWlWKHmDGDzpRaFzF4jEgmcFTnfovimPo0ZieTjY/21WW5qEiDjIziRqyI50oKVJpi28TuR8XWjqW4Q0ECcSxhQlwlCR4PpMvdhWKx/V8kq36G2/wHSqg9Bajadgp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 20:ll3ZdKxpY1gvIawE2UXtBMwkesckVM4ShPgJonJt0hN3vv7pAjg8feIq1phC8zyuRQFrgvErOUiP9ouUO3RYIbO7OqFTLG9kfCMWvuR6D/rziNE9aWj71otfy5avTd0gmdoWaGeVKysYLEhz/M4xy1IWmcVGsLaX2Vd6YFeSmJ0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:05:42.1667 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d525b225-19df-4a03-d0e5-08d6116ba98e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1860 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 02/13] ASoC: rsnd: add support for 16/24 bit slot widths 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: Dragos Tarcatu The slot width (system word length) was fixed at 32 bits. This patch allows also setting it to 16 or 24 bits. Signed-off-by: Dragos Tarcatu Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 32 +++++++++++++++++++++------- sound/soc/sh/rcar/rsnd.h | 8 ++++++- sound/soc/sh/rcar/ssi.c | 54 +++++++++++++++++++++++++++++++++++------------- 3 files changed, 72 insertions(+), 22 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index ab7e317..ce0a3a6 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -540,6 +540,14 @@ int rsnd_rdai_ssi_lane_ctrl(struct rsnd_dai *rdai, return rdai->ssi_lane; } +int rsnd_rdai_width_ctrl(struct rsnd_dai *rdai, int width) +{ + if (width > 0) + rdai->chan_width = width; + + return rdai->chan_width; +} + struct rsnd_dai *rsnd_rdai_get(struct rsnd_priv *priv, int id) { if ((id < 0) || (id >= rsnd_rdai_nr(priv))) @@ -720,6 +728,16 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai, struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); struct device *dev = rsnd_priv_to_dev(priv); + switch (slot_width) { + case 16: + case 24: + case 32: + break; + default: + dev_err(dev, "unsupported slot width value: %d\n", slot_width); + return -EINVAL; + } + switch (slots) { case 2: case 6: @@ -727,6 +745,7 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai, /* TDM Extend Mode */ rsnd_rdai_channels_set(rdai, slots); rsnd_rdai_ssi_lane_set(rdai, 1); + rsnd_rdai_width_set(rdai, slot_width); break; default: dev_err(dev, "unsupported TDM slots (%d)\n", slots); @@ -755,7 +774,7 @@ static unsigned int rsnd_soc_hw_rate_list[] = { 192000, }; -static int rsnd_soc_hw_rule(struct rsnd_priv *priv, +static int rsnd_soc_hw_rule(struct rsnd_dai *rdai, unsigned int *list, int list_num, struct snd_interval *baseline, struct snd_interval *iv) { @@ -772,14 +791,14 @@ static int rsnd_soc_hw_rule(struct rsnd_priv *priv, if (!snd_interval_test(iv, list[i])) continue; - rate = rsnd_ssi_clk_query(priv, + rate = rsnd_ssi_clk_query(rdai, baseline->min, list[i], NULL); if (rate > 0) { p.min = min(p.min, list[i]); p.max = max(p.max, list[i]); } - rate = rsnd_ssi_clk_query(priv, + rate = rsnd_ssi_clk_query(rdai, baseline->max, list[i], NULL); if (rate > 0) { p.min = min(p.min, list[i]); @@ -799,7 +818,6 @@ static int __rsnd_soc_hw_rule_rate(struct snd_pcm_hw_params *params, struct snd_interval ic; struct snd_soc_dai *dai = rule->private; struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); - struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); struct rsnd_dai_stream *io = is_play ? &rdai->playback : &rdai->capture; /* @@ -811,7 +829,7 @@ static int __rsnd_soc_hw_rule_rate(struct snd_pcm_hw_params *params, ic.min = ic.max = rsnd_runtime_channel_for_ssi_with_params(io, params); - return rsnd_soc_hw_rule(priv, rsnd_soc_hw_rate_list, + return rsnd_soc_hw_rule(rdai, rsnd_soc_hw_rate_list, ARRAY_SIZE(rsnd_soc_hw_rate_list), &ic, ir); } @@ -837,7 +855,6 @@ static int __rsnd_soc_hw_rule_channels(struct snd_pcm_hw_params *params, struct snd_interval ic; struct snd_soc_dai *dai = rule->private; struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); - struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); struct rsnd_dai_stream *io = is_play ? &rdai->playback : &rdai->capture; /* @@ -849,7 +866,7 @@ static int __rsnd_soc_hw_rule_channels(struct snd_pcm_hw_params *params, ic.min = ic.max = rsnd_runtime_channel_for_ssi_with_params(io, params); - return rsnd_soc_hw_rule(priv, rsnd_soc_hw_channels_list, + return rsnd_soc_hw_rule(rdai, rsnd_soc_hw_channels_list, ARRAY_SIZE(rsnd_soc_hw_channels_list), ir, &ic); } @@ -1072,6 +1089,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, rdai->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 */ for (io_i = 0;; io_i++) { playback = of_parse_phandle(dai_np, "playback", io_i); diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 96d9333..698b081 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -460,6 +460,7 @@ struct rsnd_dai { int max_channels; /* 2ch - 16ch */ int ssi_lane; /* 1lane - 4lane */ + int chan_width; /* 16/24/32 bit width */ unsigned int clk_master:1; unsigned int bit_clk_inv:1; @@ -493,6 +494,11 @@ int rsnd_rdai_channels_ctrl(struct rsnd_dai *rdai, int rsnd_rdai_ssi_lane_ctrl(struct rsnd_dai *rdai, int ssi_lane); +#define rsnd_rdai_width_set(rdai, width) \ + rsnd_rdai_width_ctrl(rdai, width) +#define rsnd_rdai_width_get(rdai) \ + rsnd_rdai_width_ctrl(rdai, 0) +int rsnd_rdai_width_ctrl(struct rsnd_dai *rdai, int width); void rsnd_dai_period_elapsed(struct rsnd_dai_stream *io); int rsnd_dai_connect(struct rsnd_mod *mod, struct rsnd_dai_stream *io, @@ -702,7 +708,7 @@ int __rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod); void rsnd_parse_connect_ssi(struct rsnd_dai *rdai, struct device_node *playback, struct device_node *capture); -unsigned int rsnd_ssi_clk_query(struct rsnd_priv *priv, +unsigned int rsnd_ssi_clk_query(struct rsnd_dai *rdai, int param1, int param2, int *idx); /* diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 8304e4e..f707f53 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -42,7 +42,13 @@ #define DWL_24 (5 << 19) /* Data Word Length */ #define DWL_32 (6 << 19) /* Data Word Length */ +/* + * System word length + */ +#define SWL_16 (1 << 16) /* R/W System Word Length */ +#define SWL_24 (2 << 16) /* R/W System Word Length */ #define SWL_32 (3 << 16) /* R/W System Word Length */ + #define SCKD (1 << 15) /* Serial Bit Clock Direction */ #define SWSD (1 << 14) /* Serial WS Direction */ #define SCKP (1 << 13) /* Serial Bit Clock Polarity */ @@ -220,14 +226,32 @@ u32 rsnd_ssi_multi_slaves_runtime(struct rsnd_dai_stream *io) return 0; } -unsigned int rsnd_ssi_clk_query(struct rsnd_priv *priv, +static u32 rsnd_rdai_width_to_swl(struct rsnd_dai *rdai) +{ + struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); + struct device *dev = rsnd_priv_to_dev(priv); + int width = rsnd_rdai_width_get(rdai); + + switch (width) { + case 32: return SWL_32; + case 24: return SWL_24; + case 16: return SWL_16; + } + + dev_err(dev, "unsupported slot width value: %d\n", width); + return 0; +} + +unsigned int rsnd_ssi_clk_query(struct rsnd_dai *rdai, int param1, int param2, int *idx) { + struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); int ssi_clk_mul_table[] = { 1, 2, 4, 8, 16, 6, 12, }; int j, ret; unsigned int main_rate; + int width = rsnd_rdai_width_get(rdai); for (j = 0; j < ARRAY_SIZE(ssi_clk_mul_table); j++) { @@ -240,12 +264,7 @@ unsigned int rsnd_ssi_clk_query(struct rsnd_priv *priv, if (j == 0) continue; - /* - * this driver is assuming that - * system word is 32bit x chan - * see rsnd_ssi_init() - */ - main_rate = 32 * param1 * param2 * ssi_clk_mul_table[j]; + main_rate = width * param1 * param2 * ssi_clk_mul_table[j]; ret = rsnd_adg_clk_query(priv, main_rate); if (ret < 0) @@ -292,7 +311,7 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, return 0; } - main_rate = rsnd_ssi_clk_query(priv, rate, chan, &idx); + main_rate = rsnd_ssi_clk_query(rdai, rate, chan, &idx); if (!main_rate) { dev_err(dev, "unsupported clock rate\n"); return -EIO; @@ -312,7 +331,8 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, * SSICR : FORCE, SCKD, SWSD * SSIWSR : CONT */ - ssi->cr_clk = FORCE | SWL_32 | SCKD | SWSD | CKDV(idx); + ssi->cr_clk = FORCE | rsnd_rdai_width_to_swl(rdai) | + SCKD | SWSD | CKDV(idx); ssi->wsr = CONT; ssi->rate = rate; @@ -357,11 +377,7 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, is_tdm = rsnd_runtime_is_ssi_tdm(io); - /* - * always use 32bit system word. - * see also rsnd_ssi_master_clk_enable() - */ - cr_own |= FORCE | SWL_32; + cr_own |= FORCE | rsnd_rdai_width_to_swl(rdai); if (rdai->bit_clk_inv) cr_own |= SCKP; @@ -494,7 +510,17 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod, struct snd_pcm_hw_params *params) { struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); + struct rsnd_dai *rdai = rsnd_io_to_rdai(io); int chan = params_channels(params); + unsigned int fmt_width = snd_pcm_format_width(params_format(params)); + + if (fmt_width > rdai->chan_width) { + struct rsnd_priv *priv = rsnd_io_to_priv(io); + struct device *dev = rsnd_priv_to_dev(priv); + + dev_err(dev, "invalid combination of slot-width and format-data-width\n"); + return -EINVAL; + } /* * snd_pcm_ops::hw_params will be called *before* From patchwork Mon Sep 3 07:06:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585527 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 1FC7D139B for ; Mon, 3 Sep 2018 07:06:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 150252918D for ; Mon, 3 Sep 2018 07:06:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0851029455; Mon, 3 Sep 2018 07:06:18 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 578DF2918D for ; Mon, 3 Sep 2018 07:06:17 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 3E27F267819; Mon, 3 Sep 2018 09:06:16 +0200 (CEST) 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 CD2EF267867; Mon, 3 Sep 2018 09:06:13 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 869FF266E0E for ; Mon, 3 Sep 2018 09:06:09 +0200 (CEST) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:06:06 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id E4073617AF; Mon, 3 Sep 2018 16:06:06 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829039" Received: from mail-os2jpn01lp0147.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.147]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2018 16:06:06 +0900 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=lKJfs7+y2Kt75XiCHH4S1MD6lno/plkFDYYjmmf55jY=; b=elpLNm5CDziHHeWxULCpHyiI/WVbCK3AtJaalQT3xwKmaO8h8FsZ7dQrBiHxKP27EeuZKWwQtzCT5wQCuT579Ijbw2fxgacuSyXU8wEmuuouLssPhEZQOsIpZbdI0krWhNj0m/HffmCXQ0D8CRsg8sTZEO0CMRDJovjJf/Dwn9g= 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 OSAPR01MB1857.jpnprd01.prod.outlook.com (2603:1096:603:2d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:06:01 +0000 Message-ID: <878t4jf4n6.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:06:01 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TYAPR01CA0049.jpnprd01.prod.outlook.com (2603:1096:404:2b::13) To OSAPR01MB1857.jpnprd01.prod.outlook.com (2603:1096:603:2d::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 921492c6-b895-4e32-cab8-08d6116bb4eb X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB1857; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1857; 3:N3z203T4kzkooTSCP8mJQ29l85bE25MlM8kQKizbaOR8tgVkbVSk/a138EupssUAWaW1vaCcbWnhxaS6/soTPoSGviISokJOtiMFb+F3jMlsXVg42nsrm9wjDHXVMGI5o+z/A/xkYW4nN1qBOO2qaRXQj//GX5wIB1sA/7BI1FPxDD3R3RjpI1OhgHgndeoAa60VweW+/wGWA4aIcJngDeBqa5FHFKJ4wnukrHczoHrAOj6T4xo5OLfEfj6Zopuq; 25:tODLCJEazc/6svSDzhmBwTRM5nJWuMT391H50rG+zNBDCwVyA2CroOknHDg0zG6Ey7DIQJj/vDuwxuVx4a8qXgED2LBgKPdNIqOU1ttX9mjhDlT0nRQ0EpL4TP9COzNSBivlluWF6t+df3EuOnp6hY8SoPIlt3yoPvJFU0tXzcNgqqI6uHeeQ60VMzprcDuRenwDvwd2y0P8IkLdXDmTwfjdjyA8jvIcG8KUIdVSBT/UXIDt6QA/VNR0YSJq/6Kh2HHltQbb3Or+Z9vppzrj2DNLJBQGarVSsQslP9ySDVKSeV3e7JEZ0FQdOsZvzyT9xaK1afO0XaoWKUPcPb5rcw==; 31:33GDGjLqjNbzNYfR+r2xSZt1/a2qOQ7BwECBgnXRScTEjQF2ubJ6TjjgYt3Jkia2LM87an561tYoPdN/oaqGHiHtuVhBggvOP4QTX1DPuhmrMBUeExJlJgjNfDfXPz/ifskv44n/+ZXyy19qnHG9JP8QUEFKTr3wFVCMNH+s6ESoJ5BApOvUQ/nPU2N6pkbpMKLBHqrSz2xHDAOJ6HzBATAKOQCeT+DbIwyQqcHcxAI= X-MS-TrafficTypeDiagnostic: OSAPR01MB1857: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1857; 20:0zKL9zlPnT6mZ2BoIilNcHlp7J5RAtu9007aIcRam3mgTX1Jh9DN6AAefEEH+kmPRuDcww5VsCN/udgh1RxxHKV77BEvTyR3fs94S7YvqUK/Jz3+fIdnZzg/HFHYp9Zz1ZS/3MD/aMdvYCG7z9M/zWgGP101S79DDTVD2dsaPI3nppJ7OkImxpkMFJU4Ok+jLSDZZZikY0bCmj/Csxr8zAUlgTtaMsnr1R3wlNIpEkdRET9oF1sJgi4B1e9/ws1coWFew9cJMYb9dXuS4grL1Ru0Maq9SHnLm1HV2Thp6wJNVPY8/8Opd8oV7nT3b7dDqNdDVi5L5v4ro7vc8jsrqOcej77p93HfcDhtvdYmtJGGvLt1v1zEKsRvxDkl31ZbMU15PmovcFhLOSb5Mgk1K+lbmgne7e7VyvHwtb/JcskjQHyXThpV8nd9AT+4qf/wz7Xdh/LifUX5PL6NbohvjsAT3HrHkxRYjOKUO9OvrphiZ8bm6GYn6793P4ed+v/s; 4:PO1wi1vtV9qBgaTkyK7sqLIxSMLaHh+3LW08PNotiTysajdhr+N3VXyIs3LrN1g6wUUr/w7JM26kL3LcwW289T//McNOZiSsa0Wxr7iKBQ1mOHd0o2lqyEu1fnKIgDo/pTL59167GTAU4jow3YhTRzhc7bl1H85s0IwJqMF8nGm/waLsmTEX5OwiyBqln9h3VlMU7c3RjEik6iwhOyQmvt1vk3VE6qNRa0KJDFWP87qU8V+PXY3xj9S1EuQklWkoN/f7kK5giIHyFVfq1QT3gQ== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699016); SRVR:OSAPR01MB1857; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB1857; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(979002)(136003)(366004)(376002)(396003)(346002)(39860400002)(199004)(189003)(446003)(53416004)(11346002)(25786009)(956004)(2616005)(6486002)(68736007)(3846002)(6116002)(7696005)(54906003)(53936002)(52116002)(8936002)(4326008)(486006)(476003)(7736002)(106356001)(305945005)(105586002)(316002)(76176011)(81166006)(81156014)(16586007)(58126008)(50466002)(69596002)(2906002)(6916009)(386003)(5660300001)(575784001)(86362001)(47776003)(36756003)(478600001)(66066001)(97736004)(23726003)(8676002)(16526019)(186003)(26005)(16060500001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB1857; 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; OSAPR01MB1857; 23:3jZwQ4/VooHxlXv2dY+Np6jUKYkqMBq+Jd904qALT?= Myy6F4mBybHVPckRp+xEcxuwH7VFjDd+FDz6x4R9WL0FKU7pah6z5uhaLS2wqFaNnl8K4OLDrm+eZms0/BXH6GNGOXWAw5c2SNcbJidr0R33Il45PDSawUtYyupGg1d630DBlG7lD5q8puiF+uC8zP/CUrwchOfR9qXXAoEnFvI+80qSn0SbwKyDVg6GYtPFD5RdpEwwEp7SfbidK92XCu5brpe9FimzLALpQdWf6/bhZ6jZD+DYddlasrAP5MzjIfUuw4EAEKij38/4C0EvAvrb/iuqZx+lgZp8pHRaElTJ+o6c754zBR8EHWsNQ6+58lrTmGVaZZBdbHXcNkI18C/I03/0RoUsznftbR1bnf5SuIWGSma+QmdqOTC3OA0tTSKufzuqTQZNGMk3KJqCw6ed/2Ish8bASPj+BOGTNM1SutGvQuS+OLoLP4UAF6je0m2ktu1K1f8kMPetErlSzaiphKuXTmuX1rYZOLDU+44dH0BA6mlQszLmSdGKdPdQh9qzogwaj+EX/n51MbbgvTlhSPQTcwjyJhNOjGw2vSxYqbBTTC7y399mIBQlzPTIqmBwdflELWk9n9RhpIeOtThtWDAiksW3M2qbrygIovchu5ctVNBbqkNKuwtewicJpOSND3I8d5zHRo9w9C6x4cHbBoEnix3cYhido+aQupx0pMF9iHT+kBBcn2WM2lpN6xPe+YfKt5249adkMQupKOWKyvUIvGqgv/pVzOwLiQ6IlgULrJ9cUNwGT8jD5MZFBE7laXR0UnM+/LNX+zxkrLa45nPg/5dyjCPPYNK+AWw3Ibmk5HQtvvQE+JC4Z4IvaAG8k0d2vuZ6EPaAS7hkFyOQ1fwlZxHqrRI2kjqw1NGfpc+p/Wpibf9oHlPTdCHf+sSWSYtBJr+RnbnMHwOO1WyrV3cSQutc+TuirWp2lvhMfMuGL0y4y6QXhWYrl6fncQoz4IC1S6+q05tTlXcxLdWUYLPD2MavWOvyGqHKVkv9BD1TrVQHDuqN87n+u2+qU+wrS0ObJMqNlqZvYOIux2QyBoGREFxTERhC8VWNYYLTTY62vX9wPHjW3hXjgJPOfwwwTpwK5bqwvnkRZYRUuiz8O7JLFBVGPxqytqtdu9JtszHPmxYWJeXTpaKW4aj4ajhZSyxlVnfW33XDYx8hNzfRW1mluWUgCBYsB0xu4ZbF6q59LhqzMFRsBbWE/k/1Frw7uMXjW0vrRed6hSqxMFroUT1WZMMFLi3dNesriNCkZ9QeHgdEX4O749PEiiuv4s= X-Microsoft-Antispam-Message-Info: J4t/6U1sIxLzIucw6CjWe/PN2DGMZYAtUBS/mO4LnFWAK0XmJuaaOswVK1VJ20zHBI13Xp2qK4XdlrEG9q9Cc6td0y9N2bzz2XadUQYHrI8L/l9pfccyr61CESLTl2WjgS94W67U3g74uOmz7YcFvcH5gcz6KyuYXpZDdYYHpPY6jLI1o2SQ0Cpo6dB6ynwXZaLWaK28rILMwAUOG7L6NLnXva75ExtAYDm+qBt4nRUXaDku8oFkf0wrZzAZ8cD/0xr2AYyD2GB19pqu3bTETyS7i/vQcTIGy0EgsTK1km9eJDSR+x8uSbkOffr+vpJYPAxbQPZdi62smYv2FeKbbqxSF1p7MOPuIsrOUhQGigw= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1857; 6:voO/WuyTxBndQ/lsQdiTefYbutx54bsdBsL6+ulkjBZogZcDYvIzfhtbkG48wwv5a3XiK3XunlY1ZhmwoYhcSf48YGMr7PxKWcdRxpQMO01/l5loItsptWQ0WGi65HMOzLxtjQYlLSknXQocrXvsxPyzsNEiI2h9/5edwCMI7eqp9pYgbdoFRxdHwwM0c81B3wI/3DxepAZjzGDCTrntVLmR7ttucx+Xe2pDGlgbt3sO2MECJ2Lft/Z96P9VASm2t6RobGZcUQew8NQ3n8UCkrPmcpWwJgiztxWNnOGNm+i2KG0H6msngra0nvonL7Rs+DH0mV11bneNhz2OQ1tuwH7fvqeeKHPc2925hM1TdPG0QwOWMscktN+RzzFX8Oilg6Dh6X0xoUgmt4y8/X0bUS+z2B7S6AKWWvk/AfhzRybOebe8+gL+Alj6dtMsvSVea9H01CiHE42OxhYZPRpKhw==; 5:8Nl9q0DXxctjW2Nunr37BXiqXnVLMATDQwQ1T8vN586v8Ycf4UXWKZ8UH56rOG0fxV+5Yx3J3saCT0KV5BTrtVaXH7DxK8uqeBdxHkReu3kB58D5VQ4XD8Mqx4wtGLFzN35LJAwK+FEiP+kSBqVZfO6x6AU23+Ozv5lGs4w+2qI=; 7:J1dUbBmsZ1dRNNoMDPQRVaCUQc324PCblfYv79aJ529csrCI9QVpPfySpey6Q0FkFtfLMy3jil4Q3q/Y5qFGHvFpwXiFjHHIpEw0KS+XcyfOPparH1zoodSrnJXiFBSD1TA837oH+PMpnxXyDDcT9QSF+sjEF2FNF3iHIRZzcEePprOaQHhSGXO6GMM6kHN/1ukq+xqv+jg9eo6wPAUZSL6/NyQzM0CHVtq9lXv3CYbcfuiNrRyPHpVmckdbs/41 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1857; 20:NA+EBFCA6YsbZivsdV+g7BVrOGYehmJJKoBvsJqgjh+QtHRVhyR/LJ1JwRt3rh+V1aoM2baQjvdeEnZ86gScN+0ZF8CcywForJcpY2PCG2YSYunNl6m97Wmad+WcHoAlZ4Yjo/iRPvRvQiqz0SUZH1hznPHb0zX6WgpiAULV6H0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:06:01.2465 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 921492c6-b895-4e32-cab8-08d6116bb4eb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1857 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 03/13] ASoC: rsnd: add support for the DSP_A/DSP_B formats 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: Dragos Tarcatu Signed-off-by: Dragos Tarcatu Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index ce0a3a6..8a41776 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -689,6 +689,7 @@ static int rsnd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) rdai->frm_clk_inv = 0; break; case SND_SOC_DAIFMT_LEFT_J: + case SND_SOC_DAIFMT_DSP_B: rdai->sys_delay = 1; rdai->data_alignment = 0; rdai->frm_clk_inv = 1; @@ -698,6 +699,11 @@ static int rsnd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) rdai->data_alignment = 1; rdai->frm_clk_inv = 1; break; + case SND_SOC_DAIFMT_DSP_A: + rdai->sys_delay = 0; + rdai->data_alignment = 0; + rdai->frm_clk_inv = 1; + break; } /* set clock inversion */ From patchwork Mon Sep 3 07:06:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585529 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 50E43139B for ; Mon, 3 Sep 2018 07:06:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 446092918D for ; Mon, 3 Sep 2018 07:06:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3693C29455; Mon, 3 Sep 2018 07:06:40 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 6B5402918D for ; Mon, 3 Sep 2018 07:06:39 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 2AE78267827; Mon, 3 Sep 2018 09:06:38 +0200 (CEST) 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 2F13B26787C; Mon, 3 Sep 2018 09:06:36 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id C433F266E0E for ; Mon, 3 Sep 2018 09:06:32 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:06:31 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 1D0917158B; Mon, 3 Sep 2018 16:06:31 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829080" Received: from mail-ty1jpn01lp0175.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.175]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:06:30 +0900 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=sht/h8vl12aiEzMjTQT8w1npNkye8pUxFwz3wwkvOUg=; b=M4wgSM6GfoBMDmD6RX/1OaDg2oKMWYHeXoinlzmd2IBFeeoKiuUyLrULwm0xIqsCshnYxW3voRmKEuD9g0tA/iJP3QvaUpMknnbpUXHwdBEoE6HunqKR9uBSituKAiX7psW8VfYESJ+4Pd0zKTiTdGBVcNNrxk4tyFYdg5+C56s= 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 OSBPR01MB1863.jpnprd01.prod.outlook.com (2603:1096:603:2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.14; Mon, 3 Sep 2018 07:06:29 +0000 Message-ID: <877ek3f4md.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:06:29 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OSAPR01CA0025.jpnprd01.prod.outlook.com (2603:1096:603:14::13) To OSBPR01MB1863.jpnprd01.prod.outlook.com (2603:1096:603:2::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16efd96c-a788-4779-8086-08d6116bc588 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSBPR01MB1863; X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1863; 3:XWFxUuMs3e/CQUdVaRp8HMxBzqp8GwuL7ATlWXZKMM/gUcARI/zND+nbpFfJ0UiBX7jsF3EW+gmcg+CdX5LMFmPMuU+mejXnGNPvl2c7Gb/VWSEqPzOFEJchQOH+iWd8QE+uN9pYtGmCQ9Lh2fDFVCMVM3NMWCKirby20gTKFkezkERiXBLqB52mYmhho3WrCPXH+F6dWSIw7Q0hBnAGua5FzztkLmXJHp/iDxdJLrk+ZrYJYipku3NEJ9/n6ptK; 25:5nGErILUh5fNdmCtlhniywXekpRXuHM2mJ2yuaScCwT9ovJcKaw9EVWWvBFx2rmxZpBHKqY1Cp8f6P2lomlC+80hHmrYjpl2odOolTJug+4cTqEijrxvjj0gbAV7y8ONj3TFImY6K5mvLrv+vyYbyULCXS7b+ssDHGtcsXGb/ygblo8kviR+VmcVxGSR1B0ZqFRcJCtYRnlq61BSV49wkE++EWJZaRYpB0tnaZUBB4VjzFfNzje6FiJGbXeG0/p5a3bsKw40jqlSD6tATpDyAD8LZXRs4XiY4vtGAjbbOTa2eNqVYtb8WAZBaDoZ17ghk/8adnHVr00Tt9vj0mcBUQ==; 31:aHz5EPbigCiDz/15drknBGzqXVdZSRDScThvUv5tkXKyb5Wq5exk960R+gGAt9Z9V38CJsdw2Mt71thFUdeg3bs3SR/hxBx2gQSyYhrjyhikYATh2MBshl9mE45gDf480q+KGirNjDdZtdTAMJfzbAJScATP249d/0IRMAxtLiq8mbcfX4W0KmXvBrOVPDBHheIyicDbNq3a1/5NR62F4Fo6eZfXetk7yd5JzxmMRaU= X-MS-TrafficTypeDiagnostic: OSBPR01MB1863: X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1863; 20:Ayfmcxh76/ZoEIjSq+lGE5iERbLEgQVnyw3yySbUbncW59WkpWPAZRtbNXPUj0lV9XwpvI48aAvF8Jrz3creudO9q2DmF8D/jEOBCQm8n6RNRKJDhM+CSVyv+f2iPG8mglHDqBwMgkIqsAW/Ijl5Bm3R0Cjn/EcvV8qGWoooPcGnX6C5tthO6/zq49ZfLoo7ecH6qAxH2xRAXj9A7Bl1Fh6cBT4MtNeAyX4Dp3bPYKhROOlw8lfSr5LdFfhgPBUxJyHCcm3a5o9CDr1sbrATFMZNqEAiP11RK9aG0IYLw8J4KM5BPbRSF9xpXEkXuKVikDuRN+CC4lmMM2WI6BBhlPK6HKMSQ05Q2G1VRDyFYWzW+27EPLqdQpLY04c9+3rYZqkvyJ3VrlHyNyO6TcK3b4K5OEEKMYcjyNfXUqBkv5hEJgbHF4+aEP/7luDZBB5LpGO73DgwMV26egm2vwdGMF/rLKeTFCvhZUWm7iP2i0zP3HWObja/y7EDMYo7M8Rr; 4:3559At4SxfXuXyJPzY9fRHz6OGHD/0X9c8bPc6JDG9l3CbhUa8K3kxdl3h7OyYiBFYbg9m6f+R6m+obN3dmXXoR/AcepcCFcb4lIarA/wvmGu0O0tXfjHmOLeVmnxbzEYqHIi5ED5WuPCsGS2i0jo6br/yVgKQCSZyN3ltA/XW4tOFmBF+pPxYTvlMJSP3ZbmBLDRWoEXqbiEIiKatQn7Ee160gFH4DJYY2fMYvm7ToKD4daaPW5BvKWeao+ZuU6j9ZmTBo6cleKJjD2BxIzJA== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:OSBPR01MB1863; BCL:0; PCL:0; RULEID:; SRVR:OSBPR01MB1863; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(39860400002)(366004)(346002)(376002)(136003)(189003)(199004)(575784001)(4326008)(36756003)(186003)(16526019)(26005)(47776003)(66066001)(7736002)(2906002)(305945005)(105586002)(106356001)(25786009)(58126008)(486006)(6486002)(6916009)(53416004)(16586007)(316002)(53936002)(54906003)(68736007)(476003)(86362001)(8676002)(50466002)(7696005)(81166006)(81156014)(52116002)(76176011)(5660300001)(23726003)(11346002)(446003)(956004)(8936002)(6116002)(3846002)(478600001)(69596002)(386003)(97736004)(2616005)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSBPR01MB1863; 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; OSBPR01MB1863; 23:1iVHbu+7FrHRk9FZ4SxznBt+x5xkThfL5nmdzEQ+G?= n4IAA8AUb6mLC3DOHOXhghN4N/RqnlHhpQNLlEhot+xm+lOlnGyBXu5qlLxq/t8+fET+w5oNM45al6vKqlGuLr89y6/yXN4qSU5iIdVPl4ov9H9y/f53OcSOupZCFj3vY5JYRv0/nLoni8NWWwh5suVIPWirytly4HZTax5gdcoKWB0j8AJBhGoBtaB//R/HrN6jK8jWirStl1MEXZtl2PF30TD8WSTYIzVE+Vj8NOth67dw7mb8eXd6zRJmbd0V5S3pd1jc35qMPPfV9idKi8e1XTdn6pWUVFTqjBjyAAOz9ykNhj3ILKwzvN9m6Zg1jHLQSZRAkb0me+GdMyYC88HutFy/8gWCS5b3ovUYUBUvQOebT791OLf2AtVuO0c1Bmx+VAU49kDUJy5El0CkTEVGOcrwX9SufHnOTSIPFapRLwXFNFYNRLoQsidJ/ld6+4TlK8WA/y4cirM4OCBbUu+k4EdRyWHThjB96/YaD1Jgw1bIo3my5Rj7vfLmdfoTG2rUCA4FMbxCRfiuIIyzkGH+yVb+vqiQabv8QVDBo1Xo9l//mityaEY2e/+ml4QmiIMnsBN+p8UHJAckDX5m0o/DnFJfhRscgl3ayhbIB5EcLagfRuRo6BzLwpGdiUMINm15tIOt1C9N7bsqoJa12FUrjkJUF+b4MfNSx2tfug/uTySh6w8HyFmdceonydA2bhcMGJAl+fFkYdthDdkrghD20pt+nwrVNIJkYtphVclAlRNBrGuDEb9RQegEwI9Pv+8KkDbPmZlWwdvDtuDSpO9zxuPlDc0QsODWNkr6TzsQVocbZ3K0S5CC2OxS/eebqz3bUyIIcldCXuo2dO5tcuLNa8u+bLY0hSp8t+8HJUeqEWf5rd5nL8DgSmzY8lj7BKaVDawfa0ZNi7Y9XiXFR9MUYA5DUkHySwAJtM6da98P023CrZoO91/EAFjdN++d1WsX1J2n0kRiwJPNW/WajNN1SAoUNq3XQNsDU/K0YoDb4F7etg5jQx0qsCWY9ShhqhX3mFb/cMF76dP9QKxJJl4+neZJurMcGFzSjNUz3StbM7MF/0Ngh6R5EwkBUpOllvzc6DDmDLl9bXBWt8LOU4DAAcdjcYylf+CzpxeaOQCvgdaVraFrTpScLHMVJ3Lj2pywNjV5dx4qWq97zXbbSm2M5vr+3Hl7fNKP2zcx8w1aA== X-Microsoft-Antispam-Message-Info: i/tW6U1TN+db2z3pmJj3pXja/oRooKR0pJ92k66XHDrTZWl0beQlJMPz/OmgOERm6hqKqzSlkOosJfMWbnTDbsBrr3VEsjImELf79043+p+CrdNpK7JzCtCCXuHsCt5XbAwZono2TBTcT8VxcZ8wImm8zdqZjeg/Ppy1W6SezqPPoDOnqeRZiuaeoO7BqakeqEpWHb5sXPD5ysZkbX1jgVPiWz6E9FFGqKtZhTm5MC8EiueEtG0UKO+/OpS00ACb2ba9FiKztd+Y2VzqWndTyAlMKejVc6JjmDuzZ+J/T+Y+/LS1k69D+STf9Dy1eAxUAr+1ZowAuWsN7Dc7f0fG3TdxWo5pSmTBDzdzcHcXDHc= X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1863; 6:Cl2kalbsGtOVqh1hSD7gmR4MRA7CNRVeaNdrTytrbk492kgwEvUREsA3UjPlN06G3w0Zri4NA/Njm10947FLP1xR8c3aK9BL6j6u4aBXhx+d0mM69duhPlZvd/Ok8Dx8J5fyYGa1EqNYi8mwOWjyLKPYgoOsIgzIz6FrR42yVSBUpopLZOXJuJ8Ei2cwomodXEkU17fAHjG5RYICRQvgQdg6JCJGWaNU3qSZAkjYlAlR2DMv/2apuOjUPkuOIFa/sBfUIzBrEBe2dmEyEDbCu5oVugj6AJ5DrcTpREGCa+qkWp7Bnd3+jYGr72SEcNoDjrucZzx6kftClSVrEgLfUHmZk4+O2zTH+GjdOOFf/dxxhXrvODJm1xnBEpjdDd6cJSbUAVVKXJMzo/FgeqvsL4CAw4hUY9bJYoIneoVIHYDVbzBMRVojzA+EIQ1oAEVj22aBGVlXSOSguD3COlUGqg==; 5:DkWBLpnStXUvCqTW4t5ht9qLmUtOlsgajiAB9NEvZdNS8n4HCHUmP+3jLlaxqg1QTgCk/Ynuz+GcJZ7bLp9zdKxcFGOayu3birQ+y3YfrFVg1llOp+mqF0nfrJDNwhHFXbs8Y9vGy0TPcEqOdbJcqLKarWEXQKV+bkxb2jSnysQ=; 7:o1amhQYy3dVhHLOfXfXNLTzfZ7emuSe4YwqlUdX+veqvu0jHfA2+nhqESi6VxUBa711JB3GEZJDw0fRTULaNPg2ZsqkfqdAE5IEiDrqD4MJincquJdxzbZKQ/iqCNr8l3zFmEa9s1SrvjlaIwbhRW2LCRdtsmc/bGvStNPPcLKMqiHr6ZqHLIrS2MHHokBmoPQnbGzr5bUe0Y6ujYBUzrNUdA+EoutC7puDbMiyxOawCQHvZP1zkNOk/9UESpJd9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1863; 20:FcHXX9p6/5bVlhTSFbopox2vjHszGMkvVYnwuYdhdXt2z71fnERd+gFs4veiWbmSlubn/qiqorJgpFw4Dz05Av8NzawDrPmZ0bKhJqRP0XEvLFzCqAqv0JQ9aR24qsFuK/IR2p0oZocqT+0ePX8oz5LQupPkqrKJ+sppaAt7Bow= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:06:29.1015 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 16efd96c-a788-4779-8086-08d6116bc588 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB1863 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 04/13] ASoC: rsnd: add support for 8 bit S8 format 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: Dragos Tarcatu This patch adds support for SNDRV_PCM_FMTBIT_S8 format. Signed-off-by: Dragos Tarcatu Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 10 +++++++--- sound/soc/sh/rcar/ssi.c | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 8a41776..cd0ff1e 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -102,7 +102,9 @@ #include "rsnd.h" #define RSND_RATES SNDRV_PCM_RATE_8000_192000 -#define RSND_FMTS (SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE) +#define RSND_FMTS (SNDRV_PCM_FMTBIT_S8 |\ + SNDRV_PCM_FMTBIT_S16_LE |\ + SNDRV_PCM_FMTBIT_S24_LE) static const struct of_device_id rsnd_of_match[] = { { .compatible = "renesas,rcar_sound-gen1", .data = (void *)RSND_GEN1 }, @@ -280,6 +282,8 @@ u32 rsnd_get_adinr_bit(struct rsnd_mod *mod, struct rsnd_dai_stream *io) struct device *dev = rsnd_priv_to_dev(priv); switch (snd_pcm_format_width(runtime->format)) { + case 8: + return 16 << 16; case 16: return 8 << 16; case 24: @@ -331,7 +335,7 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io) target = cmd ? cmd : ssiu; } - /* Non target mod or 24bit data needs normal DALIGN */ + /* Non target mod or non 16bit needs normal DALIGN */ if ((snd_pcm_format_width(runtime->format) != 16) || (mod != target)) return 0x76543210; @@ -367,7 +371,7 @@ u32 rsnd_get_busif_shift(struct rsnd_dai_stream *io, struct rsnd_mod *mod) * HW 24bit data is located as 0x******00 * */ - if (snd_pcm_format_width(runtime->format) == 16) + if (snd_pcm_format_width(runtime->format) != 24) return 0; for (i = 0; i < ARRAY_SIZE(playback_mods); i++) { diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index f707f53..765ecc0 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -400,6 +400,9 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, cr_own &= ~DWL_MASK; switch (snd_pcm_format_width(runtime->format)) { + case 8: + cr_own |= DWL_8; + break; case 16: cr_own |= DWL_16; break; From patchwork Mon Sep 3 07:06:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585531 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 8995A139B for ; Mon, 3 Sep 2018 07:07:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7DB4D2918D for ; Mon, 3 Sep 2018 07:07:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 70E4E29455; Mon, 3 Sep 2018 07:07:03 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 99A542918D for ; Mon, 3 Sep 2018 07:07:02 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 81E3126784E; Mon, 3 Sep 2018 09:07:01 +0200 (CEST) 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 AFF3326787B; Mon, 3 Sep 2018 09:06:58 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 3B4F7266E0E for ; Mon, 3 Sep 2018 09:06:54 +0200 (CEST) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:06:53 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 1827161843; Mon, 3 Sep 2018 16:06:53 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="291384307" Received: from mail-os2jpn01lp0148.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.148]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2018 16:06:52 +0900 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=/zF5wRAzdiBEHjBxmSLQbYxcyijIxMUgfW7XhJG0Sk4=; b=V9JLFrYdEEqt05feu3eG/9gD2t0EZxpTd7r1V/tnJwubnXNtmNrlmhR5+KlxtewluHQ3eDywkLHAebpXMR7CqaV3m+CQ0slzOxOAj5WCVcLubAP7WIEEkPxerTa3pZVzuZMhPmwdcepxN5+SO8Ktn+F9FkGx8aF29WVLEEWi+1s= 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 OSBPR01MB1864.jpnprd01.prod.outlook.com (2603:1096:603:2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.14; Mon, 3 Sep 2018 07:06:50 +0000 Message-ID: <875zznf4lv.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:06:50 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OSAPR01CA0167.jpnprd01.prod.outlook.com (2603:1096:604:d::35) To OSBPR01MB1864.jpnprd01.prod.outlook.com (2603:1096:603:2::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39121d32-b155-4d15-3274-08d6116bd253 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSBPR01MB1864; X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1864; 3:4x+WZjL2nhtoEqb6Hsj6F79S0GPJK8iAJR2+xR6hBY6tu9aIHojjeDsv3383Zo66Dv2OnRQx5vu9rGpvS3y6FCs+hSmOpUGKzaODx8lHawTYnoxFzHFP0/rhT0Lm6/Dpc5GXrB9ObMZdbKVeG/sJQuxAQZCt3sQ5jr9vQsHF83F2aFTtpbskHBn/wcoyrTKo4aSnY2ijyBCbOL7E9Z40YjmczCWX+DcqDl1xfJZhKLmNz0iIW66SF/hTcUq6795a; 25:WooNrN2fFzL5KE+OTE18TLFSWIvypFLRP7+LAR4r730pwrPQXz9R6DmzrkLEyGWz+kBlN1cKcmWBER4Q5yVmsWU/8zwgj6S2aSvAoXFD6d5KF/C2/q/kouG/Fis6boGe3mfc4j03u6VV7ZONbJPgQ5o57LG7dxjCZsQdLtUOYirmnkF028/CF1+Z+U+oR589/6FuD30UXfzW2KxLDkIEqFHVczsz133OaKy2vBwc/CtqAjCBc0FiOBQilrnZ6VUbWbkwUCgOghX8EqO/7/lRcC1g9k9/TnaIgOXqjiBRRU7lGUsZyT++fktEknODAFTKofCMSc2Hb32LANIROSiHwg==; 31:/uwEVpLXp505pHxQsZnnnQHdOjkwYfZS5e116fT/wbzqgf0lqjKC5eKjmSi54wP675Qx9tYdweuJa6pHJ5eRV3jF24cGb9HKaX5vcTifaeDbV3CCTUfgk5jwJ9rCwfPfRB0MyiX4NoxDgjIx3ccPrRVEE81Fd3SSsY4sZYkKaod/dQ66p2l639aVlk+and6pHueby1DiVT+KksRt3Kv6md8u+kaXL6OdRTuwyC+RAwM= X-MS-TrafficTypeDiagnostic: OSBPR01MB1864: X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1864; 20:TTltE7uM3ps6o+KsKEbst9IotPxIXI/XI3epIGAEHyUxgGsKHILRu1wmWqs4XfRBT0D74P3DEFaft03NJKjIDUbrT72cwttEJVuVW7dQCU+/0eWinEjzSHO4/IPh8SnzhVZuxZ06pya8vOkX1msxbDmuyvJceMZTmDCFtWukAmzrIqR/Mz3+WscUkYxkeUHQ3hCaucc7LFtlVnG/jqlF44SpxaTMOprb44C4Az85AA1BnwVr6+SZEBBVyO1CUtvB3fcOru/ELDQFHdso9sFzW/ZTcyZqu3s/wbV9w7brJjaH5iEBReDs47AAaBAYvyb39bI4+2PsWGw7SNFqQj5U8SeT0rhC5ExX7DvIU/qFcj7P5qJp8lbsJ9yvy2XZB/Ytzpk/60CnirKLgObbqXB9khSWhtW7YJZ6ujVT+69F3m/T0WHw+V8+hee5wtIPvwjwERVzkMo7jraREKHb5qFUDyFPY0kYFOsV7GfHwRE2s/SS3PIWoDMGlU5DHxpbZvuy; 4:rVC0K10JaRaLnxWd/+HqLIH3WRax5OCaDMnUIajSQlHhifYZM+vLhWBjfz9B8gPBstq7m7lGhFpIuiiBXlTZ40bJYyh/xb3gVIWt+VdqikevSuwBvgwuVN8kHWy155rtyPTno8S/Zxqj93VQuHoA+W8AmlbH4P0uAUxkTVoicjXFf2xI/BkPD5nU7xoVZyVdDPbGyqWnTATHlDTV2g1AHGROv+O2t0oVokzZKHAF2kcCh3HEP1z37cl6WOmHH06I7v2Tv6+87d7CjFGmaKWueg== 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)(823301075)(93006095)(93001095)(3231311)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:OSBPR01MB1864; BCL:0; PCL:0; RULEID:; SRVR:OSBPR01MB1864; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(136003)(376002)(366004)(39860400002)(189003)(199004)(52116002)(50466002)(76176011)(7696005)(66066001)(6486002)(486006)(97736004)(16586007)(316002)(478600001)(53936002)(2616005)(47776003)(11346002)(476003)(575784001)(956004)(446003)(86362001)(105586002)(53416004)(386003)(186003)(69596002)(4326008)(3846002)(6116002)(5660300001)(16526019)(106356001)(81166006)(8936002)(68736007)(58126008)(25786009)(81156014)(2906002)(7736002)(305945005)(8676002)(6916009)(26005)(23726003)(54906003)(36756003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSBPR01MB1864; 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; OSBPR01MB1864; 23:KBVqve0lt8xjUbfpnDWYMl7YLPA1BV3Is4+bX9oxr?= 0GuF5fueVynxeLdWBnDRBmQGIsc06r6MyOq0qBdsGxtxxzIOQ2vaBkkwDuH9EQVhnQhry0+Yz+8YN4mW/aIGyuqWWSFAOHpsPFswxfAF4o0gCCAe/11y3STOijTSD9jttCg4lT8TZPiHGzlacYH0xNe7sgTzbMojH1WYyOMAMMWpSEE6NSoL+hMwwnQa5JNFJ6JxjHWuavmTAer/94Du1ptbASoH+FQyzEv1ZO/6koNJRlDvQKG6zrDib3kvGRy3dHgMQF5xD/Zbv8NF6A4+iZzdRlZA3/9r1+y6n1A2TuaoN//MSJgW69Hb1cuCSsDddJLpWf3qKpqMC59Dirna09jakNTS+Bi7FY4SFBdbkhPgeUoOZerj0sgvfbmH6Ai0XsSPFcC1LjA3MCKKleCH2Te+S0sNolugi2sRsOLRxERErTwTAxMre9URJADE4RVZSv1YJo5JPLn8XY2BERwCaNwYcczirh7xBaRf6BzzWtCkFPld60nY7rLD8Pbhf+5fkXdRLpOH23axHjDHE1ix1PMl4Dg97E+jUVZZyeGj+imHh22Hd4FYG6tjqWoB7fLPsSQb5qLkeU2DWMqdPHjzhsMqPbLgj153ArggP6rpT83aNX0d0GZZhKgN6qToCgcVYm97WAEaGtlgVypeEqXslZPsxatGWgmHwTBETvRt5xF4vDmrEW7NbhJHpOq9I6zKEeT3k40mcu1QG3wFBUuhOk/uhAmOnizJrD9+q3tqtuVrQGI7fTQU97usVL5G+Y/ZvjB9bB5uFARRYK7Ylhx4NiNdCNG12FeK76sWF55d+80bXeYMbHNyJvysx1+ORqGTUmPe6jVdZW/7Pnq40yvvkS/xcky9I86wDTXtRMFKOG8vj8yTcgHNE+IS1L8Rnz1GDXKQ5TIXCekISXNp9fEQYlpPj5rZ3R8XtnP/fiMwokRnsKn8Y+qRj1VlwbfPRMyQomRrlThZ2bQuxPCtlZZCPy6QPZoxAWV7WR47hsI2eiEGaYBQj1SMrrHHaJbEfJGrjwsszM62BWqj1HZ6I8ya7COFN+WB1s8QrD88xa+E7/wcMapx9pUtuNnSDclwke6q5II7vnVnP7+cl23/wmvi7xlU/UavOM20ihGYRVnbsubXXOf4ktf8sjgq+cHDaLZWp4E3fhe5EwQKQlmLYtzZIpxcMxhJzbOTPvAQPjshiimRw== X-Microsoft-Antispam-Message-Info: nyaSnQktL9KhWAJ0EwaXrUz7RY+iNLlZhzUmthC9NLbPS9n51BfDTMgxBMR6TpdZx2aaOYeV/ioV7FJQuVYk+Ax9Y1yCfoy4u6QRuxU5qqFTwOw33qJYtGBmZw/W+C9V+4FSldrmBeVvY24ZSccQXG40CZqdvkqt1xjBJHXaxNd+bPUQw4wwSo5Tn60C2ghIwpxScjfyYE6NWsQnHcK26OzOq2BeaULECYZHtTxeCHJLaQFSxpq+Jn/k1CgvOt4GaHyRmLRlsD9o+xhSNcOFtLn0yoskPk7cXSgdf6/6k64Z5li7NrjVHxDs4Q/gHZF4gLua/XvrI5o8IYeRTsN/z1IO5cvn8niij7u7hMfchXs= X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1864; 6:/o0Rk4ORlXDK9xRvd46f5GGVsu0sF+nR7iASsey5+mPbysQEiM6+2O7rys8RCgw1yACLcMDvLT27KhYioK2o+E7S31ZYbbcXx54+Py2z/yDLfXl/Yrqw0rBdPw/CzgfT2HErQn7mBqPNGK9FnDzncKJXIBYgwx43yD18qn1FVbpT9/hCZV5X7dzc7Dkn1mtHlNJaX9pm2C1sVmPrEou7CayAB0A7jFxqW482HmkulTnnGZQGAlX4j0tbpQSTKRfCA83BCH9noCnNfRe23nSDq3bV7gxvcUnuFCuiYQnh2Qv3A36eVkRhqWiGz41fu4D10G76sbzRPa3Lc5FImUV1gCnjoFjb+O7jZvGQ5CRRfDGPyoT6kzBHhRtw8qkEONC1BztiH+ZEvb+NJ96vYunD7lHLfbYfqNIK4ZmUjuOONLWdmtmQd4kZCirjyKhlFa92SJ5tu9mYwfVBV64+N1hpRg==; 5:F2UfSNtjOUJ+Us3GOJeeiROT3oshIvcy2XiudUKZSpKYXFxWcQJkdIPG6+AW4iYPYLNjxojiDIIrRELJG0/d0tr23n5lx53y2+hSvahBWP8ioOKFu1DhBKOMko/dlx5vUaRbj8P8lpcA2j2q41kZQ1VfickUKc8pFzRaTEKn0OQ=; 7:XZa/whLRZnIUXo/MO5Z+91lIOrilZ19GrnhzmUhczg2SxcC2E1z7sF4BAvlyRdhqL3Qv1l0oElybT6x7nPnP3ZYf1l3EIolfsxDAgKw0YrmqpyLlfGj2qKrZBpNN4rovwj0PjsU3zjxwjmr14SOLyOb5CspLRGizV2oBAGFlXEqog7pRI8LhJ3OcHHKz02lpmaD2rgHCSaVMtr+AifVMmTSIQZsD7vhuGa+B9c7XZJ2shQJ85Ai8hKwGijPkrgxB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1864; 20:N1LmT60f2qUF7k6BgVO8UjG2GVE32y2FzNmoFoIvDf9SPC+onpdG0EFrVxxH2f4JEY3LeZnZZlEuvWvPvGFjGEE7mhN/+e61r56g8RzBywn7m7W6Q66ccoPHCmvBxQWdi3NfuYSt2k7hbJ4j1STGOKN2JkPUItRWB6pI1D811jg= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:06:50.5938 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 39121d32-b155-4d15-3274-08d6116bd253 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB1864 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 05/13] ASoC: rsnd: remove is_play parameter from hw_rule function 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: Jiada Wang Currently rsnd_dai_stream *io is set to either &rdai->playback or &rdai->capture based on whether it is a playback or capture stream, in __rsnd_soc_hw_rule_* functions, but this is not necessary, rsnd_dai_stream *io handler can be get from rule->private. This patch removes 'is_play' parameter from hw_rule function. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 54 +++++++++++------------------------------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index cd0ff1e..c66b3da 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -819,16 +819,14 @@ static int rsnd_soc_hw_rule(struct rsnd_dai *rdai, return snd_interval_refine(iv, &p); } -static int __rsnd_soc_hw_rule_rate(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule, - int is_play) +static int rsnd_soc_hw_rule_rate(struct snd_pcm_hw_params *params, + struct snd_pcm_hw_rule *rule) { struct snd_interval *ic_ = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); struct snd_interval *ir = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); struct snd_interval ic; - struct snd_soc_dai *dai = rule->private; - struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); - struct rsnd_dai_stream *io = is_play ? &rdai->playback : &rdai->capture; + struct rsnd_dai_stream *io = rule->private; + struct rsnd_dai *rdai = rsnd_io_to_rdai(io); /* * possible sampling rate limitation is same as @@ -844,28 +842,14 @@ static int __rsnd_soc_hw_rule_rate(struct snd_pcm_hw_params *params, &ic, ir); } -static int rsnd_soc_hw_rule_rate_playback(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule) -{ - return __rsnd_soc_hw_rule_rate(params, rule, 1); -} - -static int rsnd_soc_hw_rule_rate_capture(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule) -{ - return __rsnd_soc_hw_rule_rate(params, rule, 0); -} - -static int __rsnd_soc_hw_rule_channels(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule, - int is_play) +static int rsnd_soc_hw_rule_channels(struct snd_pcm_hw_params *params, + struct snd_pcm_hw_rule *rule) { struct snd_interval *ic_ = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); struct snd_interval *ir = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); struct snd_interval ic; - struct snd_soc_dai *dai = rule->private; - struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); - struct rsnd_dai_stream *io = is_play ? &rdai->playback : &rdai->capture; + struct rsnd_dai_stream *io = rule->private; + struct rsnd_dai *rdai = rsnd_io_to_rdai(io); /* * possible sampling rate limitation is same as @@ -881,18 +865,6 @@ static int __rsnd_soc_hw_rule_channels(struct snd_pcm_hw_params *params, ir, &ic); } -static int rsnd_soc_hw_rule_channels_playback(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule) -{ - return __rsnd_soc_hw_rule_channels(params, rule, 1); -} - -static int rsnd_soc_hw_rule_channels_capture(struct snd_pcm_hw_params *params, - struct snd_pcm_hw_rule *rule) -{ - return __rsnd_soc_hw_rule_channels(params, rule, 0); -} - static const struct snd_pcm_hardware rsnd_pcm_hardware = { .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | @@ -949,14 +921,12 @@ static int rsnd_soc_dai_startup(struct snd_pcm_substream *substream, int is_play = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, - is_play ? rsnd_soc_hw_rule_rate_playback : - rsnd_soc_hw_rule_rate_capture, - dai, + rsnd_soc_hw_rule_rate, + is_play ? &rdai->playback : &rdai->capture, SNDRV_PCM_HW_PARAM_CHANNELS, -1); snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, - is_play ? rsnd_soc_hw_rule_channels_playback : - rsnd_soc_hw_rule_channels_capture, - dai, + rsnd_soc_hw_rule_channels, + is_play ? &rdai->playback : &rdai->capture, SNDRV_PCM_HW_PARAM_RATE, -1); } From patchwork Mon Sep 3 07:07:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585533 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 1C42313BB for ; Mon, 3 Sep 2018 07:07:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 10E2F2918D for ; Mon, 3 Sep 2018 07:07:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0319F29455; Mon, 3 Sep 2018 07:07:19 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 062E42918D for ; Mon, 3 Sep 2018 07:07:19 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id E05D5267819; Mon, 3 Sep 2018 09:07:17 +0200 (CEST) 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 12D84267864; Mon, 3 Sep 2018 09:07:16 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 51ACE266E0E for ; Mon, 3 Sep 2018 09:07:12 +0200 (CEST) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:07:11 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id AF877618B1; Mon, 3 Sep 2018 16:07:11 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829142" Received: from mail-os2jpn01lp0147.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.147]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:07:11 +0900 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=aoRmKR4u76o72J9xy8RuDQAE5PPI++WWo0JCHCFREOU=; b=c6sd/xIp/Mt+yuvKNNj3LXrSTD1eQt6ifeVQhn+wlYYZpY6YqICM4nojPWyrpUEpLwPaCAGGj0L6BmYxnUKQg2XzcyW+5K9fvxoFtphuZO1sjcNlxFRPpJgZRIgKIn4n/rDwBtCtzBDjSbM9Hz5o/vsMM7hNll4uSTfxQNcQ4/Q= 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 TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.17; Mon, 3 Sep 2018 07:07:07 +0000 Message-ID: <874lf7f4lc.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:07:07 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OSAPR01CA0145.jpnprd01.prod.outlook.com (2603:1096:604:d::13) To TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 052a907b-3a27-49fd-0423-08d6116bdca8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1865; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 3:f6GYR1SaQ53LCZnmQsACs2KQqHRAjPHumxK2ffUNwwqLYICU+rfxsRf72xXpDQ5IsinCyH5y+Lhmq9H1/FF3ToTne9MYjfRLp3GxUk2s1Mju+SmJmgqnzbKKrkpKMDNYY/a1qo8UBB0ULcRO1sD82HSn3sX014S706jGx14snwM5bJbTikcASibwftkBqVGe81dl7d/w/gXdRCQfpYMtU3jjtmK7cjbLarRYdo4ylWMPMgR5dhnZ2Yj66Bu90cmi; 25:1iwU2yloBd0px2AZhgMueQyLebgpNOyieVMSV2e59zIKlwo2mPdGOPpsv3XQgejllDjpQ7rv9iuBs7Fu66QFxOdRZD5x8HO/iBdhYLl+Kb9rA2n1dinnI6EDoaFB+BrQskKUbKO9CfLWJ2kVcQEMZkTIYnX/LLohVtXpCAVlkq2BOTH/FFlO/u1NYaf6DghMG04uMrnDHWamoelGQj+7mc+FvpL9jb43QyS0IXVZZjTRFIBWPLIOUeH5Lo6rei13bp0kVT3x0KZTklBpftkkW1U/8RNt0HJpFQcSMVZvf+jnqa7nkLaq+k3fk5F84dRXCAzWvyjTLILiqXf1mnCc+g==; 31:Wzusq/oG5Dk/FcFGFupMNdfx4opspB2be4OIYXO3VjKX7JJKxcOWMue2+gZ4BvxFOScr6pGcYLa8OepsWJNySkCQZkaVzK91uzm/2h0dXY3aqCn+oA49Ry8ma+GzPMwaCKdn0bmPcyTYGjp29GiguifLOFGQBCXlelfBtkLd4O7/i6iYZLYgSd5gYmWULBHm41nZwUDQWPKKRWIbNaGiDyRelbxumYKSbBHxFyYbL0A= X-MS-TrafficTypeDiagnostic: TY1PR01MB1865: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:h0tGtgLG2tOE4Bb8KltL00g7Apoy7iqKLambk/QI+jfSEk9vqZzhRDC0crlL7Ih7/Cme45hOoU7L5QS/Nax2AXQ91l3luEjAZfQwZOoVhB2xKkdW1LgpVz9AxpormiaouEt8IpQneRIOBQj4iFzSeTqITjJ8hC4zr4uZFlkpUFRNGv1xKQWgGqLcZLHC6s5PgdO6eE8TKGVMTkK2vKPf8SWslQ1SBltejDyxNlt4tNDN+3xZFUBQe6WxTX51n72SIvbYw/WprRQfZ7tGI4s9jRYz8fw6CdmFV5v87OGsd4INh2sLBXqOeqZIF0oXsVh20FCn+KUZF51aZsIkS5XuwTlO6majjo9zGsAAPo82+Nf2DhF49IN+5xh3qAiH7UeiJcWd1ekf1hyZ3kCkXVG0KTMhF+5Yecxnyz5xEqvtU1w3PN3bqLY+fNzoYKhfkuzzE5j1Fj42cjqKntZDBEdHOWLLuKGbgIZNNHPF3lSE9uyQN9hiJS0HSWd7s1V37zwT; 4:6lHpbod0J7c68TUa14+4Mt0EqeSHhRqk+VWAl8LmwobIhsA6+4D7rdwwIZO8aEMyDW6IRw9x2TyUrGf7vPQJPV8m9UBxxI+GiWeoFE/iAs9xvAfaY97X0oZ6shbY0TYEy6sDxM8DSb/Kc3DUMw0I+VhFDTFYg1/WMohuio7eY7fstLGUwSfnsk56lH+TF/P/StBZBfFdMrfanc8BaadjjBo+/fFH7ozifKqEzDwHwWFId1Dp3ajSfST4hJxY9nnQRxZBste3TwPqsnDWLlxt+w== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:TY1PR01MB1865; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1865; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(366004)(376002)(396003)(136003)(39860400002)(189003)(199004)(2906002)(36756003)(6916009)(81156014)(47776003)(81166006)(97736004)(446003)(66066001)(69596002)(5660300001)(478600001)(6486002)(53936002)(3846002)(6116002)(50466002)(106356001)(105586002)(4326008)(23726003)(53416004)(5024004)(86362001)(25786009)(58126008)(52116002)(7696005)(7736002)(476003)(486006)(186003)(16526019)(956004)(2616005)(11346002)(316002)(8676002)(16586007)(54906003)(68736007)(26005)(8936002)(305945005)(76176011)(386003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1865; 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; TY1PR01MB1865; 23:khhoEQru5s5YTL5BdbRDTmb9Uq7fSwft6K3m3ZQaY?= W2A20R2YT16+4dhG3Mt7sOe+ayp6N09O6GmJuW27xyUrMY1wo9MULbuF72SWX0nSrEvRmnGRt48SNknHH53+r6yZ462qEG0uc8WLuSVfmgCE8tyCPYkV6BkLN0B/OHjX6q82O9omNoROeO/rxuDOsDQZTQkN9OaNxJ35XsJBxyjJjiVIpRCYQxMfrgUqxELDRuDfQ0G3F7P1slY762qUmeAV/Ap2jK9HTDrhqJwVo7Aif1VsGjrqS8fRrZY2fRA8T5kpz70p42j9vbPsdDsyO50ORqNIVxFIdhDwvEsqaMHPacmWZclU85mJ3OdxMq9Yci3zfPfB3G1TUmIQV3BrE01EelCXSLh/PiRXKqQ9Ye4g/7jJb5/yoirkYlKgfLZjpqCvzqKvX8WkweyN/hW8coXxjlNoOHtEWssIOyAn8TuTial/lKh3bGBBcsVPvbEWpyfp6YqemKHTjvgixKxjAquFuuqsZWJd83IY+OU3xO1bsM7Vd6czhSthlCkPOoYo0FlnYOuByK4fov3DsMe3Go/b+ACitWyqsNG0ym/4w9z2dDVsjTaiijM8rbdVGkrQiHliwB1xyM2KI3BixOgzwmGJDrIr1GxqGNdH7PuxOGMpuL3sArO7OHOyxrunjSeAul5od9iESIlpODOcKCFQEsoQ6M3rF6xkqWbAwtlEvuRFmhc13hzg/LoAwkzKv3l8bFrR3W5IxQxTaNhtsyWsvruzWxzxxjazMjltgdu6R3Q+SysfoxKMVgqFDaYWRCceL9rfzILDpElZXYg8tIxL0NyBPGw/3BfB9/zLhpy9YJJ6ykAND+pPTN0llK3W5pcW93b2mwND1OpJK9ho7i/7SCjvg6slxNca/zDvpK/f/Gg2rjsii3ll30mgXXSvCFY6GhDWSPzJpkQh/8a0RBVmDQzceC61T/eFNs6LU/3vWsNxlkDcDCgrrpBb/9Yv9PXwpBOUiPUY1iFQ91DF6MkCrdMwcIy+OPlJS5EFcD1FA+1ttGg0Pn0Z9QApsg6DAM44Q9ipp1BAxRd0uujPsQE/xD5PmuryVjp7SaMYH8FH8/v1B9myVxyVgSOe4OzhvcAMhTSj2tPYi03pb65wr2Hb4G7VMZHCqbfX5NN6es0cZlIyBP5FE8SOkyFEfaa4H30D3D489M5PFU/QYvPwsgusyphiHQnTaYb6Rd98wcX2J9xRA== X-Microsoft-Antispam-Message-Info: TwaUk/WtMmz6skwIbo+QwKCSrLh6yznwPR1KXAoIYZJgHJsLLRz7AiPZZ+Bc84Jw1J8gq9s+JlsgqEh9n0yr+mWjOpiZWWBMfkSdW06boje3pgPjuQYhEVCpNPshuP7iy4Yv1KYT83hmPP2CpPn2CRP6qtMZwZtxhOX5O8Gz6CflFz5sHaOmQe/o5P7bc58W0sMwSAIoruaMDgvPA42gd9wlp2oYcgVsNi7/FJy6AosOm9U8OSiLnZsy8lDLPcJdUfkP2mLtmH51TpbqNxJ9C2nvpOZNnKHW/p4K9RPwASGWIboXaRaD8/mbrh1wZXkdUJpFt8bnPUH3bqe+fHSAYcdM56OEQ6L2dsJItvlOpC4= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 6:Zkfnd2B8ARDJBFfh6WtTNAcyDHBd9np9LYo5yjd5J8i8rWA2lZ3+9SVzm/45WBbOa4tPUwUBiHh7fh8R8VwUKF89xnGPBS10L21JlK9ZkYVXUZmyIExFreE3L2r6iGLBIrbNN5FN6M2q7VX7bcJZIMR9bq4bHQw4TZT3/Qm/dGi62r1Ce3tngiC39JDjFJW6ulXtOR5VyDjPIGtkadBhpfT+zYQxwYknSSRCpEHy9/BJaAYIYUSSE7DkdbYaCe4pWAkppPm9j2saubuH4BbCy5XJU6BIr62ExGji4Hik7gMobmHkk7ARecB6fDDN82IfKb2cedwmxlEJTB8T07kKOcrzamgHkAgZGHsQaMHqiElCcZInnaNCywtiS9SLRlno7c2w94K+VFp8sbgMqK15bwI8VjrLEVDnFpST/paDK7Lh84q03q7zEiO2siSnXVbSAMbsBhYR0CNs3XCYo9rgeg==; 5:EqKnLKW7aVFbXFn1cajjkqb0v0680fDquDYNPFLY6Ekl7y7ZZIlT5BEWymdiV+DW3JZr5x36VfYZloytv2p0eISI6Qo7xRNBqdfCq7qAU6YslajGclrXc1lbjS+g5TYNlZ5VyVX3w+RTKXCy+JFN0T7mgqpwJY7JwL4UlPDq3mY=; 7:sPQ4YgGz5TRXIx/yqQegsacaIWDyhjrnOoVkT4FojhS6/GFmE0Fwxg4aDJh4uqFXTpgpULKrbnZlpUoc/0xXzEvbj9hAlyzwwVGZ5NMqN7wTlr7J8LATzo1/ePXvdzksRnj/qBEj2OtWOogJGuxhjtsfxUi3cU+yNrtpYUt+4bIU1/pRM6I+9g4VHVwTWwSb3FGQ9YqcEGAmJ5rc1S6ALx1xjADIwG+eHvx4we5TpMTv1dBj7Pq7sDjihJudc2XG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:vBMKO+FZv+Gqv5Os7Qv2DgG6Vqkac9xKwFvkEn5zsD9umnJ9imRSSuY7i0nte8/63/l8T1ts+QhsDvKKm8mZTTHURSIDTR5EhPbURf/2W3YMYktp+lv9fss8MKdvQjYlbFbJD9P+TbohrCiB7eTQWfdS+A7r5K9hdzSlh8nbB28= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:07:07.8487 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 052a907b-3a27-49fd-0423-08d6116bdca8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1865 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 06/13] ASoC: rsnd: ssi: Fix issue in dma data address assignment 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: Jiada Wang Same SSI device may be used in different dai links, by only having one dma struct in rsnd_ssi, after the first instance's dma config be initilized, the following instances can no longer configure dma, this causes issue, when their dma data address are different from the first instance. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/rsnd.h | 1 + sound/soc/sh/rcar/ssi.c | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 698b081..20e6a2e 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -431,6 +431,7 @@ struct rsnd_dai_stream { char name[RSND_DAI_NAME_SIZE]; struct snd_pcm_substream *substream; struct rsnd_mod *mod[RSND_MOD_MAX]; + struct rsnd_mod *dma; struct rsnd_dai *rdai; struct device *dmac_dev; /* for IPMMU */ u32 parent_ssi_status; diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 765ecc0..89cc433 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -78,7 +78,6 @@ struct rsnd_ssi { struct rsnd_mod mod; - struct rsnd_mod *dma; u32 flags; u32 cr_own; @@ -899,7 +898,6 @@ static int rsnd_ssi_dma_probe(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { - struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); int ret; /* @@ -914,7 +912,7 @@ static int rsnd_ssi_dma_probe(struct rsnd_mod *mod, return ret; /* SSI probe might be called many times in MUX multi path */ - ret = rsnd_dma_attach(io, mod, &ssi->dma); + ret = rsnd_dma_attach(io, mod, &io->dma); return ret; } From patchwork Mon Sep 3 07:07:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585535 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 C3001139B for ; Mon, 3 Sep 2018 07:07:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B69E62918D for ; Mon, 3 Sep 2018 07:07:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AB49429458; Mon, 3 Sep 2018 07:07: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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 DD1352918D for ; Mon, 3 Sep 2018 07:07:36 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id C0A7E267827; Mon, 3 Sep 2018 09:07:35 +0200 (CEST) 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 039BC26787A; Mon, 3 Sep 2018 09:07:34 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id EBD46267827 for ; Mon, 3 Sep 2018 09:07:30 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:07:29 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 3F65F7C2EF; Mon, 3 Sep 2018 16:07:29 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829160" Received: from mail-os2jpn01lp0151.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.151]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2018 16:07:29 +0900 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=o63lBfgsf4eF7thJPhbQ8PRL4SWLVsZorUUw0aYC2lM=; b=gJ1jHIEaA9StwVghetfmu/oxw6QApPWgD4+dnJiDJshKUHZCFGUqM7OjKxaLQiGVXu0Ny2wA9sSjO3r9tHvATqbBnYO3DiRI/Epn/I6LzzXxQUZ3zeXJr7ZpwCAbtTypBuMUKN5v0VDmERr4XF3Gz8CTbdeHGX6IaSPF5ENanTw= 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 TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.17; Mon, 3 Sep 2018 07:07:26 +0000 Message-ID: <8736urf4ks.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:07:26 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY2PR06CA0002.apcprd06.prod.outlook.com (2603:1096:404:42::14) To TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4987a120-58bb-4ffc-daf6-08d6116be7cd X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1865; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 3:angZgLbivMFgjqYYecWkN5lxI8WhBrKiThLaNFcM1HbkGvYa+GJZmVEyHhFLfNWSJ8f4EJ1VfCPrJtzy0C8Buii9n09HPf7GLXVhP0Bqv5b/Sp8ZaPA2lWIspRFdmcmod+BZgu179/DX7xneQGnl4lhgO2ogJSlL3WSCRDqz7x11oI8CytocIpaqlR0H+AV2gRb+/B1IpzuwbpIqpqebVZf+cEvxez802hH0mM0pkwhHAlOcPpaBBoX7e8dbD0lL; 25:YyODtn6Kw64WlRvDfdUlrDMe/+mI6mTcLx8W2YGYxw8YqgrUU2VE6Fl4kZuz2M25cJisryOHkKXMah1T4BWAFl+TL+t8VGDdd0xv0FDNPXXagImIXyMYOPHMs0/itD9WQZsn6jncd1zfCbUETB69RorROcWGFTfLzahSA5GzNH9dQg+sd5Au9u4zNsTJMox5ayBwOObpqIKn5YmqchJ2TF2kwes+K80JrWZQQjgTTo0Q4GNVdBLJtjWnv2OdEtlv7b2/wG1sOaYx05+LnLGsPUl/aWDsB7+MF9L8xYlRs3f218WkH79ICMKhRZTPDFiFGuDeTEf53QyKzPVzrrETDw==; 31:JXMhDKcGM9QYu30nfsrSfftVrl2V9xjo2px0NyPdag2NAu63JNutkIIB0PVuprIYwx3hhIrqdPBFHJtcpMwJY4JETyx+9P5cXMw5OOvmd+UAPJFb5hFnH+nhjljPXb0cjncKIhewYEOMfy+ffmuLpGwnIx67Wz0ScbZu/J5HEeTooML+umrO+FGrgcpjONf6OIewHk4af2fQuGFgFW3mEgNeKaIqSBVNyIw9IZzf7/o= X-MS-TrafficTypeDiagnostic: TY1PR01MB1865: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:zK65JI73dfL2sabuDt/uudkR365IDEJS301k/wxRqwyglax98TFZqDcn80mYPMGIk/GT6AfCU+SkKsBwlYIYVZXuEN4576rdlx+HxdgGP4cCPBXKQPwhyfRRLbsD3kFBDtYH7LBnrkjZ5/hUDbwc6r9YoO5+kTsyjnSI+NlwRyxq6nyoB3wHreLnj4TMol1cZCRVK+mvzAPnjOw9a+15MMRUXvk63D0A58FvnNNXc4MHj7yRIfLQVZkkt5a6WBbiUtbZzJTyIM3Hfc/TOxoYcE5iLk0/pjMbXUMT4LhP44avLQRrGHLF3Z47a+62zn2R2yyoIY4WlxEs2AXJcil+jp4kVDSTgre4ivoOKyQKxQOOoCzRAwEFsJtpZO9K6HadThHJQ4iGHJpS+O7ht9mQx5AwEjD+wT1OECIfpYDhF9D5Ow3bBJn4Q+/RhzeogXi5UWuhdN7T317IuExYyv1AevWepEnOuQo6Gdz8MIF0s2lTI7E6JM4dBsqn/K4YVw3X; 4:IyZrrBdmjVUUVoJzcbzn1mR1sMJsfLn1n6Gu+K1CJ40mPlS5AWoWXsxxD7SyzvFL7h9hgfXiRoZkX5w/BAkpTeY7jinOhWurDrBK5MCuWMHkYfG6ZNvwUJ/ywQS8XTAOPbhs5HhdfaQAbWnB3VXkYP5m2FAcUHcunQxD6UpUUAxIvPyV1iLc7sX+JoZ1BXX+1dOpUCHAL4HqXTBgDl+4GNaTQhrzywtkeFg+/U+0IzsK7TgKbOq23FpBib6zUFCcXXN6CdkxyZwUrgBmpwIJmQ== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:TY1PR01MB1865; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1865; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(366004)(376002)(396003)(136003)(39860400002)(189003)(199004)(2906002)(36756003)(6916009)(81156014)(47776003)(81166006)(97736004)(446003)(66066001)(69596002)(5660300001)(478600001)(6486002)(53936002)(3846002)(6116002)(50466002)(106356001)(105586002)(4326008)(23726003)(53416004)(86362001)(25786009)(58126008)(52116002)(7696005)(7736002)(476003)(486006)(186003)(16526019)(956004)(2616005)(11346002)(316002)(8676002)(16586007)(54906003)(68736007)(26005)(8936002)(305945005)(76176011)(386003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1865; 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; TY1PR01MB1865; 23:NOhBth9H6hat2hoM3wiNQvQY88HOOAq5HFEB5qJid?= ucbPR92/X0K3uFNx1G8jdX2yLaxWJyuCgbBFxnqFoonv8QEuAfsvwl8NT1Z61qgNfsCoF8TZm1j2TP2EkSwT8YBzhxDgyUqc9IJlUdUVREyka5awPzEz33F5SpOZd5vXLxVimIrNgwXLtAJXYY6gmK4Ml4c21WJ0NoIYsjhtcORUMbsqeVl0U/OfepmiGQM+m4R1RdVdHfUML23v7/jQ1axwlZjRPT+S2bfQsoR9c7D8dhY7dKf6THhxmpP5YLrCYDv/3VfLPa751C1e2XZrd0ZiKFxJLGosyUUvCYQStLWrAjil0e5HsKzyWJ2FRdomrBJhj4o/e2VpPPQlXih8y3QdHE/ev9ves/+tl4McmrP4AaodXLqEGTYtzeE4OObldVWkVYFtUi++3V6/nGNdf5bJRPH0+WUuSGZ1Cdin9BcQZVzruSUq7mJYAjAY15zeHvKOxAhKlEAsn2yQ4nz8OsXIDohZev7YdeFtC3nWGqSBrr7ZWN7NQzXylXWTkG2mY7hIiXulq1y0f6WQKcr+eq1xQ5aPPLYS3/0kj64FqTaRAqzZltnc1dZVHWgTaXV26ZpRHWF1B8IIa0+s7BhVQRs2jwtmPXGBAk3YQUAUt41l/K0npBXdhNT3ilcAl5Cx/xfMu+LJ0wETVWG9a4tJzEpHXzVr8lgUidHhYe6qBC131l0yVUqs8moBCEni3jHRPKvLZil0u5UQxrQdPgZrdoR3LToE2EPBkJ3xQBg0YOFJId4FdRK4v9zeo73ujnvUeaSjyuDQsERU3DMnLHPqJtUXPqevpM5MSkGbO0p97HueqokuoWTfhmGK1Eyq/RZEIUR0Z7GVyCfG/6RgKIFwng3zfL2EwxV55v0iRwSYQ9N1amYEa9lphsb77P/0uHIuKk1sZ2y/rELd6ZMOsTUs81oNIKHhVTiBOWOUrcmKefKSbYg3f+KDmMcTPlNuqlMfdRzTURC8ktiSts47iMaEoCq5k928u43JqL/xGBcuVM+grJUAOuEt1MuNy7gM+RxFaUWje3Mr1Sag61jT5YLHP9+oFmD0WlSNVtFSrMBEfwuJ3RsZnsmvOyM+yJU22gpKnUwuavNSoF+tNHQ8CM9Mgjofz1QVe53IKOOdS4yGwJC3Z6Upcj4D7qDhpLDwuOH3F5Zn4N15H4Ga/pM1bxdO8Yo X-Microsoft-Antispam-Message-Info: GURXGo6JZMMR/ISleAjvdcmbiVdjzBSNhfUOLhcxBovaQw6u8IPgijCDlyREvsHb/NKSe75KmkNX3Q6z9z4rtvHVSLIXlzQ3KjVd570Tn9apdXdRqQOn+olAsHI4ZI52N6Z0Hswl7BWo3QG8DSWn/jh6s6t0IaCjiHGO9FQUXglGws69WBUX7wU3Us5/4jGN3tsYjTvpS038kfdZZgsr4bzshATOgV3hzEXBhYyLN/qUshkNjPE8/Bk57iK2+b1Y9fCgtH9ZeS+9iXmhc/iIFzvQ6IXx/QzZnscn8Tvx6xayc2LKUANnbfcP3AE84U1UZcyAmgQ82cRGnCLmfQbGcTU7U8hpEam2qKloDy+diIw= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 6:i8X1EzemBYjkrGb5LEYZeibUMTRLhjCr2OfqcAj6sANVZ/3oIdY04/3gVmVUM8cfC9/meyCdT1UigpnyRXBWQrnUtp3fz0Bq7Vd01e4J2mRunjmiZOOnjG3drXu8mN7YVSzs90Bs+5jSXV6HiNQ0WcWgRjKw9hM/Tu2wj/uQKs0Gk7dNEECTJFAbDBphP2B6OGsdFpb7zzt+IGSnYcDEjk6S3VOCkDlt5oHbCSvv41kFyNjjl4KNCwWvta6RtWFHEq//Q8day7k2zdnvKTKIHW7bJ/8nTplet2XlxZZ4UNxGFkLO1nexnoBPTI9ZVWhjmaz5WAPfXhZKRM8aL2frOngLtRvmohe28yh7+BYqbU59sKmmPKS9wzEzF0VgMmb/qqiTdn1PClAjcGCFjZBul8pNc7KLN2g38QxgTYySct50TuxUOuy4itUZAbKvm/u/a/CVLnhYImDNm4Bii2l2Yg==; 5:pfCh6Qkzk2rtr1YjZWt04ZG7YxcTlasvIkJnlgP1/u0QlNDS+tudb+IPxc79LSYlaH+Z36fAT2LOsQiX92iaEKy+Ez37ocdfVDJDoGg4Kujm2v2glcyPdTCZLOAZgU1LYDUpmQWZcB1A8b7ItsYXt6mv97spbP9hnnfVI4u0yjg=; 7:15Wi3mzohHSWkTh1b1UafzYV4NhqnVn1dvJWY2wHySKTcFKlMgPjgSwJuWz7KxUpSNEmL6KMQO4yfyNAhkPhL868eqcWbE4ajipLrD2Si/cCWTS/pPimEioeffcH+3kh4UtNw0pitJeEaVoSzbaL1JKiCvrABYMGa9V6vbWwbK5+++usQefDazOjc0JE22Q34rd3F2yS/TyXSdC/X+jhnVKdN1GhTBQTDJrwm4HEoHN/i6hzk3syjegzErNtuwh6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:85zwyRbzjk9PPUBpBWFLe04XiLOBoN6Nw6z24DRfwdSTfFR7rvPQxs+r1gy1pFZH7TbE8OBIQ7jhM+GGH10jczhInr1cbCBZtRc+5q/ZRo0u7GWtKjxFK2+ocRJlyFhJp62EeyCq8tWWp5NftpCSc9CrHtBulxveh7DOu11lzaM= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:07:26.6923 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4987a120-58bb-4ffc-daf6-08d6116be7cd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1865 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 07/13] ASoC: rsnd: ssi: Check runtime channel number rather than hw_params 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: Jiada Wang The number of channel handled by SSI maybe differs from the one set in hw_params, currently SSI checks hw_params's channel number, and constrains to use same channel number, when it is being used by multiple clients. This patch corrects to check runtime channel number rather than channel number set in hw_params. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [kuninori: adjust to upstreaming] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/ssi.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 89cc433..3f6dd9f 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -307,6 +307,11 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, return -EINVAL; } + if (ssi->chan != chan) { + dev_err(dev, "SSI parent/child should use same chan\n"); + return -EINVAL; + } + return 0; } @@ -334,6 +339,7 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, SCKD | SWSD | CKDV(idx); ssi->wsr = CONT; ssi->rate = rate; + ssi->chan = chan; dev_dbg(dev, "%s[%d] outputs %u Hz\n", rsnd_mod_name(mod), @@ -359,6 +365,7 @@ static void rsnd_ssi_master_clk_stop(struct rsnd_mod *mod, ssi->cr_clk = 0; ssi->rate = 0; + ssi->chan = 0; rsnd_adg_ssi_clk_stop(mod); } @@ -511,9 +518,7 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod, struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { - struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); struct rsnd_dai *rdai = rsnd_io_to_rdai(io); - int chan = params_channels(params); unsigned int fmt_width = snd_pcm_format_width(params_format(params)); if (fmt_width > rdai->chan_width) { @@ -524,24 +529,6 @@ static int rsnd_ssi_hw_params(struct rsnd_mod *mod, return -EINVAL; } - /* - * snd_pcm_ops::hw_params will be called *before* - * snd_soc_dai_ops::trigger. Thus, ssi->usrcnt is 0 - * in 1st call. - */ - if (ssi->usrcnt) { - /* - * Already working. - * It will happen if SSI has parent/child connection. - * it is error if child <-> parent SSI uses - * different channels. - */ - if (ssi->chan != chan) - return -EIO; - } - - ssi->chan = chan; - return 0; } From patchwork Mon Sep 3 07:07:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585537 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 CB941139B for ; Mon, 3 Sep 2018 07:07:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84A2527165 for ; Mon, 3 Sep 2018 07:07:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 738BE29455; Mon, 3 Sep 2018 07:07:53 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 70AAC2918D for ; Mon, 3 Sep 2018 07:07:52 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 504E426788E; Mon, 3 Sep 2018 09:07:51 +0200 (CEST) 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 6994E26788E; Mon, 3 Sep 2018 09:07:49 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 6E9B7266E0E for ; Mon, 3 Sep 2018 09:07:46 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:07:45 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 0526D7C304; Mon, 3 Sep 2018 16:07:45 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829173" Received: from mail-os2jpn01lp0146.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.146]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:07:44 +0900 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=jgNoPqTxz3+G0M6bD/pAjD5CJICZrUYee2uFt77VnnU=; b=iCapD1rXTB3v8VFK23cBjK9HmkapdcAQ8zU24KBhBp+xsaWk+RilyknbvQjc68DnAmT9pKEwo3mDTyzm5KhvMFcYkmx1bgN7tvfLxW39s/My1zsV/hLKjzc13e/3GkCg2QXlF0islPI9YFUV7WPjfS/uc1XZTedn+auBnc3LD6k= 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 TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.17; Mon, 3 Sep 2018 07:07:43 +0000 Message-ID: <871sabf4kb.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:07:43 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY1PR01CA0137.jpnprd01.prod.outlook.com (2603:1096:402:1::13) To TY1PR01MB1865.jpnprd01.prod.outlook.com (2603:1096:403:2::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 930cb567-5729-4f2d-28f6-08d6116bf1a1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1865; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 3:bSMF/v2eTjP/3RNexSudWlsegO1awUv8UAYRtIzIcat2KsQgO5vIvSrleyCyyBpr6Vb6q6WN6GFP4+pMhxRsH89rRdlE1pr/SBz/4Z0Ta1Eo2Xyx41FtHMOmVgFONKVKocpSQTrhYKW1urQoeYa83J1WEjyi4rlXC58RBOcNBPbPQKB6Th/dTr4+ZoYwd+0rGUL9X2Uxt9U/vMQnoFB+z1j3HtAcCZLoDDW2Fwi2wiZxojvLw4NOY2wEy69jOahf; 25:y99sfsKwZ2q+xDETXePQxfVF7BN4u+9ySEESoKX3M84eluygJZplErK74wgTMdES3Dq9c+k6PWjZvLHopwTmeqfHO4aozHfdu6lCU7Tb4ptNV7SWCl8gpduDE0w8hY//+Urn1WO41tHTJx65OpsqkVddleolP8iv2sPzlBu1aDNN5yxSmpSSIaEgKJDId/XAsxYNFNibalPEJxdn94wYwmRiPVpvyJZbzzDhVmGiSw/ixq3wPYd2yX8Mf1EDrLxX+HytZ+VYpmBW+y/dNirZft6uYezI4Y6DimSF2C0vRuZJjy1ywL7J1Q7E6Ut5wPM1zOCW+r9qhCk5/mEvGSDHsQ==; 31:+CbF+hb6HZrbmL4R52stiqV5d136acyC52mB9J2i4QFsdbdQnX3xtmZXvY/Cr518afx0g+gspu4eUwQkfk5KVW5PwGMXPaeb3GXmanYEK2bcP1OW0bWq/qMu6pAiYH/tjOorJWiSGWGVquFBQSKTgcfI2l4GUKE+z8hFABXI1VOZudW+A2lBktDdB+aZfYtDoxguUAGJG5gSM8QEdwbGyYi79PLHl15+TDzY0FuuZlE= X-MS-TrafficTypeDiagnostic: TY1PR01MB1865: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:aAjqnQO6wDkaatRJShZoXlkQldEpLQBZr+qslYQBP0IpCt68o4ercOqmUHPpeKaVxoPYbSb54IUtY65isEXkHwskmc3wwwDSgUbGOMyMmgPTTKYzLKqgFmkrze1DiUgWLX1CXro0oggPWwiMpRS7iLF6iK+si6c+wP+Xjrl5GF9vUr005TanrAtO/tPpJSX0/K+QELY7PP0PNAHOT+TOU1YJUBoJejBnpMiAOehjcFL+qAg1FdM62hbqb4O7fJ9ikHBt+DvNBZ7zjXTAMRc+P/q7EN8becinQnlkGEOqQUCOS3q6vMEauFp+bVS1augXp2llb8j6G4vX/cdOjQF2QzV21djJoAT0KcWDd/xR+CnpIKaBUqJF4u1eYpnfgEGP5W9H+786S6S5i4QOqcD3aiMh1xsfr0Q/AzAgRW7d1epGzFuXvijtH9Bw4YMqLFduI+CqgPa2G8olBPlt+yrmjj7/pA8kuf9SpKKJjASuPRhupMlfr6CPfHbFYl/GESNO; 4:4MPSIoGWssoMG+7JnwuAQXehh24BW9/OBJJnaJCAccJhByLHSxKk91lyifaQMZClakgKRe8ZIcPHTac1jhvzBoRMSyL0AoEwRE13kErZtMPd7ZNQXkGwx7BLiT9VUnatYJnEtsag22udX/Z6RTcWLc2JXaBP3qUNrPuhCNVF97QRN7pQ2yc8tPZSdqRM1+Q65lg2Jf9mFJoFXaOWVkVfalNiwEjKFZd3C9qE1WVVpeyOrItC9YvloOS4ML1j72C+wsXHiOOUlG2vmnok2gP5Aw== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:TY1PR01MB1865; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1865; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(366004)(376002)(396003)(136003)(39860400002)(189003)(199004)(2906002)(36756003)(6916009)(81156014)(47776003)(81166006)(97736004)(446003)(66066001)(69596002)(5660300001)(478600001)(6486002)(53936002)(3846002)(6116002)(50466002)(106356001)(105586002)(4326008)(23726003)(53416004)(86362001)(25786009)(58126008)(52116002)(7696005)(7736002)(476003)(486006)(186003)(16526019)(956004)(2616005)(11346002)(316002)(8676002)(16586007)(54906003)(68736007)(26005)(8936002)(305945005)(76176011)(386003)(16060500001)(309714004); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1865; 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; TY1PR01MB1865; 23:wJAKHRsI2KEPTfer9sgSFKM8bdX4jhz5RMYIGhiFb?= hbzKQylKAE1eDTdxRp6xNLNGCPUoOG/kCKDpec+DP/lUAvfFKqiLh9FkPT/kiskSlWznYfRvMq6Yt7lr1I9IRbM4fh6kleZ5nJ4MU4aB0GAa+ODuaxGs0yk1sielfuuxapZzhMuvrNYJ4SUHjUAI5r4RdN0daayRzv83ny0/oyjW///2YbWhthFGbw5Fvl7zVKD9GetFYUKFahbjFYFvsSjDsj/ZqPIQxNS/df36Fa9QXLllaUK6sHdMOGJZNeuzATjsoa6wz8jewqhg+9kTBtpWD57DINzDxu66tn10g9Kk3bp8bW5pgiE2PmaKfR2u/4AjrM7Bl4m4QUV9dUWPoxbNH2c6T+bWeCGmFeZng7qRm1H0NsS2aGtIm46VwjRCw28B0S7kLQGuZpECgw0Bk6i66pCwCzolryz2UG7LTUtCvRgRiColkYdCd7K4Nfv6CJejnmVJcH12wOgSmC3iyydT19Il78NqTRLI5ebTG4mUkH1npj94GrIJJZ+9EfdeI+GvcuF2r7gjWqb90b7Ep3ig7Q5HJc2YCoUdcCQweU6IYyW4hOrXtDSy/8HVLuGSBpXcagXj/s0f0T79nqmzzZRjRi5npgBU5lAWAqv5BSNKPJE6z+Hw3Vhfqz6ux8McpIWJ2tXBpTX8gMTRHwH2iC1WjcSBl+uB6m0meCL1lckdFttyi7WeDe4Xakr62xFmTV3+TnoVBYNf7KI/cXZD8buVao7hrJKu7sFdsyQxzQyN6iSfpQhXv7sLk9IZQ4ok9DNO5/pezWgxohwkojQ4yxT6/yoR1zPD04HY90CMcMeigavrC7TWtKTpIWUIfD9E4WBcwsWQsAtjyTxfH5lrpUGh3TyxdprmaxKyS2fcrKx51SWUWLdmkSCJLspo6YULV2cxrXBBcLmsjahEUZIUludPkZhpzZL33O3duV4155TDTnfZzT9RQp7l2j5r3zPIqeLNWCywG1QTNydLd/Z05LErF6dG3YMQe+ubIeShoJppr1zz1FeC+w9xTasLfsc4X9thio37RewytoRmuH4cNcw2y3TaFILNQWpvbwnPAV7fvAW7ibzYx8YLiSMyMeE330A0CJAukElAd4Nhq+fF7d8iFClJRmEKBt0Uz9PJopWLcIvLkwUthKkwC1Skvjaxx5W1bhoz3YkVGSwmiq4Lxt8DZv8988DAm71JcFAwJZVnw== X-Microsoft-Antispam-Message-Info: 3is9wcfuC+sly+gnqo6MrqIqdiZTisOu2MTkTBf9yj35XEAhpHirXSBSnqjFk74wodn5bWgpMHRzjpUwCzyLT3nR5jvdTIy1KFJlVI6/FVHG2dRPoSpkdDG+N1ZsUsvFV60Fd2bf6b61m3itqlS0Fs9LFXt4XylMU+sejTd1UP08G/ZsHW0msBC1A2d7s08DAddvN8x8i25P9kyecHh25fx8rzNBS4f2iLm6uFnf6Vw5A3rN6u6BFvaqQSwI7diQ1cbv6M6XL6W/TOTDFELT7NhI0+Ce3TrXB4/8q8k/Ic2eX/6M2z5vh9yOEoKLN4FwJa9u0oiWa3zI2LvD2iecRBTfp0DJblERELjjwDBwEbk= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 6:5uMmo+K9aqZ94mRVR151bByhVPjEN4UVnoHIO0aPhIJJgqAwBcdyEgdUSSOERAig1cth9FfRGmLMiYz1sUCZxxHe1n4kkJ30YqlLTgaZhTf/eKRNNLzlTXLe2fEJGMS/IYfR+xeD63ITqyI8YCLJ0C38stZs+5BcFD6rO3ax/Jt3kKPTU1GClKoJDQBP1PEx4om2Vgaxgp5qTVayQZHeB9qBrjPNa+34DOPsPyIWYDlCNAhX4KWNGbgLWNTr2SGUVWxUrYTT87m9vnP7uD3Cqt658zp1DHea+nQTWEvk5/tx+G7xkAdy5M9MCFEP8fzRZewtV3r5qsFukwGBetZ581o68676Za+JSmpZYlnGOJ2z27HlAXOvkBGXAJQSuT1Q0f7l1UoY9IkusghDiJL6wtc6hIlBT9hxbI2XUwJogA9Q0Zf/tx1u9Y2ds6bIAwoQLE5OliC5f9y1ppRX0MSPQw==; 5:7frnVb/R/i7n8vtgpzCX2q97Gx4eSLySJI9YQiJoDOMpB+aLGeV/I0f8OofVSZFOxZBsjQhzXWkBYJIdvYrWEBKi0f15m/SoTLTkMGB5772YrBQEY5fdsvaknJpIMehJpZEBQDb2c/wubS8mCYT8ZYs41t/Z7rlTDzcTtSL9UQg=; 7:hZMAGNl7W/qUIiHaJHswCkbqHo40NdSodKF5UFCAO/uByrJRBmbXK+FQ+6h11NnxLhyOusAzb9LnTF2Hudy8RZ/maw31QX/04KRC1z91p9D8iBi55ZDftRZ3VVN6PEN9AFphgvSFs1d5OXZI8Rc7qA+saq4omxDOocj4VSBOML5cd3dHg+01xrI7YIRAKA1Riyvij4OsXAXwWRme3QwLJVy/FBBJKE5vliNvifSkAomip+h316q5+FKxHCIyJVvw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1865; 20:5DBggTVI3CUHL7oTZ09Qm6lPSjwzBrXFPe5fdGzNeeOfFifg/KiVIB9Pwa1jG1wD93PPomCcSZBD516+g0r07qSURbPxPX+/pNMSXJk1Jff///FHgd8YZh3LnU+z0kNzY+XgBsnXQH0Bfe1Kdvi3L3Rv+0+ZKoSMAHv9SPFgFxE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:07:43.1766 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 930cb567-5729-4f2d-28f6-08d6116bf1a1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1865 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 08/13] ASoc: rsnd: dma: Calculate dma address with consider of BUSIF 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: Jiada Wang DMA address calculated by rsnd_dma_addr() only considers BUSIF0 so far. But BUSIF1 ~ BUSIF7 also maybe used, in the future. This patch updates DMA address calculations, to also consider BUSIF number used by SSI. One note is that we can't support SSI9-4/5/6/7 so far, because its address is out of calculation rule. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [kuninori: adjust to upstreaming] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/dma.c | 43 +++++++++++++++++++++++++++---------------- sound/soc/sh/rcar/rsnd.h | 1 + sound/soc/sh/rcar/ssi.c | 5 +++++ 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index fe63ef8..73f743e 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -487,11 +487,11 @@ static struct rsnd_mod_ops rsnd_dmapp_ops = { #define RDMA_SSI_I_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0x8) #define RDMA_SSI_O_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0xc) -#define RDMA_SSIU_I_N(addr, i) (addr ##_reg - 0x00441000 + (0x1000 * i)) -#define RDMA_SSIU_O_N(addr, i) (addr ##_reg - 0x00441000 + (0x1000 * i)) +#define RDMA_SSIU_I_N(addr, i, j) (addr ##_reg - 0x00441000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) +#define RDMA_SSIU_O_N(addr, i, j) RDMA_SSIU_I_N(addr, i, j) -#define RDMA_SSIU_I_P(addr, i) (addr ##_reg - 0x00141000 + (0x1000 * i)) -#define RDMA_SSIU_O_P(addr, i) (addr ##_reg - 0x00141000 + (0x1000 * i)) +#define RDMA_SSIU_I_P(addr, i, j) (addr ##_reg - 0x00141000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) +#define RDMA_SSIU_O_P(addr, i, j) RDMA_SSIU_I_P(addr, i, j) #define RDMA_SRC_I_N(addr, i) (addr ##_reg - 0x00500000 + (0x400 * i)) #define RDMA_SRC_O_N(addr, i) (addr ##_reg - 0x004fc000 + (0x400 * i)) @@ -517,6 +517,7 @@ rsnd_gen2_dma_addr(struct rsnd_dai_stream *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); struct dma_addr { dma_addr_t out_addr; dma_addr_t in_addr; @@ -533,25 +534,35 @@ rsnd_gen2_dma_addr(struct rsnd_dai_stream *io, }, /* SSI */ /* Capture */ - {{{ RDMA_SSI_O_N(ssi, id), 0 }, - { RDMA_SSIU_O_P(ssi, id), 0 }, - { RDMA_SSIU_O_P(ssi, id), 0 } }, + {{{ RDMA_SSI_O_N(ssi, id), 0 }, + { RDMA_SSIU_O_P(ssi, id, busif), 0 }, + { RDMA_SSIU_O_P(ssi, id, busif), 0 } }, /* Playback */ - {{ 0, RDMA_SSI_I_N(ssi, id) }, - { 0, RDMA_SSIU_I_P(ssi, id) }, - { 0, RDMA_SSIU_I_P(ssi, id) } } + {{ 0, RDMA_SSI_I_N(ssi, id) }, + { 0, RDMA_SSIU_I_P(ssi, id, busif) }, + { 0, RDMA_SSIU_I_P(ssi, id, busif) } } }, /* SSIU */ /* Capture */ - {{{ RDMA_SSIU_O_N(ssi, id), 0 }, - { RDMA_SSIU_O_P(ssi, id), 0 }, - { RDMA_SSIU_O_P(ssi, id), 0 } }, + {{{ RDMA_SSIU_O_N(ssi, id, busif), 0 }, + { RDMA_SSIU_O_P(ssi, id, busif), 0 }, + { RDMA_SSIU_O_P(ssi, id, busif), 0 } }, /* Playback */ - {{ 0, RDMA_SSIU_I_N(ssi, id) }, - { 0, RDMA_SSIU_I_P(ssi, id) }, - { 0, RDMA_SSIU_I_P(ssi, id) } } }, + {{ 0, RDMA_SSIU_I_N(ssi, id, busif) }, + { 0, RDMA_SSIU_I_P(ssi, id, busif) }, + { 0, RDMA_SSIU_I_P(ssi, id, busif) } } }, }; + /* + * FIXME + * + * We can't support SSI9-4/5/6/7, because its address is + * out of calculation rule + */ + if ((id == 9) && (busif >= 4)) + dev_err(dev, "This driver doesn't support SSI%d-%d, so far", + id, busif); + /* it shouldn't happen */ if (use_cmd && !use_src) dev_err(dev, "DVC is selected without SRC\n"); diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 20e6a2e..cb27a67 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -692,6 +692,7 @@ 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_HDMI_PORT0 0xf0 diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 3f6dd9f..85da4fc 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -150,6 +150,11 @@ 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); From patchwork Mon Sep 3 07:08:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585539 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 DD52C13BB for ; Mon, 3 Sep 2018 07:08:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D005029351 for ; Mon, 3 Sep 2018 07:08:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C354529471; Mon, 3 Sep 2018 07:08:12 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 C666329351 for ; Mon, 3 Sep 2018 07:08:11 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id AA20426784E; Mon, 3 Sep 2018 09:08:10 +0200 (CEST) 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 C3FA0267864; Mon, 3 Sep 2018 09:08:07 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id EF0CD26784E for ; Mon, 3 Sep 2018 09:08:04 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:08:03 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 7C12E7C339; Mon, 3 Sep 2018 16:08:03 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="291384389" Received: from mail-os2jpn01lp0151.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.151]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:08:03 +0900 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=pktEC5MLReHf0kP8OM6YVpQbJ6bPjLNFrQsVQlmAA/A=; b=ja0Wj0ZNvndA4DhgnvscNxw/HZpLkQ9aUFTOSGU41VSQKjVqTAbaA1FcF95fTVxol664jJOeGtTH1h64XktnBV0HHmkqO7Fp4gCkKDHw3Ffj2xkq5pxErtjh6DMqHQ5TfmvgI8Qa+YcLOe3xYWyb7JVZXXJsxoD4VSyNfwcqy4Y= 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 OSAPR01MB1859.jpnprd01.prod.outlook.com (2603:1096:603:2d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:08:00 +0000 Message-ID: <87zhwzdpze.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:08:00 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OS2PR01CA0113.jpnprd01.prod.outlook.com (2603:1096:602:1::31) To OSAPR01MB1859.jpnprd01.prod.outlook.com (2603:1096:603:2d::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6a7b3db2-1984-4b33-be80-08d6116bfc16 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB1859; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 3:IYkzhVU0BpOHPw7jaMcijO9pLdAdW546XZN6LBLnxx+MPkYdIsbB/sij7RA9oxjtno65DFZKVnCleg2gfwuAT2dNR6jBckQ3apZkiAWk7xJYk4NJjOWidcAytYdEZ6mp3sRX6WxUIbqgZtpPGw+syyLfmH8rcThNOoUYGUHMTE7HnIhpmGnjCE0ieQQKN4wadxX/Q9hxD3gRb85dG20aRHHqL16k1PmlpGHJnU1mS5r0zSY85TeExI1m44If1UwJ; 25:ufAMu60Or3vOMtWf9LKpYgjtj9lJ/185I0DX7z9SSwZErAtOKayIX4aTqFJl/bojMvoIwnOdXlCfqwlKE0ASS50/MGJePLUrHF8amq0eCu5hIIcGMfc9Y+hrCL0uriygvJKF0HAiaKFB1hNXc/CgpOgcUaPDYnHHgrJmPRp45Rc+flqJjs2zKF75fJexkNvaWqTa/JnWt68Ruuj1hEuGtAV4nFqasfpBVhpfhZ1ISQCyd/O/9+ikt7icD8oEzqEPigFVsJOE8ZtOo7JarW5XzDjttJiqmhVdowbYBLEyumlnQ/aCzUZ5WDcZYvL6/j0eyCT4wEHqjry2fMEF3A6dQw==; 31:ZccCRQBNgKBLCoiAzSR5x5boK4mL5dYuyK1RgjW4bF8r4cIK6jMu3UdV3Ikh+ORonaCyUKtzkIUwLf3Ds29DfcgLRBmv8HXWo9utJ07v/XIQ5bYgLkDRcM0hb0U4MF2pcR2KEHkzVN0PnQ/VDVFOZL0JdMur3bj2uV7B1dwhOXohmmVe7iz+St0fyhIQSBnwTL0bUzbv3sDjOADhE297ddEWT+EmqGBqY/cTis9ywQc= X-MS-TrafficTypeDiagnostic: OSAPR01MB1859: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 20:R3dFh6sTHqYc0eJUz74k5RCnp7BzNvVTQOmtgNbTwjC/Wq5qCJ2fpJEJFGj8dB3dEjugeyYgTdx2yZ4qFtjTq9Y8zduQSgfufUigGdKPsLJhe3B3erbqQSaDQNlRcPehmwnn8zH4lesnR3SiJ3QN+CnY/AVXo3USH92z1llItEGpK88LzZ8bcFfR7tV9U9oP+4mkeMzR+F2nGLPb5rn7e1F0GuXiBRwvgiO4cUzlQ58ozUemMfjLMWR1bfPgsJxeYZIKzP8w172sqgS0eFPehoE8VDremQ7dwaGwL3IUf8s+ylfYtN4LQXjQI5vQJ5vyyqSKBPS98Wun2rA+oeX9lsTE0BqPl0WUa+8gvha4y/Wam+49T8ZtVsssA/g4Vgpr9Q37hwEeR7WFcwwE0pdHB2TyZTOx8DcONZrC5bhjMK0sFB+ODUeYK0vSM7rOZnwOD8ztoc8LVl/H5csT2h8qsvHtxXkIVR1qIDmCTbZC2oJWjF/KUcV4Ue9U3CFYADlj; 4:AURcykKi0i+rk6uUhQX85qNe9SUOhkF8s6NylRY/Z1t0eZ+4aapR+sYKShNSvRAqErXEpCYvAzccyiJLCwsqKBA8+l1UI2W/aBcS37ozRHGNAjnJmErAOTWILzEr9EoCllbkgKrafnN5kUbn6TkaOfrU4tj9hncukldv6bmcbWLVtpYDssaCK9wppsLn0zhZ6Md4KfxZ1oHvys6RXai+Y0PZCj4p33zsfSuhT7mLQUgVPs0G5EV3dlMD0jdkEMttiGDxnWB4Tjora+Bi/r3btQ== 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)(823301075)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:OSAPR01MB1859; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB1859; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(376002)(346002)(136003)(366004)(39860400002)(199004)(189003)(97736004)(186003)(4326008)(16526019)(52116002)(58126008)(54906003)(16586007)(316002)(25786009)(106356001)(47776003)(53416004)(105586002)(7696005)(6486002)(66066001)(446003)(23726003)(3846002)(6116002)(53936002)(11346002)(486006)(956004)(2616005)(476003)(26005)(81156014)(8676002)(36756003)(86362001)(7736002)(478600001)(69596002)(81166006)(8936002)(68736007)(386003)(6916009)(50466002)(575784001)(305945005)(5660300001)(2906002)(76176011)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB1859; 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; OSAPR01MB1859; 23:WGulR+X1dwfpRF/g2nKoXFNNSMDFGXhHGRj5rKodo?= KsNg02KLM+lAL9n3DWxTOBqngAAG5S7nm6+YLw3uZeIMG6tTAMAqTdthINwuvOLTJFKSFsW2QmY7teb3ki6dS/8+fujrcL/tQDOOv4Q+q8O24vrl+UX/mpbOkpKLTMFvAYkpWgdaCMc0hwxyIaZY1Zzvlyu3WQKRaB9zZbl8pjAJsQ0G1OpAwwU5nyhp/G7iwqzJTtutgif61BXFzusRM41Wpfhp7Sy2aC2GLHZuvIll2d8LwPKfsQ1XGsKFanPdPQizLLztuwLr6BtJBrZjzZsCHPDedE5bVR2U99tOFrgDW0wSs4TJaX4OVXBnWIKpCnYYoxXTKvPKvwCBuiuSeRZY51SH+HvaZrL7zzePjd0aoSyww/TNdGG5Qwxo0ED8sbhd3I7D+RC4zzPqBdYMZ/E1xz9Qs70ub8itRK+f1T5hV0vm2n1pjKeoTKoa40qE/l7Lav+FdNcnesZG8f/toqOrN50P0CmEL16BgIFcIVbdP6touhI2w4YpUsprEd1Yl3IU9Q8HSVjSzxZfkfEEfCcinLqp7LsUHiGwcKfA7EBoyfduEo06cKkOqzqldjoF7ddGCjm1/GkqMHP/frQ5oKsTN69K7gc34oKCzT0/TAz+ccyYRw1BSXEZo3aEOPmTApv8LNF1d50270XZISObu2yRf6DmXLgGPsz/+qA4gdHYC4UN3REwtCEUyKfaC3wMkv+nQATWHyKmKLUo3MJJ9O+QHT3afGusc7wb6TgmwRrgDKKse0vL/Mkz6qeT8dCuQY47K0NzEwhSE6nYfS5fPKussRPPhX/3PR/LeEfJpz6J3MUl+vurIdXT0soSqmXTQb2nF6YZlmzvGAjHU49wCa3Rmwi9i84Vz/+VlNYtT4sai1ovstG8mJUxF5fcL+6tnvxmutm6pORXJ/cOTZekRni5v0pDPR0vAJ3BSibr0UfI/SW612ItBCEXIdUPerFP/W6PAnm0zmcwuszS+sgrQCntuxMI17dAqGhxi3eSD6JTYNlEr9/XBI9/KHbC7hoATGtgpOWPIWluo8E2B/bv06FKtrwzPIcDif9oRZsvCRZQc/Sxw03txWa/fq0AZigI+xGna09Z4/d6NY3YRfoJSWuhBdyFymXEnIRv7W6gibju6tzsM4itOwASiRTpww1ua+Z2S7moGFHAugpRQ72tNtegct/i4SRObH/pkjvuUpXTA== X-Microsoft-Antispam-Message-Info: z0enT7ka2UAHQwK6vboNACNNpOcG/RMC0t8ba9sr76qC0yKerNVrSgX0NobLI3HnfW00DAQreQcefPG9Om2ZYRDgz5vUAMamRycQQWUBEvYX/KvUpf2hV4eQDz3hE2AxszpTOUbtqrWIS7OKXDFafm2sRuFD/woBFEUYOwavRqWGQNocTRcbS4qeoPNELFzHLtJ/ePyn8RYAUGFRLYpYoFIHNKJIN/lEZCmaAH5h+kHNneYhE/CGZurSs/GT3tEvEs3pIPJG5V7fFYScccS6dMyPigj9alGaI+WlujaIAHUrNSSLq2KRe10ayWvuqztej54SWVK3sce7vGXdAk1z8Cu06FcJFbKiINRPC8C+q5s= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 6:EZTwIYiDBn/J53zvn/u0KhgvcjiBdaMzLCcS704Dhu3ZrIABfP8EJA2OTHxQD0NcrMwZ0B6MJfJDgBdrRKpEa6jrRNNRoXGfnEtvfPYsoungnGhVgn9xY685tY+WCUFahtY73UqMAdSIfy9SA5sZ00+4EhISrrr4KrIxbMIp8lRQBSo2juUYCwk160qeVl6SraOF7g9RgnyoxpGF55ExMjf74UoH6px7aOWv9/4I9kL+YV+smdwhqhbcqITPSZAKwWME1RVA65inw2s2qFGKZBPGef5i6A+6ivHw/IL6o8PgbKoHztJC+WIFP6nao5OV0ft8lHhNRDeSIA6wp7KakZKfwGfc/1lI5N9BAD2FdUnxnfb6cW/H1b0UhqR8fmj0FkW0z00vZeKth0FkD5sWGWV+37UpKilPKpUOfMysnBNsoQBNE2ZFwzVi4uLOAdsuy5Xn00N5Cq4IBpmbQRDE4g==; 5:++D+HDZf+Yv7hvSxET6Y0UMRUx4H9G5lvtoXd6eUNF5xuJJ2OoHPmGTAfYV10gBJsUz9Fplpk+T6kDjQcvQKn6mVDxgLH5KTQzSRRsEMmRQ79q26E2HJhWzH6ORTfWGsvTZO1L0SvQG/bUYscA882g0jtMlg2vERm5z6tC3zw48=; 7:FOd3uNinaSaUWyb/6noF+EvWdr+AZ8HzXoJzPTSMVEbhIgcdazkn1LShL+QOkhOJcObDKLsKCVr8qjNjf+vDlGegkM86XPUCNg29gjBrPukXy41Qau8fYyqOh1XalYUbYTYso/bNJ94yogSCSpYU+rJJZu9ogmlGAkvQEmksdbFlq0CFlZzgCC6e7o0PB0sEqwRfpaZG32MTSN6MxDsD8NTlLWYZ0RPiYMVn5IBDJj0zrX02DU+u8dTxvHh83k0U SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1859; 20:8WiKHIBmufnj3XrlE1N8MFhAw+ceODzYentNUYT9oH3uQ41SNXG4jY60zysyXSQIduN+nMJRKFzbt9yXYEm+vYa4uM7zN1bpzCmgFbkwtgoMFW/dvW1HRcUPlw5DNW5hiB5NPqhKa2c4nJuf5sUj732ebTbvOVlUzfd80ipibC0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:08:00.6463 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6a7b3db2-1984-4b33-be80-08d6116bfc16 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1859 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 09/13] ASoc: rsnd: dma: Calculate PDMACHCRE with consider of BUSIF 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: Jiada Wang PDMACHCR setting for SSI only considers BUSIF0 so far. But BUSIF1 ~ BUSIF7 also maybe used, in the future. This patch updates table gen2_id_table_ssiu, to also consider BUSIF number used by SSI. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [kuninori: adjust to upstreaming] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/dma.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index 73f743e..d3b1a4a 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -298,16 +298,26 @@ static struct rsnd_mod_ops rsnd_dmaen_ops = { * Audio DMAC peri peri */ static const u8 gen2_id_table_ssiu[] = { - 0x00, /* SSI00 */ - 0x04, /* SSI10 */ - 0x08, /* SSI20 */ - 0x0c, /* SSI3 */ - 0x0d, /* SSI4 */ - 0x0e, /* SSI5 */ - 0x0f, /* SSI6 */ - 0x10, /* SSI7 */ - 0x11, /* SSI8 */ - 0x12, /* SSI90 */ + /* SSI00 ~ SSI07 */ + 0x00, 0x01, 0x02, 0x03, 0x39, 0x3a, 0x3b, 0x3c, + /* SSI10 ~ SSI17 */ + 0x04, 0x05, 0x06, 0x07, 0x3d, 0x3e, 0x3f, 0x40, + /* SSI20 ~ SSI27 */ + 0x08, 0x09, 0x0a, 0x0b, 0x41, 0x42, 0x43, 0x44, + /* SSI30 ~ SSI37 */ + 0x0c, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, + /* SSI40 ~ SSI47 */ + 0x0d, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, + /* SSI5 */ + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* SSI6 */ + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* SSI7 */ + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* SSI8 */ + 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* SSI90 ~ SSI97 */ + 0x12, 0x13, 0x14, 0x15, 0x53, 0x54, 0x55, 0x56, }; static const u8 gen2_id_table_scu[] = { 0x2d, /* SCU_SRCI0 */ @@ -333,18 +343,23 @@ static u32 rsnd_dmapp_get_id(struct rsnd_dai_stream *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 = rsnd_mod_id(mod); + int id = 255; int size = 0; if (mod == ssi) { + int busif = rsnd_ssi_get_busif(io); + entry = gen2_id_table_ssiu; size = ARRAY_SIZE(gen2_id_table_ssiu); + id = (rsnd_mod_id(mod) * 8) + busif; } else if (mod == src) { entry = gen2_id_table_scu; size = ARRAY_SIZE(gen2_id_table_scu); + id = rsnd_mod_id(mod); } else if (mod == dvc) { entry = gen2_id_table_cmd; size = ARRAY_SIZE(gen2_id_table_cmd); + id = rsnd_mod_id(mod); } if ((!entry) || (size <= id)) { From patchwork Mon Sep 3 07:08:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585541 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 A50D813BB for ; Mon, 3 Sep 2018 07:08:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9915529489 for ; Mon, 3 Sep 2018 07:08:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8D5B72948E; Mon, 3 Sep 2018 07:08:33 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 9EC0A29489 for ; Mon, 3 Sep 2018 07:08:32 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 8810D267819; Mon, 3 Sep 2018 09:08:31 +0200 (CEST) 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 F40C6267827; Mon, 3 Sep 2018 09:08:28 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 8B440266E0E for ; Mon, 3 Sep 2018 09:08:25 +0200 (CEST) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:08:23 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id E70857C37D; Mon, 3 Sep 2018 16:08:23 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="291384415" Received: from mail-ty1jpn01lp0184.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.184]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:08:23 +0900 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=sAWQJjDQVfsFWVmGkD5hbX3y8+ostwwGy1D5oU4Q94k=; b=T1IvBtoGxJnHqPfaV70vn9NOT2r6VHezJbomW5c0hoQGpzFyXb1LVDjSF0FejEZyirIVBexAWrYYcab6vU9FcVKglJda9YJgTG2IpZZzi0HsXQ3j6SF6JqqojAKn9kHAHIKH7om+5Bp/2dupLemXOFPaO32uOxBIHYWD5zwEyWE= 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 TY1PR01MB1867.jpnprd01.prod.outlook.com (2603:1096:403:2::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.17; Mon, 3 Sep 2018 07:08:20 +0000 Message-ID: <87y3cjdpyv.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:08:20 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY1PR01CA0145.jpnprd01.prod.outlook.com (2603:1096:402:1::21) To TY1PR01MB1867.jpnprd01.prod.outlook.com (2603:1096:403:2::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 02439dc4-a512-4739-c8c6-08d6116c07c0 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1867; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1867; 3:u+h3uiGY+908ncTFpYVlsjqNOn8m2LKQ8hTcJxJOS4/PjHevV9TPqKrOPFyBZ2t6s1FCbTbDkHlpup2DmYC5763uDxTh4lTzjx9pPv+wAar8nZUocoqQ5mSnvBQQXVx6qncpW92CO89Da+D1fcpV7F5E9Rr2A173//OTZaAmvVHOOVVlOQm5Gm3S6Lrx59F9mG1VIfFbjsbus1q9MyGhdfkybnWzunnQtmEUkSZWasGNFRQxd+YFtfUebrxhmhlD; 25:BdIPezBQdyCKnozlzN8CNSelth/zmfn8Dkfx8Nc7te5gpJ0lT2//vXKppbT9qGi1t+A3CFpX/8zT0ehTsdyL0qj41R9tp0jhRlXIV+zmFwe1sMUde+xwUzo4iUnW0Bh9oynUGgIJ5bM9yCzw+5+s6Qf4aSr+fQYY4OvNpwEbbFzQ/e6pQhwQNEzxJhNT4VwSXUBDGRhw62bjkmm5aonj08lon2eS81HOry01U8Jp9AouxyTjqheSQbKKXToZTcnKYY5+OScU55+XvM7KwWN/Hy12BFX0Nr3o35zej7q7Zq3+afVv9mTIOqnfS1XjvtyCHM2J7j1QD+JUPFAJxkobDQ==; 31:s/GEly3+sVWtmH9H2HwyMKFHkB8rEXssd15lGAE7/zP0bhaqH2uXHaZW9kkvLhHRuHH43yR5G0FxkeRFZ2vkg36kysI6PBYPq3ZJhJH8fK0ECoUY4Z/GttVgHMnEwrJiIX+iCz2qNK9U9zIpl9Pe3/q4Vck+n+bdKN2QMVkP57mT/yZfI6IbFbX+H6WU/GO96rdALPOQ/4+dI1IDFHb8HY315HPOxZ6I311ndANg7Z8= X-MS-TrafficTypeDiagnostic: TY1PR01MB1867: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1867; 20:DaF4TVpupHs8nQ18K4U4NZQXGkFzmnY+nOz9nNhMheuAHMuPg5RVr7F6Lgu0GeLeCgGukFyPXgMYIMRycg3enqF46k6+W33hMLWK6vZx3UZeJLxROqLxw9t1PX9EVZHtcAbNMqszch920fkKepHXxTIeoxRqu8pAHIiUmQHCGYOkR4swu1RU5p9jrLp0HdhJkI6FUTh86jIsqwTw/1Mqw5ikjEVzXKs3iIyU4J+5hzxV7UbkWqhBO2Ba4w4XHSYFNsaZ2RQWk01/HQfJZyTGVwHj9NxKZvZkRszb4UVkobHXWqColQK4s9NqQcOx3O5S05XDd6B115k6i1Ovu90mJDleaLMWDrWg8rm7eCqJtd9ecX7xW8RIxALEslOvHxw4QoANyo3l4agrG4HOaS3EEMwiq/FbeUhnfqdmT+ZfVpG1EiP/i/Y5LoKvC1vn/mac4t3qqMvyxUBRcU+BFiEghAnblQjAaMYCpxBy3arnDZZUj8or2c+dcXUcSJC0kgUw; 4:nRoy874EG/ktB3UxCX07W0yfOAJ7ANc39HxqOlGdwbELrqrmIhLJyI39SdrmeYSkYGqjwsVo58EavHv34/ClEIXoGs29Mr4j6nLqXPVUAkzyyQnwnsx20wKwhY7S2AyXxMOBehvZw7zcNgDWUJOISmTm5gwhf6UszsqR06D+D+UkbNnVXp8N/+lkbxnvZKtvZiL5OePaFATnx3W9JeO9HKaDGO9ngU0wsGUMz2GSBrYzuP+G7CRv8M6m5d3bcAnIHsCFR0yCR3XxbvTj9R9wcA== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016); SRVR:TY1PR01MB1867; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1867; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(376002)(346002)(366004)(396003)(199004)(189003)(47776003)(86362001)(3846002)(4326008)(7736002)(81166006)(8936002)(36756003)(478600001)(6916009)(5660300001)(68736007)(6486002)(66066001)(6116002)(81156014)(25786009)(8676002)(305945005)(316002)(16586007)(476003)(11346002)(58126008)(7696005)(446003)(956004)(2616005)(486006)(50466002)(54906003)(52116002)(105586002)(53936002)(23726003)(2906002)(386003)(69596002)(26005)(97736004)(186003)(16526019)(76176011)(53416004)(106356001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1867; 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; TY1PR01MB1867; 23:DF1TKOBJWrJJ6haz2e8NV9Jo7Sd6cn7d7v6rCfKyL?= hJ9Ege/oub5cnx1Hzebp8LoEYPghEYwX1yKG2JOoaqr4sMcb57DIFs+Xvl5BUVIxB82h4y/yUSxNmO5jJcPz6+RoQFEbbcM7ZD1M1Xxlz6RpCnUckuvUAxAPIh/uzb55P/TKx7uC7CAy/v/mxnuOvtfxP0/DFgYfJCiEHVOanDoQ610LjFe8PXgJdNuJ87Ah6Su0eSUK6JgtbyiT28QezBL1gmbB0k1ZDMPT3JimaCJO1X//Ym+4rJRKIejripmZQ111Ny9XPucFWEQt1OpGn1YpxYbNlQ/ehh9J3V6BSXX0TPHO861qYV5TsVPOkhk9ASQ0jYtdUeSTuqeAwn60/NnFFuZVQEFG7Ml8jNb1Izeq3UpNZdkqTeZgCvDsrQxuKVwrlBjNI3HnRydsBL2qYgt94vdtVMAMrkWdI7/7AkeSplZI4RsyzjsVZEDmuxFUQRiHrxON3AI2bDPqJdqTiE6jtZoukZYmXEzBp7GVmYrzkKZERqkNBCQv2dTV6MnROyGNc8vBvgTnFiStSg4x9vCRldRtFnHIWOc9466y+JpENLjSnQ5r1+4Rg0TDuXR5s1VfGxnOGHlkWaTWX31jeE3u9M/4zn/KEpy0qMBTxRpkHX0Yxo06+i3jikLe0oFwqnGiis1Ffrum1hUVuK8kX0A5DV+pYFUYaGqUcQrO0qbWlUF2h2DNInxq3c+xc44jiQUXqUHbOOiNpnX2TPchL8P2jmZkXDpuqL7qIkRWmM70nh0Gxzy+OkAmbv6V6KzY8vSvrpjAvPeQ1V+aiGenSe4I2mW90K1/ODYgvMup+Bh1mvv/371HeFmx+2jgJK0lGNlTtu1NGbtTLBavBCgpLCQ7B5a7EgNwjI7bqDE/qVTBswI+WmPuVKqWWbNWM8FsxKgB8Zi3/DG6EjbmUX1260Cx0NBbzNIOeYaab4CN5YB/5KotROiwG6xQP4s2WAHvjEzPFzT0QhOKyLO4Yg2p4Fgf77skuY3HUpI6+w6f1WPtj1hthN/VKuvMq5pwRl9SwHKWskMwZhciNvpJ6S/ou3L7EvELD2bDH2H1PZoNqpBqKL/m2A3iF0rFo0iIr+eNKzyDoLpqEbe5e5UF+r+brtgnnNUj6JYRZzXeVEiq7rYL9udG2zwYgW88uM4cx6rgJ3/TFeihlTcm8U7nMF9MPaW X-Microsoft-Antispam-Message-Info: +Lu0yyhiokMq6mLNkrN8yTZYMvklWIckGQAYzzjMqAw/4ypqbojwiCKSnNL8c7wPZcF1WCNy3k9mpcZ5iJ2uxQ0H8FI5HJBG9/tsh0QCQKnvggq77S8fNW1ajWS9+R15fLag6+2dLffEUv56hqb50a5DAO1jke+GkB5kVZP6ognEHsq9mK6LPBLXQ8NzqWb6qyI6w7dqZl2OJB9fikUi7nfjrApQnjyVPI+1wxFaAC0StmEyREqVdvGCoL0TMG3m7LIoSPDSuroq0JJaAj9gC4r82fL47XZkPBvzppvFqF7Jj/pqBRFyVKsKBeabtSN0EiMgAM2lWYmEGv+BEA/b/15pJFABV5cgaLN3d9MvLzI= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1867; 6:wEw43yo+rafRiQxoLph8E+D0VwzQWHRUyC2dO2q8QrGeLIaUZ712LqsbZaOt6Pb8suIobaqo68X2RXgwW46zIP9wtK9NZcRmfZ76AZFAsA5ZH2cvNVrIcyUU/Pmj4YypnocDEg+OeaIqBc2jUy1aTnGSVLRSlXwVLcHTO5/RVySpG+mOQyt+pRedqkNkJNlBgXyGvFRN8y/FfupWSWexk97SWUaLHPvGu9SSQ+0HuJfR7DtTDJdlw5STUJkQSVp/qnkQh2f0xGhr534lm4pxQGnOAJ+6AZVx0wrfKEbObLeqivRAb2hqk0hc4QvZNznwUJZpSX/HOxRqwqnjBoYy6UxgQl+Tj0MCm2nPfR9/wWEphnMKWYSnqZQ5jJy+Ic7abzqaZiNBt2S0BJh54l5gJgM/rGmDyfHME43rMz+f8qKHIlGfPvYfJl4S4jtzycB9gn1eG9PTK/Geqek9ohJDLw==; 5:0NsfLdX7FzqcNjdKYiGjjGpfsMUCvCyFZ6XCNcOb8bwR8G9UjIeqtxDNujjq+Z5S13i0mJ8TMv/dbnfOMb5WwcLRxdQc7TLpEj5v8TcfJDg4w9JO/MqtPMM6Ct32TMFqZqSJV0wLZGvUR2+YD5o6/pa2piEVx8X4abeiB2rLmpE=; 7:IhAS4UWkXhTjSU6IZA5Rs72+bNa6xxVbh235EJwkGj7Sui2TZE0Vgdr7k3Etkg73UVQ0BniROTbdPpqyPU1MHBuzQH+HgZZZXuVDi7M8XUZ5i5HItibrte5pbLbtgsqLwBUJNiWhKRFIQAowvHQvTjKq4mFffEZLgKUxmuEkSZE5m3tyrMgAVMXVb4Dd2gsbGaKgQFiL1PEruV/YQPOsiE8SQ44hHOPvjM3IkNc1MfGVSXDWGqW0GroGBml27PEC SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1867; 20:MYgUMDxAbwXKRhB99BEFROcxFPRiFmjWXXq0G6bDa//iwLW2ykyXcepJgxcGnWwDXjk71V7gDyI6TptyPgvibirycJ9ZlQ0E+J+ZTRsMc9g1fYgxHE2TyN2LBH3dSCAWT30Y3ZGYBFuJC7QJuNQQ5A4dRIparbah3XSmUIREURs= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:08:20.3093 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 02439dc4-a512-4739-c8c6-08d6116c07c0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1867 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 10/13] ASoC: rsnd: ssiu: Support BUSIF other than BUSIF0 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: Jiada Wang Currently only BUSIF0 is supported by SSIU, all register setting is done only for BUSIF. Since BUSIF1 ~ BUSIF7 has been supported, so also support these BUSIF from SSIU. One note is that we can't support SSI9-4/5/6/7 so far, because its address is out of calculation rule. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/gen.c | 27 ++++++++++++++++--- sound/soc/sh/rcar/rsnd.h | 27 ++++++++++++++++--- sound/soc/sh/rcar/ssiu.c | 70 ++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 107 insertions(+), 17 deletions(-) diff --git a/sound/soc/sh/rcar/gen.c b/sound/soc/sh/rcar/gen.c index 0230301..3032869 100644 --- a/sound/soc/sh/rcar/gen.c +++ b/sound/soc/sh/rcar/gen.c @@ -219,9 +219,30 @@ static int rsnd_gen2_probe(struct rsnd_priv *priv) RSND_GEN_S_REG(HDMI1_SEL, 0x9e4), /* FIXME: it needs SSI_MODE2/3 in the future */ - RSND_GEN_M_REG(SSI_BUSIF_MODE, 0x0, 0x80), - RSND_GEN_M_REG(SSI_BUSIF_ADINR, 0x4, 0x80), - RSND_GEN_M_REG(SSI_BUSIF_DALIGN,0x8, 0x80), + RSND_GEN_M_REG(SSI_BUSIF0_MODE, 0x0, 0x80), + RSND_GEN_M_REG(SSI_BUSIF0_ADINR, 0x4, 0x80), + RSND_GEN_M_REG(SSI_BUSIF0_DALIGN, 0x8, 0x80), + RSND_GEN_M_REG(SSI_BUSIF1_MODE, 0x20, 0x80), + RSND_GEN_M_REG(SSI_BUSIF1_ADINR, 0x24, 0x80), + RSND_GEN_M_REG(SSI_BUSIF1_DALIGN, 0x28, 0x80), + RSND_GEN_M_REG(SSI_BUSIF2_MODE, 0x40, 0x80), + RSND_GEN_M_REG(SSI_BUSIF2_ADINR, 0x44, 0x80), + RSND_GEN_M_REG(SSI_BUSIF2_DALIGN, 0x48, 0x80), + RSND_GEN_M_REG(SSI_BUSIF3_MODE, 0x60, 0x80), + RSND_GEN_M_REG(SSI_BUSIF3_ADINR, 0x64, 0x80), + RSND_GEN_M_REG(SSI_BUSIF3_DALIGN, 0x68, 0x80), + RSND_GEN_M_REG(SSI_BUSIF4_MODE, 0x500, 0x80), + RSND_GEN_M_REG(SSI_BUSIF4_ADINR, 0x504, 0x80), + RSND_GEN_M_REG(SSI_BUSIF4_DALIGN, 0x508, 0x80), + RSND_GEN_M_REG(SSI_BUSIF5_MODE, 0x520, 0x80), + RSND_GEN_M_REG(SSI_BUSIF5_ADINR, 0x524, 0x80), + RSND_GEN_M_REG(SSI_BUSIF5_DALIGN, 0x528, 0x80), + RSND_GEN_M_REG(SSI_BUSIF6_MODE, 0x540, 0x80), + RSND_GEN_M_REG(SSI_BUSIF6_ADINR, 0x544, 0x80), + RSND_GEN_M_REG(SSI_BUSIF6_DALIGN, 0x548, 0x80), + RSND_GEN_M_REG(SSI_BUSIF7_MODE, 0x560, 0x80), + RSND_GEN_M_REG(SSI_BUSIF7_ADINR, 0x564, 0x80), + RSND_GEN_M_REG(SSI_BUSIF7_DALIGN, 0x568, 0x80), RSND_GEN_M_REG(SSI_MODE, 0xc, 0x80), RSND_GEN_M_REG(SSI_CTRL, 0x10, 0x80), RSND_GEN_M_REG(SSI_INT_ENABLE, 0x18, 0x80), diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index cb27a67..7ff58b0 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -156,9 +156,30 @@ enum rsnd_reg { RSND_REG_SSI_MODE2, RSND_REG_SSI_CONTROL, RSND_REG_SSI_CTRL, - RSND_REG_SSI_BUSIF_MODE, - RSND_REG_SSI_BUSIF_ADINR, - RSND_REG_SSI_BUSIF_DALIGN, + RSND_REG_SSI_BUSIF0_MODE, + RSND_REG_SSI_BUSIF0_ADINR, + RSND_REG_SSI_BUSIF0_DALIGN, + RSND_REG_SSI_BUSIF1_MODE, + RSND_REG_SSI_BUSIF1_ADINR, + RSND_REG_SSI_BUSIF1_DALIGN, + RSND_REG_SSI_BUSIF2_MODE, + RSND_REG_SSI_BUSIF2_ADINR, + RSND_REG_SSI_BUSIF2_DALIGN, + RSND_REG_SSI_BUSIF3_MODE, + RSND_REG_SSI_BUSIF3_ADINR, + RSND_REG_SSI_BUSIF3_DALIGN, + RSND_REG_SSI_BUSIF4_MODE, + RSND_REG_SSI_BUSIF4_ADINR, + RSND_REG_SSI_BUSIF4_DALIGN, + RSND_REG_SSI_BUSIF5_MODE, + RSND_REG_SSI_BUSIF5_ADINR, + RSND_REG_SSI_BUSIF5_DALIGN, + RSND_REG_SSI_BUSIF6_MODE, + RSND_REG_SSI_BUSIF6_ADINR, + RSND_REG_SSI_BUSIF6_DALIGN, + RSND_REG_SSI_BUSIF7_MODE, + RSND_REG_SSI_BUSIF7_ADINR, + RSND_REG_SSI_BUSIF7_DALIGN, RSND_REG_SSI_INT_ENABLE, RSND_REG_SSI_SYS_STATUS0, RSND_REG_SSI_SYS_STATUS1, diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 016fbf5..a9605a0 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -140,15 +140,59 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, rsnd_mod_write(mod, SSI_MODE, mode); if (rsnd_ssi_use_busif(io)) { - rsnd_mod_write(mod, SSI_BUSIF_ADINR, - rsnd_get_adinr_bit(mod, io) | - (rsnd_io_is_play(io) ? - rsnd_runtime_channel_after_ctu(io) : - rsnd_runtime_channel_original(io))); - rsnd_mod_write(mod, SSI_BUSIF_MODE, - rsnd_get_busif_shift(io, mod) | 1); - rsnd_mod_write(mod, SSI_BUSIF_DALIGN, - rsnd_get_dalign(mod, io)); + int id = rsnd_mod_id(mod); + int busif = rsnd_ssi_get_busif(io); + + /* + * FIXME + * + * We can't support SSI9-4/5/6/7, because its address is + * out of calculation rule + */ + if ((id == 9) && (busif >= 4)) { + struct device *dev = rsnd_priv_to_dev(priv); + + dev_err(dev, "This driver doesn't support SSI%d-%d, so far", + id, busif); + } + +#define RSND_WRITE_BUSIF(i) \ + rsnd_mod_write(mod, SSI_BUSIF##i##_ADINR, \ + rsnd_get_adinr_bit(mod, io) | \ + (rsnd_io_is_play(io) ? \ + rsnd_runtime_channel_after_ctu(io) : \ + rsnd_runtime_channel_original(io))); \ + rsnd_mod_write(mod, SSI_BUSIF##i##_MODE, \ + rsnd_get_busif_shift(io, mod) | 1); \ + rsnd_mod_write(mod, SSI_BUSIF##i##_DALIGN, \ + rsnd_get_dalign(mod, io)) + + switch (busif) { + case 0: + RSND_WRITE_BUSIF(0); + break; + case 1: + RSND_WRITE_BUSIF(1); + break; + case 2: + RSND_WRITE_BUSIF(2); + break; + case 3: + RSND_WRITE_BUSIF(3); + break; + case 4: + RSND_WRITE_BUSIF(4); + break; + case 5: + RSND_WRITE_BUSIF(5); + break; + case 6: + RSND_WRITE_BUSIF(6); + break; + case 7: + RSND_WRITE_BUSIF(7); + break; + } } if (hdmi) { @@ -194,10 +238,12 @@ 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); + if (!rsnd_ssi_use_busif(io)) return 0; - rsnd_mod_write(mod, SSI_CTRL, 0x1); + rsnd_mod_bset(mod, SSI_CTRL, 1 << (busif * 4), 1 << (busif * 4)); if (rsnd_ssi_multi_slaves_runtime(io)) rsnd_mod_write(mod, SSI_CONTROL, 0x1); @@ -209,10 +255,12 @@ static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { + int busif = rsnd_ssi_get_busif(io); + if (!rsnd_ssi_use_busif(io)) return 0; - rsnd_mod_write(mod, SSI_CTRL, 0); + rsnd_mod_bset(mod, SSI_CTRL, 1 << (busif * 4), 0); if (rsnd_ssi_multi_slaves_runtime(io)) rsnd_mod_write(mod, SSI_CONTROL, 0); From patchwork Mon Sep 3 07:08:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585543 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 AF1E7139B for ; Mon, 3 Sep 2018 07:08:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A25A929484 for ; Mon, 3 Sep 2018 07:08:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9680829489; Mon, 3 Sep 2018 07:08:50 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 173F329488 for ; Mon, 3 Sep 2018 07:08:49 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id F1AF9267889; Mon, 3 Sep 2018 09:08:47 +0200 (CEST) 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 5CD3F26788B; Mon, 3 Sep 2018 09:08:45 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 8CA5E267889 for ; Mon, 3 Sep 2018 09:08:42 +0200 (CEST) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:08:41 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id F278975E10; Mon, 3 Sep 2018 16:08:40 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829249" Received: from mail-ty1jpn01lp0178.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.178]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:08:40 +0900 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=poMpWncJjJjKthwThdtLOJxh9eceqX1RlD7a9MzRlLI=; b=GHhl8/b8XMd81FHpoA5wFLR/s8B4e47kkkSXIT290oqS0I1ZuM1aGS8z7tqQWIFmShf6hWNU0BpTuQEuCmpErU0PmMl26cdNp7oj7cvOHjPQIb2Vv46uVvYvBEk9RlR697U21m0YHXP5XCE/GQzAUAIaUI1269TngJGr9SdPV+4= 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 TY1PR01MB1866.jpnprd01.prod.outlook.com (2603:1096:403:2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:08:37 +0000 Message-ID: <87wos3dpye.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:08:37 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: OSAPR01CA0189.jpnprd01.prod.outlook.com (2603:1096:604:c::33) To TY1PR01MB1866.jpnprd01.prod.outlook.com (2603:1096:403:2::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba4b872f-4dfb-4d72-c419-08d6116c124f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1866; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1866; 3:/nD6EX9wIDlYjxu3XLGMiWQ6uIhkz+1vEtNPY6q52jqNix3uOGsP2C3gGztW3CrSBs0eqI/My9g7eiX9SxheuJMoS1BEwkyR0dFglt10NTgXG+lB7tepD6hIIPZAyWtHSNzGlNak+qC85Kqa0HeMY/FhQBUqr86e+z8rEXOmRCivudiG5ARlOz6O3yDukrcRI7MKo2P1yDB1O+bx3suH1IK8z84bdx3hEhNz1BEIWPewqHllt6T1ryd/wFatOyAx; 25:HpiWPeEDmCXBAttdQqIYyIsyVm5P/4hd7Pv5bCJAx9TI3fHGoDwbxUeckDk9rMfXFqKIZiEcUngHS4aiwEXOqqyvz424713XMFGdkYZnl1B+8f4DDou0hran4lSlOx/3HNWQV0imhqe4bCihYg6MErgCgqlGQl8XFdatY/AxYyQG57PCjU+DUh9ZD/JW2Wt+3w9K2NSJ9mgR5YPa6vDbCzA7q+CGsgyxSh+3RXZ1ieSLCIRB8MTOJsAx8jyLAH50vjZeHjc6BS3aSLD/ML6bffBYmckqAtqQfwU9X6bkbi5vJDvHhHPjsx11PM6QMYGmAc1Aq3lf2u1k4fYBuzhBcA==; 31:ngdL8ZlVb+eMTHkhUC0YXU6GYyOrH7BCDfeBoEd0dr/2ZgIbpvt8RIcotBmYCtC3tYUgU3adoqywO32sKKJ4+cVSN1iVgJ6l29bsIeckVHD/GlcahRNo1YnDQrOYxOGVZsZaL65/a20IWQyCy7JwQ0EjFXAe6rCM/G+rOK4449q84L226ALwiNF3wtoZ88niwOzTTTbKfgY2wo86RgIcHxA1QnNxDdQXyudj8W8DWEs= X-MS-TrafficTypeDiagnostic: TY1PR01MB1866: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1866; 20:Ge6q8VAyChRccxP855yijxYuoh9snblwZ6blaT6jOTIyemzXbRp1ML1+N3KdIfIeMWpCC9oCVS3ZH2CW2Rj37enwHt18r/D5O3Maltp3qYx1mIvMHx6QEL9NEHrcO/VB4fKscCPfrwgFGtSXgM9+I1mnCTBoUKxQcTI0KRpM6yhKtmUKynjrc5Yr5vSgyFAxkvDWkfGx7Z/084Pg5C1uUlmOATnJ5InBOau/HoWJKWB3zPk9/6UcZOGkwVXqn57BKEbbJNx9ggs/D7ye3DrbP5PKPV7fOehGlNSUQpjf511uQeUOsHh/6SqfnkrM+0RmfeN3+s6N2OX0e8hC0yRGqpxoj7e42Md9/w3QkDixCE9nc4c1xYfh8bdRccXpOrZ4xGIalL31//iw2ce0XP0RM9uDvwDohwXnkbXxn3rbVTzJvs97gnXWWigUipbt3DEnGp63ldkKs3Mx5lldj61ArtO5TsJzFQ9gRm0F4fUFrBY4ko/ktXy5oPfPXG0rV+wI; 4:Pzgs2xKjTnDg7MafBurv8vgVYrTYFGyuYZglZZveciYGJgQuO/U/wUkdNPPXH48GNiB/TeurnBRY5hBChVSwh0RwxvkIY8rXDmny26mAhzAfBkUeIHzFzcgaOm14AWWC+AY7QhPDktJ9xo4GyhiD6frtEO67GDvOiwrJoqOD0S+XSWiRMq5YFYuin1wWsdIEfNWXNUXIimoLYUEQZFztS4IElfhdwghzp/Tm2le0ACAgCxsD2naReEVHqMlgfnqgwtqRMSGPWMNzd7prQbdXXg== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016); SRVR:TY1PR01MB1866; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1866; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(366004)(396003)(376002)(346002)(39860400002)(189003)(199004)(53416004)(81156014)(66066001)(7736002)(76176011)(53936002)(23726003)(186003)(446003)(86362001)(11346002)(386003)(2616005)(956004)(50466002)(305945005)(26005)(6116002)(3846002)(16526019)(5024004)(2906002)(14444005)(476003)(106356001)(105586002)(68736007)(25786009)(6916009)(36756003)(81166006)(97736004)(486006)(4326008)(8936002)(54906003)(316002)(16586007)(7696005)(52116002)(47776003)(8676002)(69596002)(478600001)(58126008)(5660300001)(6486002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1866; 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; TY1PR01MB1866; 23:JfM8qj1uucd+srUwmCfsNgKXJuq7vVnsyay436Ywq?= ojiUaOtgOEFHCx66CO6U4CP9WehoK2RG+hLbEHiou7LC5880360IHMi2qGZQbt1EJe5jeXo+zKVSMeewLQTsvp+7QuuzhHqNFjSF8UI5jhQh3Njhe1Ouqo2QSsQ3hDLOIBHUg6Aezp60eiSGoJeZqK/I05WpEUwYD+qT1zLPJ1DNALtO8iDA0I2GGAI4YsHp2Hc0aAxaSpSvKSTVMbmzX6HLRVySYxMeM8QLOkwMkGDAh6tGZ/1jIjNaBpAz6cPkjVHpmIGm/vwTyHpPlnwamoBHMUGw8FCDJsv4XAz7w6w26vaXlGwQHRY6WB6rPsWgijOQLRAcKwb5jx+bA6I+wCqJXGS8JeZu1a37KK5Qbz2NwdSgX6j5ioXb+yav1FxtiMqBxu/SnoAYbp0wngi8Lyejkk/wO5V9/avFa0htkx2+WpmZW1grfucXNiN3tQJNW4KsP3tNvQyHymEZB/AoL5mt9MSfYp74IZkWhprTS+7BXQdwYso2MPNEQ1sXUBchAhh+0sxEkdjcG3oyuk9MhyhnkkAuuZFP6/4nLyK/hN82BxwIzdTOkJ1iWVAeWf6rPge1ftny31iTo2rkIGjvuAfoCilIRSuo/ekt0gFF7aLPY4rbBSNPLlIDBeb2NftgePZ/bejiEUCpKAdpNrLwVNzFX1RsC/XduijREyIA2ccXvzyZ+NDWQKdkwpJ9nVM5rZVfBpM0KlStkjkvkvLHdCrUFhEqkT+OHZfQNLRkw3F40nYheOfTUSS6LsTd/7UrE3mWBz2VIdeylnz7reSYmwNKgcB6kKk1J4w6578iNKv6DjB2d+nsAOVKzlOK7eefEtTPE/8X8y1Se4Tl5XiBQU3R8jsJKJ1RtWTOIyOhdhbeoulpZe13jHdVt2t8X4kuc9NcfiKe8D8BZRtoYg6+FBR1tvcDIf/Cte6AsBjxUnw/A0rk2r2FoHae1fAOLOSXyZyKabQ2+QHIfqv211sA3uJk6X82rZ0CPFEafFGJ2b05k7rdnRYgW2jGWYqbIcCS4FXtlm7mwvKyjs5F9RIMLGavPz5DtEWpPVVBAkVeWzPgXh+VuH6bmPwkxiffYtrxlv8SaGLm91py0WQHUzteKaoKKvh7AsgRYA0DTrGKWAcm64qGLaUAMF5hMgkxaHqGTen2VpC5GVRFCMDI7VjKP4Zb8yhdKfrAUxqyH4sWuugvQ== X-Microsoft-Antispam-Message-Info: PBAkVp4gnbgjOIbmz1NW6u7/bApaNwsBG4fbJeZu0uY5ULQ9yGRom7GDss8JnH5wi0GLCjps/BwnbL+Nt7lgcQCoUSYmcFZJq34zEBvF+zPkptZcAob03p09rEKxe49Pydms76drUv5fOICbNV0sEEFCb5jnbSW4+B3m5aZcwYea8D3V++g3YMV/hflzjTTbvA+rieARLHhg5B0DqoyeKtCYWf03GsRLQ5N3jew341pGSNwlyv+BsEillDkisgrHEVQz9DqLeHwOTWhNfislkQnqkYPRmLOA17p/+kW0uy7JySbkYSzqCOPQqGPtd6U7IknI8e9wgJkSdYUY3VvqJNhi/8FNQrIi8AHmuTVgnzo= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1866; 6:m6U6+E7s9RjRprHLXSsQS8lgIvZR7hyCEuSCOZCmmvqb/UC8A7MeIu/C1aTpk4XvE9WkExsKBb6IEV7/GblcHSSBDGHYFK14il+2KKyU9SExlsmjO7I1BP1lE8nIC2UBqSQIfET4fbUtkEUrh7or1OYn1Dvaprbdrm3o455grqXxZPUL0vyZG1HXUXT0dqLpetcXfDIjBIou8+Kh+vSx8dxAIM9hgEieVdJgpnU4+HuCQsl2aifUKLD6jDUInDkr+sYaUBnAh7UiQ7hajKaJqgG5iKQR6Jrw46rmVSzpYe9htPlGoiMMeReg/NT7qAGwZvclZgLLov0kSZ8z+W5K9yjq52fRS03cfQusT/YCYbRut65xgZzom8KG7tPRvc5Zhje4TzyeWQ5izp1ltDVM7K6FSCbVWMZMZXpO2Fx/Bt/HEX0JKVfj3bbz78W4eX4dmE9rZly1Pz75WQ/o6dHOTQ==; 5:8hSp1gCiDhjGntOnEbyRZB5dw/lCIMfRQByDHi9o1gJ9pLDRRd7le+unT1plEtA6Pn8wXdyaY9zqrv63+gV8/FvMPuy2/bD+fNG22cyld6OwEym4ARRULHOwStOrqV+3fZHESoqOmkYlFDh7NhBpiQjBEaE8MUO+ZndsIHgRB+M=; 7:JNhX6VV2H4zh2E5iEMedaQQl6NVUressa6klhpe3aNUhzQ1MKG6oNA3z2LddAK8eAv4o7Axss+5Analwo85TyfHletvI1q33V6hRa6vkS36ZD34jg/syBfx2fb9sb8Daepwpg5O6q8a8epZfY8NO2ZNbcJs1s7uvPqJ04ecbj2hMZsMsBpxTStLQ9NB7lHMueXZ0W9GA5bJYTA1CF+m89m8VsezHVt7gF7SLYlEiMxdWNgzKyrognmGmf3VPmQyp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1866; 20:EXVIXPUz/QLTT33TjmvJOeryMZCIUzwR3fKF+1nesuMvcjdn1RauM4JAnHIbmjlx/cNhao0ZIKvdOKDrG7Me2Zx5smDeuBD4yiUowfIPa8uZjlvf+WxcrfYpzasQqX0WMVmCZILWv5e8lAIM7me6PInzHaR1eD1u4tBldBsC6hE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:08:37.8673 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ba4b872f-4dfb-4d72-c419-08d6116c124f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1866 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 11/13] ASoC: rsnd: ssiu: Support to init different BUSIF instance 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: Jiada Wang Currently ssiu's .init is only called once during audio stream. But SSIU with different BUSIF, shall be initialized each time, even they are used in the same audio stream. This patch introduces ssiu_status for BUSIF0 to BUSIF7 in rsnd_ssiu, to make sure same .init for different BUSIF can always be executed. To avoid the first stopped stream to stop the whole SSIU, which may still has other BUSIF instance running, use usrcnt to count the usage of SSIU, only the last user of SSIU can stop the whole SSIU. Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/ssiu.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index a9605a0..39b6764 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -10,9 +10,12 @@ struct rsnd_ssiu { struct rsnd_mod mod; + u32 busif_status[8]; /* for BUSIF0 - BUSIF7 */ + unsigned int usrcnt; }; #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) \ for (i = 0; \ (i < rsnd_ssiu_nr(priv)) && \ @@ -120,6 +123,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { + struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); int hdmi = rsnd_ssi_hdmi_port(io); int ret; u32 mode = 0; @@ -128,6 +132,8 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, if (ret < 0) return ret; + ssiu->usrcnt++; + if (rsnd_runtime_is_ssi_tdm(io)) { /* * TDM Extend Mode @@ -255,6 +261,7 @@ static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { + struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); int busif = rsnd_ssi_get_busif(io); if (!rsnd_ssi_use_busif(io)) @@ -262,6 +269,9 @@ static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod, rsnd_mod_bset(mod, SSI_CTRL, 1 << (busif * 4), 0); + if (--ssiu->usrcnt) + return 0; + if (rsnd_ssi_multi_slaves_runtime(io)) rsnd_mod_write(mod, SSI_CONTROL, 0); @@ -294,6 +304,16 @@ int rsnd_ssiu_attach(struct rsnd_dai_stream *io, return rsnd_dai_connect(mod, io, mod->type); } +static u32 *rsnd_ssiu_get_status(struct rsnd_dai_stream *io, + struct rsnd_mod *mod, + enum rsnd_mod_type type) +{ + struct rsnd_ssiu *ssiu = rsnd_mod_to_ssiu(mod); + int busif = rsnd_ssi_get_busif(io); + + return &ssiu->busif_status[busif]; +} + int rsnd_ssiu_probe(struct rsnd_priv *priv) { struct device *dev = rsnd_priv_to_dev(priv); @@ -317,7 +337,7 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv) for_each_rsnd_ssiu(ssiu, priv, i) { ret = rsnd_mod_init(priv, rsnd_mod_get(ssiu), - ops, NULL, rsnd_mod_get_status, + ops, NULL, rsnd_ssiu_get_status, RSND_MOD_SSIU, i); if (ret) return ret; From patchwork Mon Sep 3 07:08: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: 10585545 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 17F67139B for ; Mon, 3 Sep 2018 07:09:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 09C6E29484 for ; Mon, 3 Sep 2018 07:09:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EF98529489; Mon, 3 Sep 2018 07:09:09 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 F269829484 for ; Mon, 3 Sep 2018 07:09:08 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id CDDFD26784E; Mon, 3 Sep 2018 09:09:07 +0200 (CEST) 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 E09C626788B; Mon, 3 Sep 2018 09:09:05 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id CD923266E0E for ; Mon, 3 Sep 2018 09:09:02 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie3.idc.renesas.com with ESMTP; 03 Sep 2018 16:09:01 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 222CA716C8; Mon, 3 Sep 2018 16:09:01 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829278" Received: from mail-os2jpn01lp0151.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.151]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2018 16:09:00 +0900 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=afLQ/QhEtDOc/CuxF9CjKI4avBPNqeqMCh+PKZbAKqE=; b=bknQw2GPDbAV42xqf6uh/hSoT67NQ7EYcj7sH4QOS2ed/yEVRb5HNO9If/N4WTCGOeM4ghl5Ixnon5yucxLf7zSfuw0JG5MVRzsHnJwLEcStINHnCfkGygfsII0iUYbLY3p7cXcEZFzKIaNCcL2ok4kC7TIAiyLJtmfKbMiiIbA= 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 TY1PR01MB1868.jpnprd01.prod.outlook.com (2603:1096:403:8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:08:58 +0000 Message-ID: <87va7ndpxu.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:08:58 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY1PR01CA0164.jpnprd01.prod.outlook.com (2603:1096:402::16) To TY1PR01MB1868.jpnprd01.prod.outlook.com (2603:1096:403:8::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 60bd6de8-b3ad-49b6-445c-08d6116c1eae X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:TY1PR01MB1868; X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1868; 3:W1ghKLjZIqpXdWSEW2iH8WAVMGOwertr1ghih3JgG6OS5RPBrLD/ZMW0ofJEI2oo+y9DRqSLLOJyqxqQnlqXV3XPb6pLH5Sf9x7/dbWn7X5fmfhHbse87iaDpuf8Xa3KEfNdP/d3Z7ZnjUo1IR8vVFa6vHfGdpABPfqWDQOLygVNf8O/p42C0X3nc6fLkRtLmlw2nZuO13eZXMXoERG5NxsISBsSeJodV/5pETmEB2fuCjFTIUxebO5sfhwzZJt0; 25:UjVZA4KbOorsEP73QNjcGVtsCsaosSg6Nx1P602nb05xy1jDzdUMtKEd2xnYU5gmyoCP2x9n073BGJuHb2/D65QYVvdyC8fNaMQM89Kcj58yLmSL6JA7XFLPeFk4o6T9yDATYSVLBrxwI4V9sS0ggmmoqMpStmO/KSahlX44ufx7l7gd3DVogfv3Hr73WAP1iOQ/28QWYHPsEOtrKQ3e0yjgW19uzdVY5ptc8ikDNB/Jf620k0m6FuNoKDiJyFiakkDUiGsl6ah2A9bFGjg+6qualP+dQF7CT0q9RybuEkfMYk+3sDt0yP0vavJ3s5vPO0wEC1fwPw7E62SJRIkA4w==; 31:CTsImFaOeEkxHxyQhFXQXZmLTwr2v+bYaE5UkoyUUZE+xqK75PETWvXD1RvP1pxNqbVRmeqpljgnBFCAV67/SVZrYds9VM6ymgyfjB6Xd97/ex3GNTj17vE3Xsj3I0XLH3q3uV/5u0uiAx+XizX0MmsSnShDYhbrWn8KhsQcAlylL+G8V0o0KfP74r/9AGciR1GA5G/5toTFZPJNleyj91Y3YxEI3UtvTxCFlu38afM= X-MS-TrafficTypeDiagnostic: TY1PR01MB1868: X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1868; 20:/j2zSaB6ElpMNgbwKTXsjo29pCb4OTYrbwuZiG33xHyeYdxL2WhEtrc/n48mY+rIKoFHX9BeJAbVaOH2KFkJ5sAaOdVXQGsNWzIejriNGIcYlXWGbBw3uLbaFQy/nt3OnROAmyFyR8gSCqoLz7Q18kgIXFzprfxRqFxjgynQsY8lATVyHCpOmjRuLpMD4IwWCj//wwZxhNT/wlgasacrM0EFUjEQ1KtKUH9gfbgkT/PpMrSiCtldS1kPf7HKBel+Oxj9QeOeyFkyD8iF6NNBIt6055DZPu7/NVW2rcaefLaOzl7kbdC2gdBSLzN2NqJNZgEAJi+5tAWid4RLiCVz//Ngglo1mgCrAQBll39MGDAtofLepmYJwFjpTVAQp+7ieZ9lg/Y//9L98sL1GWs5LJ9EX+pwYzIwzQfzU/CfKcWYTOSBBSmlfoOUxQoM45jmb2A3cboiOMuJO3scdkrTM5tzjEXvL4wng7kcnlsH2z4chXW38VProu8YgBVeF4mG; 4:hV5ZtIkKQyKW4F+MF0Glx5t897hCNv6D5aR8gfsnNtbkFXxET1bu9783ZOY7m65GHCn0zJXaloEf4BQp0FYTLSl8tEUxhE3Y8zx+w/is9VowrwL/ptHRQTi4B3qx9C+kboTS0ajlEjsaQcwKvPwOFQRt2+dVWaeKFS9CFiisDEoiF4B1Od46F6Vrhb+F9LNDKIqsymE46gyQ0oKLmapWBlmyqEVZa3XVdST85JQLq+h/1fHIvtfpHy9dgU3Gx8HdmZWBTRG3t4BGzblVLBe5dw== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016); SRVR:TY1PR01MB1868; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB1868; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(39860400002)(346002)(366004)(136003)(396003)(199004)(189003)(3846002)(14444005)(6116002)(52116002)(7696005)(16526019)(76176011)(25786009)(23726003)(69596002)(186003)(81166006)(81156014)(575784001)(86362001)(11346002)(446003)(2906002)(956004)(106356001)(53416004)(486006)(6486002)(4326008)(105586002)(50466002)(476003)(2616005)(7736002)(386003)(58126008)(316002)(54906003)(16586007)(305945005)(6916009)(97736004)(66066001)(47776003)(36756003)(53936002)(8936002)(26005)(8676002)(478600001)(68736007)(5660300001)(21314002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:TY1PR01MB1868; 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; TY1PR01MB1868; 23:ca2Fq0UWuBGGy2hxV+iN6v5/yiM7HrKNrPqV1Wad1?= 2oa+PbBvLSC25y8VhBwDJvREx9o2X6NqbHxyl4V3H7bJZYEI3tSwl4xS3iPYswjWJJsijQviYQXs1Mk16YqnuJpYEGKoe2M+FTSf/MKEhLmMspLPFJPZq46PQusNkIxYwF0ae392JbD6klHbMYiwY6o9f1aaUDsOWN+osr9V1pCDN5EZ6ScDVYRK6GlPcgi/1YnTI7JRWrKw+BkBhP7ZK+7j1og6xQ5Se/0JmKqyTKCZZGUrb/8Z/mKE169jxL4hm8oNHz1qF1//4/K//BF2J9/f3RDrC43gRhGURw1HOkDivN2Tx01f0cVzxv3dbAtekCEH1OaSOQQsCLikhViLz3Odp1iCdZTGiOtMhjTnm+d0rJrqZl1vEB78/fMQXuEc3x5nW8KbQ5M9tHt7AQhdq28Mouf1JOaRoDI0r6/uKET8Ckw3O6GmXCeEywDGDZ3So/sURtQC53bVFKmg/z/CfDWMx2H2CYmDKhqlx1N3pqxp0kJfY/ZpyHlcVTpermaXNx0JAmr2HRR6lLl0VyK+nn2PKv5f4irjM6Hb8uTS39jmU+svFbJn+LX0fd0h7vf2IiAvs7y8WHX4ySdp842Qs3FLqY1jDXKOQ6ZfN4sETXvfjcKw05jjvf8OqATXlGKstL3cyjosLGEtvUI04bfMq+bxlWT3gJDeobxr/7yiG/jA2E3DE95cHZy4SAjis0yDeAgZwec+dJQlG8663WH7ScgfckhgAudYdoz+3In0uawb/FhH0gh/PBEToocyxCQ3dL7NH5YR0p0C3a1hRr9I17fQ2EhvqnZN58unBUrXdsuVS3NFtGjwoFrVMNfHf+gq1/ohIMfudY8h+FP47l7OwZlzN+W99IY+ejjC8YccyhSkRoMuKucIvc0n3br+xIfwxaFpI3DVmKyQPTqTi2hjKrlxav5fFnIp+8IIOSQrL8xlBj8EHfiMnLpOHjQQ4RccHhSeg+3/xjFKGINShOjoZjNxFDiLCmn+M394QwNCej/Jj2sg/xgtxaNQKhkJGzmealrhbujSplvOfr+u3y4MqGojH302vWgd3NweGfEXCXP5ly0jWuD1r8mfbxJu8Ci3qNy85F/w7+I5WSQeuN0hfuqQG1Z/jhUr52DyFgi9a21mhjBBIjNjfwZs3/0PyFSlN8pJAY5b2NMjvbebi9lpLB0m3GixsNqpS3RYBYzmDqxgGJ80OPiPoVvqAkX0Zu1pUiBsk6FLkQJa3MCTAPw1HuR X-Microsoft-Antispam-Message-Info: 6XDCc5hmnlmEGCXsxH1NGBM+H/NaRz9bLkyziTrlqAxfW/VIhCwPtOL9n5xkdNLshb33ODTZHPwOqV2/+VYTEt70p92wbipjNkLDAr13ZrQ9NGSIa38sAzMZgQF3rxosC/4cRS6/y2TXjCh7PLJlDjY3yEzx1WcFptGgl1RooidFgAalcNkx8PhLo7nGjRftGU4ypKbzaPEuVJHBCYBtc5dHqF7aDEPHdWAI+n+HTdguwJs3vLAxXrpwTfkteZaZa52BjG/rXiz6uCN4Iv3KCnFkUbfsdl2r2oZOSy5GFp5WwCz8/tyK0hqofKNNwq3EJCcOAMyp4+3yI43M6m5KCx5nQ5a8/eoyjJoP2VIFqcE= X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1868; 6:XOyYi0fkL/vcjEj6xytX61AvkrqPm5Jri9u4qOyA1t0Sbl1r1Uq5FT8R6PAiUkydA67Ibby9Iu29b8Y0UnqtdLmF+OplQsZbdMBv5AxIGDUk7y4Hud1CyGBqz8BrIaBZI0rfn+o5zuFZtRMEKx1HIpT8+uJElDq0q3YI4/3f3bz7P8yP3y5svkzgE38HunXDPmVCv0SZB3zQrc5pKEUcrbQY46yYWmzW/0ifz8MEAp7LxvhAUccR905fAzrC4ZLMG1IwF6rVxXsVPMR/od66+jkxB3ZqvANxCS4EqcszKZ0+ANHRJLveyhKJLao1hMLgYWI9OrnGQsm7zDG06OYKXABsfuApK6kvqMHTVFw/E9zT3MOw3UuqunG8Sq6vAz/0Ny1xML0xhGF3wB58JP7hTuN1F18vD/YjaIH1t7J1YZKc6RdXPARJYIt6JQVdRLyAI9NUsNL44NajNPuBkLKpEw==; 5:JTR9vUv0MVJRjoH6U0oINpvXKXDkDculpHNeICbhAjg9A4Di27qBWyRD6nug7rI6W4DxsH8xWGnE6r/ZPFMIcvd3NMjdxCpJBPGV6mDz5oxFXVcCsJtnfM/n+0MB5Nr3bNsXG2qwlcCCmOQygLfWU/4WKsYtrJrqlbUSfU+mhUc=; 7:7VZ/QtZcvHGH2qxOp+4P+0eZy3Mte5TKt37Fa/Np17cw8fVP5oTMWGrpo1qn0h9y6bGADOgMKeYtgdvVK838gAFsUSzlQO43Qq/49GCH451fO0g1goR5kxzumGMD+U3fXlEEeIVgPRNY+6+0M2KF0IyK5qKRpeN/d3xsuW9RKIdao/b/cUJ1GvIpourfellvVHD7seJHp+NnDjoH1I24l3tgwF8ogHPHSM1a8PbKvg8Oni+BIwUd0jtYR2HqnjTV SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; TY1PR01MB1868; 20:GFLWm5Z6VCGMijw8+0P7bT6ZWPiD/6f4m+3yJqZzV6/LmHAzwLgnJSp6WeMUGIoq1JfF4+Oa1Ohjjvw4TFRyYhDxpvhAcSbewjuaDWE743WHr/x6ZFr8pN6OwBGuRvoZKyktAyCiADsKUxDCGAAkjxsCiiIJmTnWQnL9XssUmTw= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:08:58.7756 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60bd6de8-b3ad-49b6-445c-08d6116c1eae X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB1868 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 12/13] ASoC: rsnd: fixup not to call clk_get/set under non-atomic 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: Jiada Wang Clocking operations clk_get/set_rate, are non-atomic, they shouldn't be called in soc_pcm_trigger() which is atomic. Following issue was found due to execution of clk_get_rate() causes sleep in soc_pcm_trigger(), which shouldn't be blocked. We can reproduce this issue by following > enable CONFIG_DEBUG_ATOMIC_SLEEP=y > compile, and boot > mount -t debugfs none /sys/kernel/debug > while true; do cat /sys/kernel/debug/clk/clk_summary > /dev/null; done & > while true; do aplay xxx; done This patch adds support to .prepare callback, and moves non-atomic clocking operations to it. As .prepare is non-atomic, it is always called before trigger_start/trigger_stop. BUG: sleeping function called from invalid context at kernel/locking/mutex.c:620 in_atomic(): 1, irqs_disabled(): 128, pid: 2242, name: aplay INFO: lockdep is turned off. irq event stamp: 5964 hardirqs last enabled at (5963): [] mutex_lock_nested+0x6e8/0x6f0 hardirqs last disabled at (5964): [] _raw_spin_lock_irqsave+0x24/0x68 softirqs last enabled at (5502): [] __do_softirq+0x560/0x10c0 softirqs last disabled at (5495): [] irq_exit+0x160/0x25c Preemption disabled at:[ 62.904063] [] snd_pcm_stream_lock+0xb4/0xc0 CPU: 2 PID: 2242 Comm: aplay Tainted: G B C 4.9.54+ #186 Hardware name: Renesas Salvator-X board based on r8a7795 (DT) Call trace: [] dump_backtrace+0x0/0x37c [] show_stack+0x14/0x1c [] dump_stack+0xfc/0x154 [] ___might_sleep+0x57c/0x58c [] __might_sleep+0x208/0x21c [] mutex_lock_nested+0xb4/0x6f0 [] clk_prepare_lock+0xb0/0x184 [] clk_core_get_rate+0x14/0x54 [] clk_get_rate+0x20/0x34 [] rsnd_adg_ssi_clk_try_start+0x158/0x4f8 [snd_soc_rcar] [] rsnd_ssi_init+0x668/0x7a0 [snd_soc_rcar] [] rsnd_soc_dai_trigger+0x4bc/0xcf8 [snd_soc_rcar] [] soc_pcm_trigger+0x2a4/0x2d4 Fixes: e7d850dd10f4 ("ASoC: rsnd: use mod base common method on SSI-parent") Signed-off-by: Jiada Wang Signed-off-by: Timo Wischer [Kuninori: tidyup for upstream] Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 11 +++++++++++ sound/soc/sh/rcar/rsnd.h | 7 +++++++ sound/soc/sh/rcar/ssi.c | 16 ++++++++++------ 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index c66b3da..299fb45 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -955,12 +955,23 @@ static void rsnd_soc_dai_shutdown(struct snd_pcm_substream *substream, rsnd_dai_stream_quit(io); } +static int rsnd_soc_dai_prepare(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai) +{ + struct rsnd_priv *priv = rsnd_dai_to_priv(dai); + struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); + struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream); + + return rsnd_dai_call(prepare, io, priv); +} + static const struct snd_soc_dai_ops rsnd_soc_dai_ops = { .startup = rsnd_soc_dai_startup, .shutdown = rsnd_soc_dai_shutdown, .trigger = rsnd_soc_dai_trigger, .set_fmt = rsnd_soc_dai_set_fmt, .set_tdm_slot = rsnd_soc_set_dai_tdm_slot, + .prepare = rsnd_soc_dai_prepare, }; 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 7ff58b0..7a04b19 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -301,6 +301,9 @@ struct rsnd_mod_ops { int (*nolock_stop)(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv); + int (*prepare)(struct rsnd_mod *mod, + struct rsnd_dai_stream *io, + struct rsnd_priv *priv); }; struct rsnd_dai_stream; @@ -330,6 +333,7 @@ struct rsnd_mod { * H 0: fallback * H 0: hw_params * H 0: pointer + * H 0: prepare */ #define __rsnd_mod_shift_nolock_start 0 #define __rsnd_mod_shift_nolock_stop 0 @@ -344,6 +348,7 @@ struct rsnd_mod { #define __rsnd_mod_shift_fallback 28 /* always called */ #define __rsnd_mod_shift_hw_params 28 /* always called */ #define __rsnd_mod_shift_pointer 28 /* always called */ +#define __rsnd_mod_shift_prepare 28 /* always called */ #define __rsnd_mod_add_probe 0 #define __rsnd_mod_add_remove 0 @@ -358,6 +363,7 @@ struct rsnd_mod { #define __rsnd_mod_add_fallback 0 #define __rsnd_mod_add_hw_params 0 #define __rsnd_mod_add_pointer 0 +#define __rsnd_mod_add_prepare 0 #define __rsnd_mod_call_probe 0 #define __rsnd_mod_call_remove 0 @@ -372,6 +378,7 @@ struct rsnd_mod { #define __rsnd_mod_call_pointer 0 #define __rsnd_mod_call_nolock_start 0 #define __rsnd_mod_call_nolock_stop 1 +#define __rsnd_mod_call_prepare 0 #define rsnd_mod_to_priv(mod) ((mod)->priv) #define rsnd_mod_name(mod) ((mod)->ops->name) diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 85da4fc..3adcc4f 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -306,7 +306,7 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod, if (rsnd_ssi_is_multi_slave(mod, io)) return 0; - if (ssi->usrcnt > 1) { + if (ssi->rate) { if (ssi->rate != rate) { dev_err(dev, "SSI parent/child should use same rate\n"); return -EINVAL; @@ -464,7 +464,6 @@ static int rsnd_ssi_init(struct rsnd_mod *mod, struct rsnd_priv *priv) { struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); - int ret; if (!rsnd_ssi_is_run_mods(mod, io)) return 0; @@ -473,10 +472,6 @@ static int rsnd_ssi_init(struct rsnd_mod *mod, rsnd_mod_power_on(mod); - ret = rsnd_ssi_master_clk_start(mod, io); - if (ret < 0) - return ret; - rsnd_ssi_config_init(mod, io); rsnd_ssi_register_setup(mod); @@ -872,6 +867,13 @@ static int rsnd_ssi_pio_pointer(struct rsnd_mod *mod, return 0; } +static int rsnd_ssi_prepare(struct rsnd_mod *mod, + struct rsnd_dai_stream *io, + struct rsnd_priv *priv) +{ + return rsnd_ssi_master_clk_start(mod, io); +} + static struct rsnd_mod_ops rsnd_ssi_pio_ops = { .name = SSI_NAME, .probe = rsnd_ssi_common_probe, @@ -884,6 +886,7 @@ static struct rsnd_mod_ops rsnd_ssi_pio_ops = { .pointer = rsnd_ssi_pio_pointer, .pcm_new = rsnd_ssi_pcm_new, .hw_params = rsnd_ssi_hw_params, + .prepare = rsnd_ssi_prepare, }; static int rsnd_ssi_dma_probe(struct rsnd_mod *mod, @@ -959,6 +962,7 @@ static struct rsnd_mod_ops rsnd_ssi_dma_ops = { .pcm_new = rsnd_ssi_pcm_new, .fallback = rsnd_ssi_fallback, .hw_params = rsnd_ssi_hw_params, + .prepare = rsnd_ssi_prepare, }; int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod) From patchwork Mon Sep 3 07:09:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10585547 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 5826513BB for ; Mon, 3 Sep 2018 07:09:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4B3AA29484 for ; Mon, 3 Sep 2018 07:09:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3ECFE29489; Mon, 3 Sep 2018 07:09:28 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID 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 53E9029484 for ; Mon, 3 Sep 2018 07:09:27 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 3845B26788B; Mon, 3 Sep 2018 09:09:26 +0200 (CEST) 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 0492826789E; Mon, 3 Sep 2018 09:09:24 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 057B6266E0E for ; Mon, 3 Sep 2018 09:09:21 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie2.idc.renesas.com with ESMTP; 03 Sep 2018 16:09:20 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 5E14E716FF; Mon, 3 Sep 2018 16:09:20 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.53,324,1531753200"; d="scan'208";a="289829324" Received: from mail-ty1jpn01lp0183.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.183]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 03 Sep 2018 16:09:20 +0900 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=jrjbp5obrCNiQ+V5ckXVvcjI0ZhpJMCBVsOH4IynWJc=; b=gtlzs06AuSVWM6Z98OWRo6RMvIyv9uCuCBm+2Jtj44dV2uPnBM0xXUxrdznt+vxItkqDYz9lodY8QY6bQGLGI1gwOkhAhyu8IihU+j/UGTCbn9jgvne/gbkUYoCgGYQKjRhWK/ad+6Zbz7znv8JRcBsGcxdW67RSLbUWMy/t0Rs= 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 OSAPR01MB1860.jpnprd01.prod.outlook.com (2603:1096:603:2d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Mon, 3 Sep 2018 07:09:17 +0000 Message-ID: <87tvn7dpx8.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: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> References: <87d0tvf4q0.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 3 Sep 2018 07:09:17 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TY1PR01CA0137.jpnprd01.prod.outlook.com (2603:1096:402:1::13) To OSAPR01MB1860.jpnprd01.prod.outlook.com (2603:1096:603:2d::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01d61988-5b31-403a-42c3-08d6116c29f1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB1860; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 3:91Q+IDX4TzUOZ3m9mSb6EkRC6VItvoh3BnHRX0U0mn2c6n56zXR2/+8RLCmIH3kXFy8+XtgiMvPobdBWqLzLAPfQzu9+t78C9CFJ8Ss0uBmslY9cQMp+7dJCws8mfKA5nyNSEFtiZh+2bXqEf9UbvxXBc6lSsThswaKI5Sl/E0ZSzsIcDdUOUS4RIIsffBahO0STafCBrgo5VPXQt7FpdFtnCq3u6gAC6F6uVmPl62/HxS4OXV7MMT0VS0d2acKR; 25:dbgpwgnxVkSF+Gq91nGLD5Eh4c7T70AcD8C46nJpTaaj3tMogw0EIc7YNbL4D/aUKXF1Wg/5SSnJEhvoid4XBzq0SoPWfrcMA0RwWDTWSKjJ3Sf0DykzAJtruCWGfr6OkDJ/5vBsNn+hQYlt9xfqYa+EA8A0tlIXop0xOIoAODbzZY9a7CFleYkTazZyQstE1nPGkiehz0Tm5IQ9W/Hhopp6ObbkIsf5oH4OhFsUBO1REFeppNgVSCGHWZRRSAYMS2yS65CjaYupj00gcbE+aRdrLdoar1x6N1uRSe1LpeeNZOIiWp2meFOg0YJg9hoe73vV+MJVzv9JXyynCcWizg==; 31:MZZODjBv+KSURZSGQEUdnTMmbD73WhRGN1SatMOthvX8YzD4T+IdCZEF4/WUfVUwCtj8bDCDGxJYLIdhP0D68CAJb+3RzGuttho2774k6jn7uNL0ID4CDI1T2+wZpaltP+uNO39rBSdJPEJVlE1VLhTumH83CM8ZF4Cjo34EnSjIrXKepVXAabCfrP5jOYqtWKyAOnPeo4Ru/5haG0fNRDu+pGUwxTwcZGoUOK9S5BE= X-MS-TrafficTypeDiagnostic: OSAPR01MB1860: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 20:BTKd7+l363FsShLQWk6zT87ciJ7Kg/FWu8Qu0tGUb7MfGmaCCsuUKJLhs9N40zZXW7ZaieuCaDj0Clby88XOBRdY7UsUgSpGsDcyLBt61owKsm+LhZqzJrbpWY1J23kSQuM3B8HF8N8oY1Ooawxvqm1DJLFp6H0mt46cLTz68UjE4krnrLPGHFZwtASrYB5rKKHkcvlx+w5cLoa/8biD5gESYRxQPwbSwNLuDQVWWEb8bGPJqtDpL90BbcSelQdGTlk4Hht1ClytK9TD+EdFQwsvRfRvhRNzyec0aLef/8iwPCtM3yDJvh7Js2D0FXiEx0QsjXvhAqmmLcHrXEe5EOJ4Kd4qXXgn4z/NwnT5+ak16DtKpmtkt7kCj+H1NBcqQcGOtddI+uwbxrPeEzFBcdqk9HmDes+lRzLBzpYv3MAhKYoaApF6NY1pDyBHWQYA4HjDDFXmSgzX8iER+SuP7Cs6pP/oSA70Ovb4v/TJYvTMA2l3VGgw0D4OtkkNXOX7; 4:LcIT8shcT7Jh+USlicmW2INpb9ektMPg99c/ocFfALyMbYRXomIJIG5JbvIqdt8+MjvIBVWtX3s3z/zSQtPnECBr+2u3NgP/yoZJ6SK+aRmC0mioDACPs2WLlzm2VgGEFA17XKsVIupcoMQ0v7XuyP9IcB4ruf17mlODeLZ1spmP4GIOliw9rNQxv7YRhAcQzp3fZhwGFugU1lw12vjho76p2Y6IPsyxI7MPtgjzXLwrXb8bb7sgKOojrH9YPRMnbq3i7SEcEJPJUpvdY0j6Eg== 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)(823301075)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699016); SRVR:OSAPR01MB1860; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB1860; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(39860400002)(396003)(376002)(136003)(346002)(189003)(199004)(25786009)(3846002)(68736007)(86362001)(476003)(106356001)(446003)(7736002)(2616005)(956004)(11346002)(16526019)(186003)(486006)(26005)(4326008)(50466002)(5660300001)(54906003)(81156014)(69596002)(8936002)(105586002)(386003)(81166006)(16586007)(8676002)(6116002)(53936002)(58126008)(305945005)(478600001)(76176011)(7696005)(36756003)(52116002)(2906002)(97736004)(6916009)(23726003)(53416004)(6486002)(14444005)(47776003)(66066001)(316002)(142923001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB1860; 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; OSAPR01MB1860; 23:Stq5ghNKOJtTbvUDxiL3dgAd1Bak2ZYZfH2Yn8A7V?= TsJqZHf2N33a1owCI5DtOMJfoYhgFKoDwAWHY8NdgfiImpXJi1Jaye+vqacFTI3RuZY5ePHTFoKC4s9xSDxnhwTPoTaT7/BeInGpdsN4ewyo2jQB4rdkD1BcCFwjZQC4yUMRhpSIWkaRD2g15Bw76PWEM+L9SAddZrKVsG9EHDBO6WF44xvThAbAODzfl9/zU1J9FiexzDiQ7/G0WO2qcIXlyaWWEJmVHRb/BGKdgwFLsgV9XQO1TznDFwKIGsf+NgxmVgMJaWz7oLhj3dAOSIC12uRif3jQ1BQV4ljO/QRogExBIokxVOHoSJHVFKBjPieFXUHeFqvT5DPpu8B1GKYqvyTaVMbjx0w4tQBA7UWae4ltW64u3wBULK2FGEyh1IauKnvN3RSf6EqYmRUI+uC27K3BTiSRqCT2QOotuwpKDKEKiTNqljFo+DETVBtd0QPrcukdKbYw5KTBcSXWm9tUJM0D/nGtIm8/P1ywEeT6kERekD2g3h3wDH+4pt+JfLFbA/yDwMeaOreoIQ6C9bDEuEJ2vx7G+OOFNuno9HdpN3fO28Cxj0wzUUU4AZ8eRu2MmVPrnKtaDFPtlArNVmWi0Yf4ecvVAf3N6k0GdSRPIBZhChehlIMaXfmMB8YsrX03kFBtEuvJwZjeaK5UHbTjZtJ+Rg+63CfHDC8Kt328RsI1Y+iVtxPIVTa60UoyHbZHWeie392I7h87X+N/hQWfUaiK7n+83KL8I4pCxuUSPjBF1kPZGPzkjglZGG5egYEPumtl6ZK9SPtm8CtP87XyYzwCPeClFEpWOdCn3EFAgZ9dfpZIwWgAt2bLGgSyYeVmIYZjf0NgXlUOBNMkgv9W8yK3Fgw8nrBKVgQS/vsa7aVEHzIdf+bj0EqHFvrTrZagStUTmv5/Aamnm6+hRIW2Kx96l0itQQXqW4l+GO44rinws68tIXE6CE25/whFjmOKBI/wioqRmc8mBQJzLfx3SLA23HHFhfMfeue3GnKFa8T5drmXyayp8QJV9qsD/QlxMXkAENA/tba7hUbvkKrG3UUDVqbVewONJhU3r9AKJ1htiJn6C2yUsMQFszeYQLWKRaKDyPiW6MwlarQVQDg9UwA2J8sLYyhWiFLXOTU+abw1maU6GK1q87T664vFN892a+yIQr/NloBxILKpj4OkUbIixQI3QaTGUcC1ub5o+3+RcMg67vQu+G1f8eibxo= X-Microsoft-Antispam-Message-Info: 8C5scwSiRJhP2SlP9wTIUtwV4O7DbFrYFBeH+weC3Tieg8CEpl4MasIFXW3qFO7keOelclwLNzpYT76Q1Si8tsw9E70ytZmqLEAhAAsdeJFlmbcf0EY7jWE7zAWdRJTcz5nnhu+AkakqDnXy0qUKsM6H87pbR/7s9FW5o50zPKAFMmEcvJVOA6YFNulH9Oh+mM9xuiXMVzIOqvf7Ey+YHLDRpU8zrnk2rKlsMxjx42d2E0E5SrPnE8j+hvNeVW6+hnnr6dLhEeQ/LZ6fc5jgn/XesQ3nEGeOCGa3h2gG8uH9Eanf/Yqosqcluri3Y52JIZCvkDhcAmf+2N9oGNL9hOCIYefGyOoQPt5WJJkl/PE= X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 6:cOqx/i1jCeWVx/Gw3y64N/sHNiD5yG7w4UBWiQCiJ2nxVoCdotXaOw0KamZWoFkIpKOUKtOaPhLqgpUQLCWP46EffZt8L7nN9RYFJ+0Wj+gWqJLYbwlJiv2ksQXAxex8T2MaM+OcatJcoBdmKj+t0FDFx+rrF6GO5xssQE92FHBoRumeOL/t2/P4yHnlGAeaOrsRC2CxlBzFQWIs1ap8pXk7Igt2zRJPERZ6AWXAyk166k45zGv0vx2NPDnL8Cf0Rx4ie/s98uecpJUpxqyVEO2nwBfNU2IhLUaGHABTRgQVEeZ3870IYhK5d5Ivhb9HshmEMvRIseV0u6q/WgI9vqQRln2dWLZITFW3HzSRHdKENyKLNX80bfOKwULttDqz489/sxOl7RgPVVVPGseyN41WCF8cYQiSutLW0SV6SQCcLajb35NZOE3lP0GCURhEFjkqkJjGovZtHOL0ajBpmQ==; 5:QCTdRXamF3kMecIz5zxLO/9QHxJ9YYJjB5V51cYNYcc1Rv60w8oikGFfC1qQY5IMIn3SgvK0aY2cRQR3s1iuT27JpxxRdCHS6eioriDSCXR8OYy2F/lzBdjsUzqfl365M9MqJkBC7owRRp12e4nB3W/kYRVQneAa/VfylmYpMKo=; 7:DJy3reHNgfQHe5WEpMsWK+hJ3DU9WgcJd2zgo+3gWt/LnHeq4UbJpDAE0iN5RRBmIp7hrrAYSY5iGKZsvugs5UJkMsKq0LAH1JyFnedmEFb2XRjV63v5wfMNxKWblxzZ3Zbj1tHTz1v+KFBA/FvHxM1bFDkhV0PyoMCXN1YpGgO+WbECD22HBwc4XC3SrIykbsZqPQleTHc6d0CF41QzuUbFzkr+bF8U6QurhPZHKU1sTi+isPlHpF6U62QBMnGM SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB1860; 20:EdJy8+8HnXjHCuor/CeLlXyY8SdBpDzQ/51qeDNuaiPniDaaqX0lkYpzxKL0PAwo0HEcGEX88coyGMIg+TYjSTORNz9EVxHvNeH9Tv7Ukoj156unbR6v5ZDO4a6mBrhefqi0PL9xEAgYfGuV3Rc7t8VERjLb3BHHEM1bjBmjLZ0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 07:09:17.6071 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 01d61988-5b31-403a-42c3-08d6116c29f1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1860 Cc: Jiada Wang , Timo Wischer , Linux-ALSA , Hiroyuki Yokoyama , Dragos Tarcatu Subject: [alsa-devel] [PATCH 13/13] ASoC: rsnd: merge .nolock_start and .prepare 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 Main purpose of .nolock_start is we need to call some function without spinlock. OTOH we have .prepare which main purpose is called under atomic context. Then, it is called without spinlock. In summary, our main callback init/quit, and start/stop are called under "atomic context and with spinlock". And some function need to be called under "non-atomic context or without spinlock". Let's merge .nolock_start and prepare to be more clear code. Then, let's rename nolock_stop to cleanup Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama --- sound/soc/sh/rcar/core.c | 13 ++----------- sound/soc/sh/rcar/dma.c | 20 ++++++++++---------- sound/soc/sh/rcar/rsnd.h | 26 ++++++++++---------------- 3 files changed, 22 insertions(+), 37 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 299fb45..e46415c 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -881,12 +881,10 @@ static int rsnd_soc_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); - struct rsnd_priv *priv = rsnd_rdai_to_priv(rdai); struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream); struct snd_pcm_hw_constraint_list *constraint = &rdai->constraint; struct snd_pcm_runtime *runtime = substream->runtime; unsigned int max_channels = rsnd_rdai_channels_get(rdai); - int ret; int i; rsnd_dai_stream_init(io, substream); @@ -930,14 +928,7 @@ static int rsnd_soc_dai_startup(struct snd_pcm_substream *substream, SNDRV_PCM_HW_PARAM_RATE, -1); } - /* - * call rsnd_dai_call without spinlock - */ - ret = rsnd_dai_call(nolock_start, io, priv); - if (ret < 0) - rsnd_dai_call(nolock_stop, io, priv); - - return ret; + return 0; } static void rsnd_soc_dai_shutdown(struct snd_pcm_substream *substream, @@ -950,7 +941,7 @@ static void rsnd_soc_dai_shutdown(struct snd_pcm_substream *substream, /* * call rsnd_dai_call without spinlock */ - rsnd_dai_call(nolock_stop, io, priv); + rsnd_dai_call(cleanup, io, priv); rsnd_dai_stream_quit(io); } diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index d3b1a4a..f99c1ab 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -106,9 +106,9 @@ static int rsnd_dmaen_stop(struct rsnd_mod *mod, return 0; } -static int rsnd_dmaen_nolock_stop(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct rsnd_priv *priv) +static int rsnd_dmaen_cleanup(struct rsnd_mod *mod, + struct rsnd_dai_stream *io, + struct rsnd_priv *priv) { struct rsnd_dma *dma = rsnd_mod_to_dma(mod); struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); @@ -116,7 +116,7 @@ static int rsnd_dmaen_nolock_stop(struct rsnd_mod *mod, /* * DMAEngine release uses mutex lock. * Thus, it shouldn't be called under spinlock. - * Let's call it under nolock_start + * Let's call it under prepare */ if (dmaen->chan) dma_release_channel(dmaen->chan); @@ -126,9 +126,9 @@ static int rsnd_dmaen_nolock_stop(struct rsnd_mod *mod, return 0; } -static int rsnd_dmaen_nolock_start(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct rsnd_priv *priv) +static int rsnd_dmaen_prepare(struct rsnd_mod *mod, + struct rsnd_dai_stream *io, + struct rsnd_priv *priv) { struct rsnd_dma *dma = rsnd_mod_to_dma(mod); struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); @@ -142,7 +142,7 @@ static int rsnd_dmaen_nolock_start(struct rsnd_mod *mod, /* * DMAEngine request uses mutex lock. * Thus, it shouldn't be called under spinlock. - * Let's call it under nolock_start + * Let's call it under prepare */ dmaen->chan = rsnd_dmaen_request_channel(io, dma->mod_from, @@ -287,8 +287,8 @@ static int rsnd_dmaen_pointer(struct rsnd_mod *mod, static struct rsnd_mod_ops rsnd_dmaen_ops = { .name = "audmac", - .nolock_start = rsnd_dmaen_nolock_start, - .nolock_stop = rsnd_dmaen_nolock_stop, + .prepare = rsnd_dmaen_prepare, + .cleanup = rsnd_dmaen_cleanup, .start = rsnd_dmaen_start, .stop = rsnd_dmaen_stop, .pointer= rsnd_dmaen_pointer, diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 7a04b19..e857311 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -295,15 +295,12 @@ struct rsnd_mod_ops { int (*fallback)(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv); - int (*nolock_start)(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct rsnd_priv *priv); - int (*nolock_stop)(struct rsnd_mod *mod, - struct rsnd_dai_stream *io, - struct rsnd_priv *priv); int (*prepare)(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv); + int (*cleanup)(struct rsnd_mod *mod, + struct rsnd_dai_stream *io, + struct rsnd_priv *priv); }; struct rsnd_dai_stream; @@ -323,7 +320,7 @@ struct rsnd_mod { * * 0xH0000CBA * - * A 0: nolock_start 1: nolock_stop + * A 0: prepare 1: cleanup * B 0: init 1: quit * C 0: start 1: stop * @@ -335,8 +332,8 @@ struct rsnd_mod { * H 0: pointer * H 0: prepare */ -#define __rsnd_mod_shift_nolock_start 0 -#define __rsnd_mod_shift_nolock_stop 0 +#define __rsnd_mod_shift_prepare 0 +#define __rsnd_mod_shift_cleanup 0 #define __rsnd_mod_shift_init 4 #define __rsnd_mod_shift_quit 4 #define __rsnd_mod_shift_start 8 @@ -348,12 +345,11 @@ struct rsnd_mod { #define __rsnd_mod_shift_fallback 28 /* always called */ #define __rsnd_mod_shift_hw_params 28 /* always called */ #define __rsnd_mod_shift_pointer 28 /* always called */ -#define __rsnd_mod_shift_prepare 28 /* always called */ #define __rsnd_mod_add_probe 0 #define __rsnd_mod_add_remove 0 -#define __rsnd_mod_add_nolock_start 1 -#define __rsnd_mod_add_nolock_stop -1 +#define __rsnd_mod_add_prepare 1 +#define __rsnd_mod_add_cleanup -1 #define __rsnd_mod_add_init 1 #define __rsnd_mod_add_quit -1 #define __rsnd_mod_add_start 1 @@ -363,10 +359,11 @@ struct rsnd_mod { #define __rsnd_mod_add_fallback 0 #define __rsnd_mod_add_hw_params 0 #define __rsnd_mod_add_pointer 0 -#define __rsnd_mod_add_prepare 0 #define __rsnd_mod_call_probe 0 #define __rsnd_mod_call_remove 0 +#define __rsnd_mod_call_prepare 0 +#define __rsnd_mod_call_cleanup 1 #define __rsnd_mod_call_init 0 #define __rsnd_mod_call_quit 1 #define __rsnd_mod_call_start 0 @@ -376,9 +373,6 @@ struct rsnd_mod { #define __rsnd_mod_call_fallback 0 #define __rsnd_mod_call_hw_params 0 #define __rsnd_mod_call_pointer 0 -#define __rsnd_mod_call_nolock_start 0 -#define __rsnd_mod_call_nolock_stop 1 -#define __rsnd_mod_call_prepare 0 #define rsnd_mod_to_priv(mod) ((mod)->priv) #define rsnd_mod_name(mod) ((mod)->ops->name)