From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sameer Pujar Subject: Re: [alsa-devel] [PATCH 4/9] ASoC: tegra: add Tegra210 based I2S driver Date: Mon, 27 Jan 2020 10:52:17 +0530 Message-ID: References: <1579530198-13431-1-git-send-email-spujar@nvidia.com> <1579530198-13431-5-git-send-email-spujar@nvidia.com> <0c571858-d72c-97c2-2d6a-ead6fdde06eb@nvidia.com> <444731da-c4cd-8578-a732-c803eef31ef0@gmail.com> <598fe377-5b95-d30a-eb64-89a645166d42@gmail.com> <3f51939d-cf4b-f69b-728a-7eb99bbae458@nvidia.com> <34ac1fd3-ae0f-07f2-555f-a55087a2c9dc@nvidia.com> <1a84b393-938f-8bed-d08e-cc3bb6ed4844@gmail.com> <0fc814c2-0dc6-7741-b954-463381ff7fb9@nvidia.com> <9f73afdf-1e9a-cdbd-f972-a022d503ef51@nvidia.com> <264d3354-8a2e-ee12-44ae-aff69213d551@nvidia.com> <075e476a-36bb-5fee-15bc-76af4474a797@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <075e476a-36bb-5fee-15bc-76af4474a797-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Content-Language: en-GB Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Dmitry Osipenko , Jon Hunter Cc: spujar-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, atalambedu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, tiwai-IBi9RG/b67k@public.gmane.org, viswanathl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, sharadg-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, rlokhande-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, mkumard-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, dramesh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org List-Id: linux-tegra@vger.kernel.org On 1/24/2020 7:34 PM, Dmitry Osipenko wrote: > External email: Use caution opening links or attachments > > > 24.01.2020 12:51, Jon Hunter =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >> On 24/01/2020 09:07, Jon Hunter wrote: >>> On 23/01/2020 15:16, Dmitry Osipenko wrote: >>>> 23.01.2020 12:22, Sameer Pujar =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >>>>> >>>>> On 1/22/2020 9:57 PM, Dmitry Osipenko wrote: >>>>>> External email: Use caution opening links or attachments >>>>>> >>>>>> >>>>>> 22.01.2020 14:52, Jon Hunter =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >>>>>>> On 22/01/2020 07:16, Sameer Pujar wrote: >>>>>>> >>>>>>> ... >>>>>>> >>>>>>>>>>>>>> +static int tegra210_i2s_remove(struct platform_device *pdev= ) >>>>>>>>>>>>>> +{ >>>>>>>>>>>>>> + pm_runtime_disable(&pdev->dev); >>>>>>>>>>>>>> + if (!pm_runtime_status_suspended(&pdev->dev)) >>>>>>>>>>>>>> + tegra210_i2s_runtime_suspend(&pdev->dev); >>>>>>>>>>>>> This breaks device's RPM refcounting if it was disabled in th= e >>>>>>>>>>>>> active >>>>>>>>>>>>> state. This code should be removed. At most you could warn >>>>>>>>>>>>> about the >>>>>>>>>>>>> unxpected RPM state here, but it shouldn't be necessary. >>>>>>>>>>>> I guess this was added for safety and explicit suspend keeps c= lock >>>>>>>>>>>> disabled. >>>>>>>>>>>> Not sure if ref-counting of the device matters when runtime PM= is >>>>>>>>>>>> disabled and device is removed. >>>>>>>>>>>> I see few drivers using this way. >>>>>>>>>>> It should matter (if I'm not missing something) because RPM sho= uld >>>>>>>>>>> be in >>>>>>>>>>> a wrecked state once you'll try to re-load the driver's module. >>>>>>>>>>> Likely >>>>>>>>>>> that those few other drivers are wrong. >>>>>>>>>>> >>>>>>>>>>> [snip] >>>>>>>>>> Once the driver is re-loaded and RPM is enabled, I don't think i= t >>>>>>>>>> would use >>>>>>>>>> the same 'dev' and the corresponding ref count. Doesn't it use t= he >>>>>>>>>> new >>>>>>>>>> counters? >>>>>>>>>> If RPM is not working for some reason, most likely it would be t= he >>>>>>>>>> case >>>>>>>>>> for other >>>>>>>>>> devices. What best driver can do is probably do a force suspend >>>>>>>>>> during >>>>>>>>>> removal if >>>>>>>>>> already not done. I would prefer to keep, since multiple drivers >>>>>>>>>> still >>>>>>>>>> have it, >>>>>>>>>> unless there is a real harm in doing so. >>>>>>>>> I took a closer look and looks like the counter actually should b= e >>>>>>>>> reset. Still I don't think that it's a good practice to make chan= ges >>>>>>>>> underneath of RPM, it may strike back. >>>>>>>> If RPM is broken, it probably would have been caught during device >>>>>>>> usage. >>>>>>>> I will remove explicit suspend here if no any concerns from other >>>>>>>> folks. >>>>>>>> Thanks. >>>>>>> I recall that this was the preferred way of doing this from the RPM >>>>>>> folks. Tegra30 I2S driver does the same and Stephen had pointed me = to >>>>>>> this as a reference. >>>>>>> I believe that this is meant to ensure that the >>>>>>> device is always powered-off regardless of it RPM is enabled or not= and >>>>>>> what the current state is. >>>>>> Yes, it was kinda actual for the case of unavailable RPM. >>>>>> Anyways, /I think/ variant like this should have been more preferred= : >>>>>> >>>>>> if (!pm_runtime_enabled(&pdev->dev)) >>>>>> tegra210_i2s_runtime_suspend(&pdev->dev); >>>>>> else >>>>>> pm_runtime_disable(&pdev->dev); >>>>> I think it looks to be similar to what is there already. >>>>> >>>>> pm_runtime_disable(&pdev->dev); // it would turn out to be a dummy ca= ll >>>>> if !RPM >>>>> if (!pm_runtime_status_suspended(&pdev->dev)) // it is true always if= !RPM >>>>> tegra210_i2s_runtime_suspend(&pdev->dev); >>>> Maybe this is fine for !RPM, but not really fine in a case of enabled >>>> RPM. Device could be in resumed state after pm_runtime_disable() if it >>>> wasn't suspended before the disabling. >>> I don't see any problem with this for the !RPM case. >> Sorry I meant the RPM case. In other words, I don't see a problem for >> neither the RPM case of the !RPM case. > 1. Device shall be in RPM-suspended state at the time of driver's > removal, unless there is a bug in the sound driver. Hence why do you > need the dead code which doesn't bring any practical value? > > 2. Making changes underneath of RPM is simply error-prone. It may hit > badly in the future once something will change in the RPM core. I think we are stretching a bit more here when there is no any real harm. Right now it works well for both RPM and !RPM case and if we really need to fix something in future we can fix. Since my initial inclination was keepin= g the code as it is and Jon also has similar thoughts, I would retain this=20 code. Sorry Dmitry, we can fix if something comes up and many other drivers would need this at that time. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED396C35247 for ; Mon, 27 Jan 2020 05:23:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BE83C214DB for ; Mon, 27 Jan 2020 05:23:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="WOyBbCjo" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727221AbgA0FXI (ORCPT ); Mon, 27 Jan 2020 00:23:08 -0500 Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:8270 "EHLO hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725308AbgA0FXH (ORCPT ); Mon, 27 Jan 2020 00:23:07 -0500 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Sun, 26 Jan 2020 21:22:12 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Sun, 26 Jan 2020 21:22:26 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Sun, 26 Jan 2020 21:22:26 -0800 Received: from [10.25.73.144] (172.20.13.39) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 27 Jan 2020 05:22:21 +0000 CC: , , , , , , , , , , , , , , , Subject: Re: [alsa-devel] [PATCH 4/9] ASoC: tegra: add Tegra210 based I2S driver To: Dmitry Osipenko , Jon Hunter References: <1579530198-13431-1-git-send-email-spujar@nvidia.com> <1579530198-13431-5-git-send-email-spujar@nvidia.com> <0c571858-d72c-97c2-2d6a-ead6fdde06eb@nvidia.com> <444731da-c4cd-8578-a732-c803eef31ef0@gmail.com> <598fe377-5b95-d30a-eb64-89a645166d42@gmail.com> <3f51939d-cf4b-f69b-728a-7eb99bbae458@nvidia.com> <34ac1fd3-ae0f-07f2-555f-a55087a2c9dc@nvidia.com> <1a84b393-938f-8bed-d08e-cc3bb6ed4844@gmail.com> <0fc814c2-0dc6-7741-b954-463381ff7fb9@nvidia.com> <9f73afdf-1e9a-cdbd-f972-a022d503ef51@nvidia.com> <264d3354-8a2e-ee12-44ae-aff69213d551@nvidia.com> <075e476a-36bb-5fee-15bc-76af4474a797@gmail.com> From: Sameer Pujar Message-ID: Date: Mon, 27 Jan 2020 10:52:17 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <075e476a-36bb-5fee-15bc-76af4474a797@gmail.com> X-Originating-IP: [172.20.13.39] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1580102532; bh=uyQ7nxDtadx0HKIFwTV9Y/Ni4jJ8RtmHuiaNgpeGCVQ=; h=X-PGP-Universal:CC:Subject:To:References:From:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Transfer-Encoding: Content-Language; b=WOyBbCjo0xTj12FVF25Yp1r1fV1gjHMY39c/AKkvSqdoN4YQ+TmEJgCDKGkWZ8CUS uXfojDb95fmA49UWlns0lMxbRtb/hJoXQN1d5bvf7fxIiKhdMy0GTPJm7AxdHGbHXV VFToAlODWyoYIHhldt2qp4LICkvwScpCr6Qkvq2OSpSI7tURbR8etrzEjmAzAauQ/O G/LHqtNBTtMV5HfLqhLxc5AIyA0nojqExfW+mU5kiTOBRmO8mYafsijhf1zdvf3+a+ 9i11lAj01mx8nuiVj3R91baTa8gkSItMXFk58WRPVK4h4hW9vDXZXUeBZMcd0vIddr Dh1hIr4h4ZZHw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/24/2020 7:34 PM, Dmitry Osipenko wrote: > External email: Use caution opening links or attachments > > > 24.01.2020 12:51, Jon Hunter =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >> On 24/01/2020 09:07, Jon Hunter wrote: >>> On 23/01/2020 15:16, Dmitry Osipenko wrote: >>>> 23.01.2020 12:22, Sameer Pujar =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >>>>> >>>>> On 1/22/2020 9:57 PM, Dmitry Osipenko wrote: >>>>>> External email: Use caution opening links or attachments >>>>>> >>>>>> >>>>>> 22.01.2020 14:52, Jon Hunter =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >>>>>>> On 22/01/2020 07:16, Sameer Pujar wrote: >>>>>>> >>>>>>> ... >>>>>>> >>>>>>>>>>>>>> +static int tegra210_i2s_remove(struct platform_device *pdev= ) >>>>>>>>>>>>>> +{ >>>>>>>>>>>>>> + pm_runtime_disable(&pdev->dev); >>>>>>>>>>>>>> + if (!pm_runtime_status_suspended(&pdev->dev)) >>>>>>>>>>>>>> + tegra210_i2s_runtime_suspend(&pdev->dev); >>>>>>>>>>>>> This breaks device's RPM refcounting if it was disabled in th= e >>>>>>>>>>>>> active >>>>>>>>>>>>> state. This code should be removed. At most you could warn >>>>>>>>>>>>> about the >>>>>>>>>>>>> unxpected RPM state here, but it shouldn't be necessary. >>>>>>>>>>>> I guess this was added for safety and explicit suspend keeps c= lock >>>>>>>>>>>> disabled. >>>>>>>>>>>> Not sure if ref-counting of the device matters when runtime PM= is >>>>>>>>>>>> disabled and device is removed. >>>>>>>>>>>> I see few drivers using this way. >>>>>>>>>>> It should matter (if I'm not missing something) because RPM sho= uld >>>>>>>>>>> be in >>>>>>>>>>> a wrecked state once you'll try to re-load the driver's module. >>>>>>>>>>> Likely >>>>>>>>>>> that those few other drivers are wrong. >>>>>>>>>>> >>>>>>>>>>> [snip] >>>>>>>>>> Once the driver is re-loaded and RPM is enabled, I don't think i= t >>>>>>>>>> would use >>>>>>>>>> the same 'dev' and the corresponding ref count. Doesn't it use t= he >>>>>>>>>> new >>>>>>>>>> counters? >>>>>>>>>> If RPM is not working for some reason, most likely it would be t= he >>>>>>>>>> case >>>>>>>>>> for other >>>>>>>>>> devices. What best driver can do is probably do a force suspend >>>>>>>>>> during >>>>>>>>>> removal if >>>>>>>>>> already not done. I would prefer to keep, since multiple drivers >>>>>>>>>> still >>>>>>>>>> have it, >>>>>>>>>> unless there is a real harm in doing so. >>>>>>>>> I took a closer look and looks like the counter actually should b= e >>>>>>>>> reset. Still I don't think that it's a good practice to make chan= ges >>>>>>>>> underneath of RPM, it may strike back. >>>>>>>> If RPM is broken, it probably would have been caught during device >>>>>>>> usage. >>>>>>>> I will remove explicit suspend here if no any concerns from other >>>>>>>> folks. >>>>>>>> Thanks. >>>>>>> I recall that this was the preferred way of doing this from the RPM >>>>>>> folks. Tegra30 I2S driver does the same and Stephen had pointed me = to >>>>>>> this as a reference. >>>>>>> I believe that this is meant to ensure that the >>>>>>> device is always powered-off regardless of it RPM is enabled or not= and >>>>>>> what the current state is. >>>>>> Yes, it was kinda actual for the case of unavailable RPM. >>>>>> Anyways, /I think/ variant like this should have been more preferred= : >>>>>> >>>>>> if (!pm_runtime_enabled(&pdev->dev)) >>>>>> tegra210_i2s_runtime_suspend(&pdev->dev); >>>>>> else >>>>>> pm_runtime_disable(&pdev->dev); >>>>> I think it looks to be similar to what is there already. >>>>> >>>>> pm_runtime_disable(&pdev->dev); // it would turn out to be a dummy ca= ll >>>>> if !RPM >>>>> if (!pm_runtime_status_suspended(&pdev->dev)) // it is true always if= !RPM >>>>> tegra210_i2s_runtime_suspend(&pdev->dev); >>>> Maybe this is fine for !RPM, but not really fine in a case of enabled >>>> RPM. Device could be in resumed state after pm_runtime_disable() if it >>>> wasn't suspended before the disabling. >>> I don't see any problem with this for the !RPM case. >> Sorry I meant the RPM case. In other words, I don't see a problem for >> neither the RPM case of the !RPM case. > 1. Device shall be in RPM-suspended state at the time of driver's > removal, unless there is a bug in the sound driver. Hence why do you > need the dead code which doesn't bring any practical value? > > 2. Making changes underneath of RPM is simply error-prone. It may hit > badly in the future once something will change in the RPM core. I think we are stretching a bit more here when there is no any real harm. Right now it works well for both RPM and !RPM case and if we really need to fix something in future we can fix. Since my initial inclination was keepin= g the code as it is and Jon also has similar thoughts, I would retain this=20 code. Sorry Dmitry, we can fix if something comes up and many other drivers would need this at that time. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E06EC32771 for ; Mon, 27 Jan 2020 05:23:28 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0A5A020842 for ; Mon, 27 Jan 2020 05:23:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="HDTVKrBh"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="WOyBbCjo" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0A5A020842 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 41AD71681; Mon, 27 Jan 2020 06:22:36 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 41AD71681 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1580102606; bh=do3UdWhXGiG1UqbOCYUiTjdoZ7QxadT3X1N2CfYaS1k=; h=To:References:From:Date:In-Reply-To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=HDTVKrBhAJSUUvuGxXNQ3IhrT2DD74so/qWjmhiELU3BloQnSQ2RJ16FHs5H3RCc/ 7YApbuwNfqbZ/2m9dqpDklEUu9BaIB6m/0lD5jdfWtIjJoCnYGmt7oqDA5mbQvJcnt hmSRTFrbbczlOyz22yz0vo8RTXtLei1wdhMtszGM= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id ABD51F80085; Mon, 27 Jan 2020 06:22:35 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 8B7BAF8021E; Mon, 27 Jan 2020 06:22:33 +0100 (CET) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 03130F800C8 for ; Mon, 27 Jan 2020 06:22:29 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 03130F800C8 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="WOyBbCjo" Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Sun, 26 Jan 2020 21:22:12 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Sun, 26 Jan 2020 21:22:26 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Sun, 26 Jan 2020 21:22:26 -0800 Received: from [10.25.73.144] (172.20.13.39) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 27 Jan 2020 05:22:21 +0000 To: Dmitry Osipenko , Jon Hunter References: <1579530198-13431-1-git-send-email-spujar@nvidia.com> <1579530198-13431-5-git-send-email-spujar@nvidia.com> <0c571858-d72c-97c2-2d6a-ead6fdde06eb@nvidia.com> <444731da-c4cd-8578-a732-c803eef31ef0@gmail.com> <598fe377-5b95-d30a-eb64-89a645166d42@gmail.com> <3f51939d-cf4b-f69b-728a-7eb99bbae458@nvidia.com> <34ac1fd3-ae0f-07f2-555f-a55087a2c9dc@nvidia.com> <1a84b393-938f-8bed-d08e-cc3bb6ed4844@gmail.com> <0fc814c2-0dc6-7741-b954-463381ff7fb9@nvidia.com> <9f73afdf-1e9a-cdbd-f972-a022d503ef51@nvidia.com> <264d3354-8a2e-ee12-44ae-aff69213d551@nvidia.com> <075e476a-36bb-5fee-15bc-76af4474a797@gmail.com> From: Sameer Pujar Message-ID: Date: Mon, 27 Jan 2020 10:52:17 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <075e476a-36bb-5fee-15bc-76af4474a797@gmail.com> X-Originating-IP: [172.20.13.39] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) Content-Language: en-GB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1580102532; bh=uyQ7nxDtadx0HKIFwTV9Y/Ni4jJ8RtmHuiaNgpeGCVQ=; h=X-PGP-Universal:CC:Subject:To:References:From:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Transfer-Encoding: Content-Language; b=WOyBbCjo0xTj12FVF25Yp1r1fV1gjHMY39c/AKkvSqdoN4YQ+TmEJgCDKGkWZ8CUS uXfojDb95fmA49UWlns0lMxbRtb/hJoXQN1d5bvf7fxIiKhdMy0GTPJm7AxdHGbHXV VFToAlODWyoYIHhldt2qp4LICkvwScpCr6Qkvq2OSpSI7tURbR8etrzEjmAzAauQ/O G/LHqtNBTtMV5HfLqhLxc5AIyA0nojqExfW+mU5kiTOBRmO8mYafsijhf1zdvf3+a+ 9i11lAj01mx8nuiVj3R91baTa8gkSItMXFk58WRPVK4h4hW9vDXZXUeBZMcd0vIddr Dh1hIr4h4ZZHw== Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org, spujar@nvidia.com, tiwai@suse.com, linux-kernel@vger.kernel.org, robh+dt@kernel.org, lgirdwood@gmail.com, viswanathl@nvidia.com, sharadg@nvidia.com, broonie@kernel.org, atalambedu@nvidia.com, linux-tegra@vger.kernel.org, thierry.reding@gmail.com, rlokhande@nvidia.com, mkumard@nvidia.com, dramesh@nvidia.com Subject: Re: [alsa-devel] [PATCH 4/9] ASoC: tegra: add Tegra210 based I2S driver X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" CgpPbiAxLzI0LzIwMjAgNzozNCBQTSwgRG1pdHJ5IE9zaXBlbmtvIHdyb3RlOgo+IEV4dGVybmFs IGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzCj4KPgo+IDI0 LjAxLjIwMjAgMTI6NTEsIEpvbiBIdW50ZXIg0L/QuNGI0LXRgjoKPj4gT24gMjQvMDEvMjAyMCAw OTowNywgSm9uIEh1bnRlciB3cm90ZToKPj4+IE9uIDIzLzAxLzIwMjAgMTU6MTYsIERtaXRyeSBP c2lwZW5rbyB3cm90ZToKPj4+PiAyMy4wMS4yMDIwIDEyOjIyLCBTYW1lZXIgUHVqYXIg0L/QuNGI 0LXRgjoKPj4+Pj4KPj4+Pj4gT24gMS8yMi8yMDIwIDk6NTcgUE0sIERtaXRyeSBPc2lwZW5rbyB3 cm90ZToKPj4+Pj4+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9y IGF0dGFjaG1lbnRzCj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+IDIyLjAxLjIwMjAgMTQ6NTIsIEpvbiBI dW50ZXIg0L/QuNGI0LXRgjoKPj4+Pj4+PiBPbiAyMi8wMS8yMDIwIDA3OjE2LCBTYW1lZXIgUHVq YXIgd3JvdGU6Cj4+Pj4+Pj4KPj4+Pj4+PiAuLi4KPj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4+PiArc3Rh dGljIGludCB0ZWdyYTIxMF9pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4+Pj4+Pj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+Pj4+Pj4+ICsgICAgIHBtX3J1bnRpbWVfZGlzYWJs ZSgmcGRldi0+ZGV2KTsKPj4+Pj4+Pj4+Pj4+Pj4gKyAgICAgaWYgKCFwbV9ydW50aW1lX3N0YXR1 c19zdXNwZW5kZWQoJnBkZXYtPmRldikpCj4+Pj4+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgdGVn cmEyMTBfaTJzX3J1bnRpbWVfc3VzcGVuZCgmcGRldi0+ZGV2KTsKPj4+Pj4+Pj4+Pj4+PiBUaGlz IGJyZWFrcyBkZXZpY2UncyBSUE0gcmVmY291bnRpbmcgaWYgaXQgd2FzIGRpc2FibGVkIGluIHRo ZQo+Pj4+Pj4+Pj4+Pj4+IGFjdGl2ZQo+Pj4+Pj4+Pj4+Pj4+IHN0YXRlLiBUaGlzIGNvZGUgc2hv dWxkIGJlIHJlbW92ZWQuIEF0IG1vc3QgeW91IGNvdWxkIHdhcm4KPj4+Pj4+Pj4+Pj4+PiBhYm91 dCB0aGUKPj4+Pj4+Pj4+Pj4+PiB1bnhwZWN0ZWQgUlBNIHN0YXRlIGhlcmUsIGJ1dCBpdCBzaG91 bGRuJ3QgYmUgbmVjZXNzYXJ5Lgo+Pj4+Pj4+Pj4+Pj4gSSBndWVzcyB0aGlzIHdhcyBhZGRlZCBm b3Igc2FmZXR5IGFuZCBleHBsaWNpdCBzdXNwZW5kIGtlZXBzIGNsb2NrCj4+Pj4+Pj4+Pj4+PiBk aXNhYmxlZC4KPj4+Pj4+Pj4+Pj4+IE5vdCBzdXJlIGlmIHJlZi1jb3VudGluZyBvZiB0aGUgZGV2 aWNlIG1hdHRlcnMgd2hlbiBydW50aW1lIFBNIGlzCj4+Pj4+Pj4+Pj4+PiBkaXNhYmxlZCBhbmQg ZGV2aWNlIGlzIHJlbW92ZWQuCj4+Pj4+Pj4+Pj4+PiBJIHNlZSBmZXcgZHJpdmVycyB1c2luZyB0 aGlzIHdheS4KPj4+Pj4+Pj4+Pj4gSXQgc2hvdWxkIG1hdHRlciAoaWYgSSdtIG5vdCBtaXNzaW5n IHNvbWV0aGluZykgYmVjYXVzZSBSUE0gc2hvdWxkCj4+Pj4+Pj4+Pj4+IGJlIGluCj4+Pj4+Pj4+ Pj4+IGEgd3JlY2tlZCBzdGF0ZSBvbmNlIHlvdSdsbCB0cnkgdG8gcmUtbG9hZCB0aGUgZHJpdmVy J3MgbW9kdWxlLgo+Pj4+Pj4+Pj4+PiBMaWtlbHkKPj4+Pj4+Pj4+Pj4gdGhhdCB0aG9zZSBmZXcg b3RoZXIgZHJpdmVycyBhcmUgd3JvbmcuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFtzbmlwXQo+ Pj4+Pj4+Pj4+IE9uY2UgdGhlIGRyaXZlciBpcyByZS1sb2FkZWQgYW5kIFJQTSBpcyBlbmFibGVk LCBJIGRvbid0IHRoaW5rIGl0Cj4+Pj4+Pj4+Pj4gd291bGQgdXNlCj4+Pj4+Pj4+Pj4gdGhlIHNh bWUgJ2RldicgYW5kIHRoZSBjb3JyZXNwb25kaW5nIHJlZiBjb3VudC4gRG9lc24ndCBpdCB1c2Ug dGhlCj4+Pj4+Pj4+Pj4gbmV3Cj4+Pj4+Pj4+Pj4gY291bnRlcnM/Cj4+Pj4+Pj4+Pj4gSWYgUlBN IGlzIG5vdCB3b3JraW5nIGZvciBzb21lIHJlYXNvbiwgbW9zdCBsaWtlbHkgaXQgd291bGQgYmUg dGhlCj4+Pj4+Pj4+Pj4gY2FzZQo+Pj4+Pj4+Pj4+IGZvciBvdGhlcgo+Pj4+Pj4+Pj4+IGRldmlj ZXMuIFdoYXQgYmVzdCBkcml2ZXIgY2FuIGRvIGlzIHByb2JhYmx5IGRvIGEgZm9yY2Ugc3VzcGVu ZAo+Pj4+Pj4+Pj4+IGR1cmluZwo+Pj4+Pj4+Pj4+IHJlbW92YWwgaWYKPj4+Pj4+Pj4+PiBhbHJl YWR5IG5vdCBkb25lLiBJIHdvdWxkIHByZWZlciB0byBrZWVwLCBzaW5jZSBtdWx0aXBsZSBkcml2 ZXJzCj4+Pj4+Pj4+Pj4gc3RpbGwKPj4+Pj4+Pj4+PiBoYXZlIGl0LAo+Pj4+Pj4+Pj4+IHVubGVz cyB0aGVyZSBpcyBhIHJlYWwgaGFybSBpbiBkb2luZyBzby4KPj4+Pj4+Pj4+IEkgdG9vayBhIGNs b3NlciBsb29rIGFuZCBsb29rcyBsaWtlIHRoZSBjb3VudGVyIGFjdHVhbGx5IHNob3VsZCBiZQo+ Pj4+Pj4+Pj4gcmVzZXQuIFN0aWxsIEkgZG9uJ3QgdGhpbmsgdGhhdCBpdCdzIGEgZ29vZCBwcmFj dGljZSB0byBtYWtlIGNoYW5nZXMKPj4+Pj4+Pj4+IHVuZGVybmVhdGggb2YgUlBNLCBpdCBtYXkg c3RyaWtlIGJhY2suCj4+Pj4+Pj4+IElmIFJQTSBpcyBicm9rZW4sIGl0IHByb2JhYmx5IHdvdWxk IGhhdmUgYmVlbiBjYXVnaHQgZHVyaW5nIGRldmljZQo+Pj4+Pj4+PiB1c2FnZS4KPj4+Pj4+Pj4g SSB3aWxsIHJlbW92ZSBleHBsaWNpdCBzdXNwZW5kIGhlcmUgaWYgbm8gYW55IGNvbmNlcm5zIGZy b20gb3RoZXIKPj4+Pj4+Pj4gZm9sa3MuCj4+Pj4+Pj4+IFRoYW5rcy4KPj4+Pj4+PiBJIHJlY2Fs bCB0aGF0IHRoaXMgd2FzIHRoZSBwcmVmZXJyZWQgd2F5IG9mIGRvaW5nIHRoaXMgZnJvbSB0aGUg UlBNCj4+Pj4+Pj4gZm9sa3MuIFRlZ3JhMzAgSTJTIGRyaXZlciBkb2VzIHRoZSBzYW1lIGFuZCBT dGVwaGVuIGhhZCBwb2ludGVkIG1lIHRvCj4+Pj4+Pj4gdGhpcyBhcyBhIHJlZmVyZW5jZS4KPj4+ Pj4+PiBJIGJlbGlldmUgdGhhdCB0aGlzIGlzIG1lYW50IHRvIGVuc3VyZSB0aGF0IHRoZQo+Pj4+ Pj4+IGRldmljZSBpcyBhbHdheXMgcG93ZXJlZC1vZmYgcmVnYXJkbGVzcyBvZiBpdCBSUE0gaXMg ZW5hYmxlZCBvciBub3QgYW5kCj4+Pj4+Pj4gd2hhdCB0aGUgY3VycmVudCBzdGF0ZSBpcy4KPj4+ Pj4+IFllcywgaXQgd2FzIGtpbmRhIGFjdHVhbCBmb3IgdGhlIGNhc2Ugb2YgdW5hdmFpbGFibGUg UlBNLgo+Pj4+Pj4gQW55d2F5cywgL0kgdGhpbmsvIHZhcmlhbnQgbGlrZSB0aGlzIHNob3VsZCBo YXZlIGJlZW4gbW9yZSBwcmVmZXJyZWQ6Cj4+Pj4+Pgo+Pj4+Pj4gaWYgKCFwbV9ydW50aW1lX2Vu YWJsZWQoJnBkZXYtPmRldikpCj4+Pj4+PiAgICAgICAgICAgdGVncmEyMTBfaTJzX3J1bnRpbWVf c3VzcGVuZCgmcGRldi0+ZGV2KTsKPj4+Pj4+IGVsc2UKPj4+Pj4+ICAgICAgICAgICBwbV9ydW50 aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7Cj4+Pj4+IEkgdGhpbmsgaXQgbG9va3MgdG8gYmUgc2lt aWxhciB0byB3aGF0IGlzIHRoZXJlIGFscmVhZHkuCj4+Pj4+Cj4+Pj4+IHBtX3J1bnRpbWVfZGlz YWJsZSgmcGRldi0+ZGV2KTsgLy8gaXQgd291bGQgdHVybiBvdXQgdG8gYmUgYSBkdW1teSBjYWxs Cj4+Pj4+IGlmICFSUE0KPj4+Pj4gaWYgKCFwbV9ydW50aW1lX3N0YXR1c19zdXNwZW5kZWQoJnBk ZXYtPmRldikpIC8vIGl0IGlzIHRydWUgYWx3YXlzIGlmICFSUE0KPj4+Pj4gICAgICAgICAgdGVn cmEyMTBfaTJzX3J1bnRpbWVfc3VzcGVuZCgmcGRldi0+ZGV2KTsKPj4+PiBNYXliZSB0aGlzIGlz IGZpbmUgZm9yICFSUE0sIGJ1dCBub3QgcmVhbGx5IGZpbmUgaW4gYSBjYXNlIG9mIGVuYWJsZWQK Pj4+PiBSUE0uIERldmljZSBjb3VsZCBiZSBpbiByZXN1bWVkIHN0YXRlIGFmdGVyIHBtX3J1bnRp bWVfZGlzYWJsZSgpIGlmIGl0Cj4+Pj4gd2Fzbid0IHN1c3BlbmRlZCBiZWZvcmUgdGhlIGRpc2Fi bGluZy4KPj4+IEkgZG9uJ3Qgc2VlIGFueSBwcm9ibGVtIHdpdGggdGhpcyBmb3IgdGhlICFSUE0g Y2FzZS4KPj4gU29ycnkgSSBtZWFudCB0aGUgUlBNIGNhc2UuIEluIG90aGVyIHdvcmRzLCBJIGRv bid0IHNlZSBhIHByb2JsZW0gZm9yCj4+IG5laXRoZXIgdGhlIFJQTSBjYXNlIG9mIHRoZSAhUlBN IGNhc2UuCj4gMS4gRGV2aWNlIHNoYWxsIGJlIGluIFJQTS1zdXNwZW5kZWQgc3RhdGUgYXQgdGhl IHRpbWUgb2YgZHJpdmVyJ3MKPiByZW1vdmFsLCB1bmxlc3MgdGhlcmUgaXMgYSBidWcgaW4gdGhl IHNvdW5kIGRyaXZlci4gSGVuY2Ugd2h5IGRvIHlvdQo+IG5lZWQgdGhlIGRlYWQgY29kZSB3aGlj aCBkb2Vzbid0IGJyaW5nIGFueSBwcmFjdGljYWwgdmFsdWU/Cj4KPiAyLiBNYWtpbmcgY2hhbmdl cyB1bmRlcm5lYXRoIG9mIFJQTSBpcyBzaW1wbHkgZXJyb3ItcHJvbmUuIEl0IG1heSBoaXQKPiBi YWRseSBpbiB0aGUgZnV0dXJlIG9uY2Ugc29tZXRoaW5nIHdpbGwgY2hhbmdlIGluIHRoZSBSUE0g Y29yZS4KCkkgdGhpbmsgd2UgYXJlIHN0cmV0Y2hpbmcgYSBiaXQgbW9yZSBoZXJlIHdoZW4gdGhl cmUgaXMgbm8gYW55IHJlYWwgaGFybS4KUmlnaHQgbm93IGl0IHdvcmtzIHdlbGwgZm9yIGJvdGgg UlBNIGFuZCAhUlBNIGNhc2UgYW5kIGlmIHdlIHJlYWxseSBuZWVkIHRvCmZpeCBzb21ldGhpbmcg aW4gZnV0dXJlIHdlIGNhbiBmaXguIFNpbmNlIG15IGluaXRpYWwgaW5jbGluYXRpb24gd2FzIGtl ZXBpbmcKdGhlIGNvZGUgYXMgaXQgaXMgYW5kIEpvbiBhbHNvIGhhcyBzaW1pbGFyIHRob3VnaHRz LCBJIHdvdWxkIHJldGFpbiB0aGlzIApjb2RlLgpTb3JyeSBEbWl0cnksIHdlIGNhbiBmaXggaWYg c29tZXRoaW5nIGNvbWVzIHVwIGFuZCBtYW55IG90aGVyIGRyaXZlcnMgd291bGQKbmVlZCB0aGlz IGF0IHRoYXQgdGltZS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5v cmcKaHR0cHM6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbHNh LWRldmVsCg==