From patchwork Fri Sep 21 04:59:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10609057 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 606235A4 for ; Fri, 21 Sep 2018 05:00:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4CB892DAC2 for ; Fri, 21 Sep 2018 05:00:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 40BB42DAD0; Fri, 21 Sep 2018 05:00: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 275B02DAC2 for ; Fri, 21 Sep 2018 05:00:14 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id EC7CA26788E; Fri, 21 Sep 2018 07:00:12 +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 104CF267891; Fri, 21 Sep 2018 07:00:11 +0200 (CEST) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id 9087E267889 for ; Fri, 21 Sep 2018 07:00:04 +0200 (CEST) Received: from unknown (HELO relmlir3.idc.renesas.com) ([10.200.68.153]) by relmlie2.idc.renesas.com with ESMTP; 21 Sep 2018 14:00:01 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir3.idc.renesas.com (Postfix) with ESMTP id 72B3A75961; Fri, 21 Sep 2018 14:00:01 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.54,283,1534777200"; d="scan'208";a="293095872" Received: from mail-os2jpn01lp0152.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([23.103.139.152]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 21 Sep 2018 14:00:01 +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=R+OmWv5l+iFvhUKjuaEhk9vuSP8t2EINfGFgANoV6aE=; b=KbaHjESkJhaO1rNiI5qjm5xXF6fZgzcrKCtzju53OBtTHpYwiI+D2cMd8v3fN/PGmtfdwnWww8GO2HiiogQkqHmrS2iAtz3V6ZFiruwPC0LkYBxOVrPLIlycnH0+YyVPFRLQOgGAJGtv4qsVuSwxeyVgbHQGe7HbfDTuuggSWQo= 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 OSBPR01MB1861.jpnprd01.prod.outlook.com (2603:1096:603:2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.17; Fri, 21 Sep 2018 04:59:59 +0000 Message-ID: <87fty3310u.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 21 Sep 2018 04:59:59 +0000 X-Originating-IP: [211.11.155.130] X-ClientProxiedBy: TYAPR01CA0007.jpnprd01.prod.outlook.com (2603:1096:404::19) To OSBPR01MB1861.jpnprd01.prod.outlook.com (2603:1096:603:2::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00910c45-4690-49dd-bda2-08d61f7f152e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:OSBPR01MB1861; X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1861; 3:coq/a3hRIIBaAf613vNJWwPq+UI1QRf8pzXoAxtroZLe3d+JoXTmbq8Ayfxfump3X/jTuNyIHbTkf0qFy6F24LbefO/JEvT4t6N/uAZ2QL1e7DSVl+kdsS24mMIEJpVfL3qMXrS9kJZJAxqmqzksyCl0S7YLphz4wHpKO2BRZxNh80JPrPEz2prcY0HCynHZweOdKVCFXzln8y7/Y6bCm5t21MHMqexO/hxB0m52wAwJYErwDxsfhf/P3bk3wd1c; 25:uHJmyZKMxq+BmA0nuWECY1QHYZKrv0KjOYLlrSNpcDPJJ4RTIS952/lAlNpPlamE0x+5/vxosLrUmgutH/Hu8mnUfZOBjyqUBwmOKV9fEKrw9i2azR21o7gybrfLx+uenm1Ciotr1aqcO3iZVcP7K31VtDnpm+7Y8fj+vzIYUcjmrP1hReWTrPEdCsTOSSVimErNbuA4WX6cQWSA5SiVVdVf8YW1v0qK3AGOzXvASBcAtipu8AMgI7Og2AMduib1H/Vy9MkGupszxI2in0JuOkDp5s0yTiZ5AvhISLpPUQcuUWS3ruSnSsibAmlm5YdNU+lKI+B3QEaGRCe/qgQy/w==; 31:fs6dI2ZrAAI9/MJc+wTPownv0QDw8ljxSheN0Y8PlMw+EkOii9sD1MMEYu7SzjmIt+fgbCox5POZ/jn1eJ3DBtCsj24TQjD294w8CzgsHlJqklTEhCDIaxoMHqpaiXMsypI61I2i/rXNdl5+Xs3hSvEWBAnwVPlK+gYlbuciAcuFFT9K1fG7OkV9tvKwyFuCdHBRkOUAmhh7lacuknkZIJ0t+0/lQ0XsdF5kUeKMpZQ= X-MS-TrafficTypeDiagnostic: OSBPR01MB1861: X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1861; 20:Zcg7e5w5xPp5w5uLLTaRNJ+n73XVzY4m9RAnIOVgbrCv5b4Z1U49sNmQooL7YyxTqqQvhL4PHxvGhT7m0DDXXZeJzyXBBJZSsXYV8V/wfRS/KZBy4g4yuxtLst2HACC/A20c79hXup4p1i0wZYXSv2NTmTPCbBx6i1ZNufMUCfQCRhu9PfyG0uCQ3qC1FBlh+4bWLxDjoHLVc7efMoQM6Ktx0x/fULwJbZIt103aj3aq5T+C9z6Ge0IGxO/tii9plYVBEslTUeFXqTcE4S3wOa+MHk9d8UmmVe5ie4/3Dijk8q2Ed6lVDRRu+A/6hQQMpn4zi9FArBQA5sWtdw1QviUmfMOa6tQbnx/5ysBpIr4k4rPk+0bWui7qzixP5hOITN6j1/WXA4e1pBp6875fUVsyZerFrZ0EKxnsI1iAAQTBIWyGrk28UEon/SKCOmzIwqrFyyJ/tNBlPI6kRt70xmZOXOZZ0XPTluzSE/BVYqOFJ8uaY0NjtzR8rTC42aDu; 4:P0aZ+fR9xZEMqQ6LvowDRJbkof/4YR852kEMwM5P16VM2weL8rra2RE3s6tKpgGsjwOsBgONPXoehisPhTkSu4B3UV50NPxkKYbzatQsVJLSX/IjvTCZAH/z+cGG21+IHbHk5UqNsPiNcgy5x12xGveuAS8d0thdMquIE0N/KHWyGQTzVQ98k0UA0Ic1Sl9u1x0wPY5rl3jH/m6t2KpbrwaH9ejlCipEcELnxDE5fSB53WwT7dyOErZmXtiVjMXwkFMC4NkUUrRoMNNCww6Fcg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231355)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051); SRVR:OSBPR01MB1861; BCL:0; PCL:0; RULEID:; SRVR:OSBPR01MB1861; X-Forefront-PRVS: 0802ADD973 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(346002)(136003)(39860400002)(366004)(396003)(189003)(199004)(25786009)(23726003)(4326008)(54906003)(6116002)(3846002)(478600001)(86362001)(6916009)(2616005)(52116002)(956004)(476003)(305945005)(81156014)(8676002)(8936002)(7736002)(50466002)(69596002)(1857600001)(81166006)(14444005)(53416004)(97736004)(186003)(7696005)(6486002)(2906002)(386003)(106356001)(16526019)(316002)(486006)(5660300001)(36756003)(58126008)(105586002)(16586007)(26005)(68736007)(47776003)(66066001)(53936002)(15650500001)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSBPR01MB1861; 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; OSBPR01MB1861; 23:CGn9bytwlAsgJnSWAGjff3PcrnrznO7WXGJ3Q5aWi?= UXIJZp8iQToHhKDNN0ExYiOn+ftESV+TLYs/ynhdn7+r0uRiuoj0aRuhlZGVIQw0NWW5zEKW7p3Wu7OjCUUSBT0/Tn9e5GjQf/1A6cTnTHjd1uXHvu6LZhd74BIrHx3qKFoIKSgNe8TDbpoUtCT/OLbhWmfNWnymcEdYJq3GGBisDQqrRoyRldNL0XEUWBy2JIWOGw66DLa+N6MF1TzTebYrrLwP3ifHwIHsmsAlRf3Pin6ENpn+EQrk/I0fXHYeGvgHIQKF9dZjSPiLSTiXp+Efyr2bJUziV01zne0BtF++Fwzx6xM0Wi1yFHZR2mVVWHIz0bhN2fSbwgm+gEDimXHV4ftE+zbRpdRf5dCts3WbsZGOqF2mFbAAEWkajWu+MSJgdrXPKZpHquWYLuVRNqgOpltq4ncbju1EaUkgyGwVt28IYeeiudqdL0ZGjx51H42p7K1XSiybRKtQih9OC2b3V5K9UVcUtwYb3/rcgHxozTxZxLDljzxjlGNvYFDmqqa913Mf89jHW8nIe34qkDLoE89WPUddG3bgtBn2vF96fG4PfW2ERYyaEZlljeX3h1ofQfgDgat+F+FJ2v159hdxqt8z+KcOyhKQNEdcW2d8+ladPX9+Tqo5DE+Fvi6GLcF9o0q9JHECqF1vF5h76WWviRGhdIJj0BNb6CzYgyyRgOQESm/OhVu31XtsnCAPVJQvUugm0IyCqKRpmdTC6rwzbO/9w2DlPZMMbnNc7KsMdRs+TR/DMpAx0qMN2B9to4HA+F9iV2tAyrKlWjP/ORnR3Ym2AlaQ4KK7iGmRtfPCUjq3qtgrFOrUyW54XerBErQipDRtVsqvEf2AQimxKqaweYZ4UK174E1iW7wPZhU2RxG/kz9QjoDRSNZwDiECccQEk+XpoNXhIvZGLLe7f9XSHo8ghKgHf5LDyOYZ4pdimTGf/Tkm9UcC3eTfz6WTL5T965EVsYecOxDmDYQG5A41X6Bi7HrOuZEYKZpL4JNXaeNCc93mvamuunWG/Zf7Ml2Ct7rpmaXBvo73K+P/nDOXvg96LmydrJhWO2IHGBIT6BEgxbwOmEFRLG2BFyxZkUMl2NIgxqJqY6V8N0YQTt3TiFHbpLSDXOs9G/2wdxKl2jdWKZbUzn0FxQj7dbaADGF9HNSGKH6Uh8Bd8G96/St X-Microsoft-Antispam-Message-Info: jmPQUNiPW/rEl3DzcmAUM3/w6rjdIGdm+wp4SF9g0ZloaglbtmDmy/sJi9KWNFFy5cgZeHSluyx5N0NwzDj7C0wmugF/+esC0TQCeEzGeXaHlStXgXHYw6GwuDZkfXKrGMznf8OZU452gkaJTz6KnfgPmt1QfbmUVKH2a/5b4c12ayAY59GIflraaH+YEWkRJtMhSC8ATP1SOzTz58k/P5HAM2RpPX5Cj+7H2hrFh4ZeAA/1P6DuU4yZfemLMdFOBwCu8FkQ5o6/B5iGWSPf0wIggyn6oZI3R+/Yl9gwF0i21UpqqfgMDYKSc2bMOcPbFIOnz2ayWED3VfdcK2B27DYajCahmYpQQyp6WmUaiCE= X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1861; 6:AM91r45spDBeL4bZvGD7D/c/sPwHQFbWYLvp+/Z4NIvLITxqBJz7JzNRhghYeRdwNN2rVtut9xZ2cI7WoXzRKbMOdMladuY0R0gS98EeMacziGTEP+GnSypWS+5QMytjhcQeQPZJNiHS+7gB7EifoqT27gRwXBRlFyrpxHNX86m2elzlFvlw8kGMT33xg7AuNWSuaA2mkDq2TFQ/F3t86sqecmppvgbIO4A5yZZblQ8OGo6p4tYOPR5+vPuTqOJd9T/X1RpXchdAFWYBcuqf/60UbNJp7W71Hlw1AxZo+ZQyzxnvWnsCpDKvYmsTvWcN3ImcEqpyHS/NZqjAezI0qJfUXdYU5IEe7qk2P/nD3PHeoseYM6nKaNs3gDeDucXqS+rLw++7BT5ngqtabYLhH/XCGrejmQ+tdeBffX7Fo527HWVBID+cXyWe7uUSAausq07QLgUNqQvs/GTfOqxkBA==; 5:RBqdJkP/DDoTfrgxuNmdiZNjjcAuBdrSpIDMmO35+HdZGOGu9BPFwgwUflPqKl5BCtHU1kIEjpd1f1TZ5G9ZBC8flsLruPfjRABhGnwL38xMgQ53HvQvWDcwFwTgxcC40BwxE2paxytMiZ+zeOrGyu/poPIsrOC7WHcgW0YGZu0=; 7:e/YghUMG4FLniVG90cwXpF0GzGRmW00wn+zRF7UDXhRrdzjQL4zx/eGtf/rLGmMzAz0WERPvgkZp7JJF/BdfY+tZxIIplZSUmxzAbXIlTRhe9qYajaHEgCzvWlfMOHO4Yk3x7cdwTzmlGjz7DCEQM7TQ9/IEbsoeaWevuQw4d1CBphG8iSDM8UQlMvYCHYQEq3MxSvDLbZhqOz2V0t2MVhILQOYBPzELbpXNSe2+VhPBEJdz6xJOslrCyOQRemJE SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSBPR01MB1861; 20:jCJbpG8n9aiNF76ekMPRcSyXUZX+Gu0RkQNiS94H8yTHF5rPcuXC3BE5ux1aHqxaMZXWo5SrRBne4Hc5/P9QpvvDVPHOIZsjYDMteh6jhwQC9WOS5c33i59ijoIq654LnLzzUJheb5/XlPcL7UBFnL50iyq6m3hloHwfVxL8AzY= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2018 04:59:59.5115 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 00910c45-4690-49dd-bda2-08d61f7f152e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB1861 Cc: Linux-ALSA , Hiroyuki Yokoyama , Dmytro Prokopchuk Subject: [alsa-devel] [PATCH] ASoC: rsnd: fixup SSI clock during suspend/resume modes 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: Dmytro Prokopchuk Prepare <-> Cleanup functions pair has balanced calls. But in case of suspend mode no call to rsnd_soc_dai_shutdown() function, so cleanup isn't called. OTOH during resume mode function rsnd_soc_dai_prepare() is called, but calling rsnd_ssi_prepare() is skipped (rsnd_status_update() returns zero, bacause was not cleanup before). We need to call rsnd_ssi_prepare(), because it enables SSI clocks by calling rsnd_ssi_master_clk_start(). This patch allows to call prepare/cleanup functions always. Signed-off-by: Dmytro Prokopchuk Tested-by: Hiroyuki Yokoyama [kuninori: adjusted to upstream] Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/dma.c | 7 +++---- sound/soc/sh/rcar/rsnd.h | 14 +++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index 0bbc4b0..6d19475 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -134,10 +134,9 @@ static int rsnd_dmaen_prepare(struct rsnd_mod *mod, struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); struct device *dev = rsnd_priv_to_dev(priv); - if (dmaen->chan) { - dev_err(dev, "it already has dma channel\n"); - return -EIO; - } + /* maybe suspended */ + if (dmaen->chan) + return 0; /* * DMAEngine request uses mutex lock. diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index e857311..4464d1d 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -318,9 +318,8 @@ struct rsnd_mod { /* * status * - * 0xH0000CBA + * 0xH0000CB0 * - * A 0: prepare 1: cleanup * B 0: init 1: quit * C 0: start 1: stop * @@ -331,9 +330,8 @@ struct rsnd_mod { * H 0: hw_params * H 0: pointer * H 0: prepare + * H 0: cleanup */ -#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 @@ -345,11 +343,13 @@ 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_shift_cleanup 28 /* always called */ #define __rsnd_mod_add_probe 0 #define __rsnd_mod_add_remove 0 -#define __rsnd_mod_add_prepare 1 -#define __rsnd_mod_add_cleanup -1 +#define __rsnd_mod_add_prepare 0 +#define __rsnd_mod_add_cleanup 0 #define __rsnd_mod_add_init 1 #define __rsnd_mod_add_quit -1 #define __rsnd_mod_add_start 1 @@ -363,7 +363,7 @@ struct rsnd_mod { #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_cleanup 0 #define __rsnd_mod_call_init 0 #define __rsnd_mod_call_quit 1 #define __rsnd_mod_call_start 0