[{"id":1783995,"web_url":"http://patchwork.ozlabs.org/comment/1783995/","msgid":"<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>","list_archive_url":null,"date":"2017-10-10T18:00:41","subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","submitter":{"id":19886,"url":"http://patchwork.ozlabs.org/api/people/19886/","name":"Matthias Brugger","email":"matthias.bgg@gmail.com"},"content":"On 09/21/2017 10:26 AM, sean.wang@mediatek.com wrote:\n> From: Sean Wang <sean.wang@mediatek.com>\n> \n> pwrap initialization is highly associated with the base SoC, so\n> update here for allowing pwrap_init without slave program which would be\n> used to those PMICs without extra encryption on bus such as MT6380.\n> \n> Signed-off-by: Chenglin Xu <chenglin.xu@mediatek.com>\n> Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>\n> Signed-off-by: Sean Wang <sean.wang@mediatek.com>\n> ---\n>   drivers/soc/mediatek/mtk-pmic-wrap.c | 91 +++++++++++++++++++++---------------\n>   1 file changed, 54 insertions(+), 37 deletions(-)\n> \n> diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> index 27d7ccc..9c6d855 100644\n> --- a/drivers/soc/mediatek/mtk-pmic-wrap.c\n> +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> @@ -531,6 +531,7 @@ struct pmic_wrapper_type {\n>   \tu32 spi_w;\n>   \tu32 wdt_src;\n>   \tint has_bridge:1;\n> +\tint slv_program:1;\n>   \tint (*init_reg_clock)(struct pmic_wrapper *wrp);\n>   \tint (*init_soc_specific)(struct pmic_wrapper *wrp);\n>   };\n> @@ -999,9 +1000,12 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n>   \t}\n>   \n>   \t/* Reset SPI slave */\n> -\tret = pwrap_reset_spislave(wrp);\n> -\tif (ret)\n> -\t\treturn ret;\n> +\n> +\tif (wrp->master->slv_program) {\n> +\t\tret = pwrap_reset_spislave(wrp);\n> +\t\tif (ret)\n> +\t\t\treturn ret;\n> +\t}\n>   \n>   \tpwrap_writel(wrp, 1, PWRAP_WRAP_EN);\n>   \n> @@ -1013,45 +1017,52 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n>   \tif (ret)\n>   \t\treturn ret;\n>   \n> -\t/* Setup serial input delay */\n> -\tret = pwrap_init_sidly(wrp);\n> -\tif (ret)\n> -\t\treturn ret;\n> +\tif (wrp->master->slv_program) {\n\nThis if branch is really long and complex enough to put it into function apart.\n\nThanks,\nMatthias\n\nPD please take into account the comments I made on v3 of the series.\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"AuPN2s55\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yBPzk0p3nz9t5l\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 11 Oct 2017 05:00:50 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1755836AbdJJSAs (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tTue, 10 Oct 2017 14:00:48 -0400","from mail-pf0-f195.google.com ([209.85.192.195]:34956 \"EHLO\n\tmail-pf0-f195.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1755818AbdJJSAr (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 10 Oct 2017 14:00:47 -0400","by mail-pf0-f195.google.com with SMTP id i23so37385398pfi.2;\n\tTue, 10 Oct 2017 11:00:47 -0700 (PDT)","from ziggy.stardust (123.154.133.37.dynamic.jazztel.es.\n\t[37.133.154.123]) by smtp.gmail.com with ESMTPSA id\n\tr79sm19813350pfa.179.2017.10.10.11.00.44\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 10 Oct 2017 11:00:46 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=IEBnzyiFKZbIX8Udmdd2tqNnzhOZiTNehqONBY3ocIg=;\n\tb=AuPN2s55Wjxga1kGDV5mZq3qvgZDjR5w5IXlXZBuUVTTdakBRWUCt2a5/LygVFFYS2\n\tOJ4402GgDDK7qDIQqyai/ZqTBY+68+DfdM9alidIqjmZCeW3f4HnSUl/St2qElzpbleB\n\tHM4G40Hjd/fppDLWotF5ZjvUKkgBbDxmOGGF2TnZHxw3GrPCYVT+19jmNE7DwvT1PibI\n\tRXAm22aKaGvcr/5PaZO5BUD4Pzhsd3Ta6cKWF8msAyEEnXiyOULbaosXs/OwZYknpE9+\n\tPPDG0yy++ymIWqie95NgUZlhVkxepdeI0FCiXvdKjtK09gR9ePet75snq1G+L3XxDjqe\n\tXGnQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=IEBnzyiFKZbIX8Udmdd2tqNnzhOZiTNehqONBY3ocIg=;\n\tb=YGRzoflp75GIZdpNsEeukMxqlrU9WSystedBADJ8H4der1NINnoDCStr0u/ceZgIgZ\n\tuRcPQmaxYZdd3qLV5N8XBZRHVjQMLKaQATocgntlLPLBUO41RklIHv07L2zf//6Jq8FA\n\tELiZq2ogGOYXeKKxUvjtJv4GoQcZaKPaefKjEMNYwGu/6BTPO9YwpaUFB1oxM0Y093B5\n\tRnY+TOhcOK5KZP0AlUNzdAwrcO/uIJ0IP1RzYihVpUTR7OcQ4iReICU3WD6ep2Cz6Fun\n\tUVMatB78uFf3hfB83s9PXI68xrF9qOskOWp7E54vU7mfxejURcNcmsdW2Wu0FbHtHIo8\n\tkRPA==","X-Gm-Message-State":"AMCzsaWVuXARHj46B/YH8N49nJw+qOG5ZkLP3/wnb91l4zf9SYnjGtRy\n\t1uYxgDNwhvOwjgG3eFgHXMfa2GZQ","X-Google-Smtp-Source":"AOwi7QA0HkRORjpwiHB4OqC9U2ExUpxXl8Esvrl2VTSgQxCqg5O6CK03UJJqhV6UAP1ZvQ637gLCiA==","X-Received":"by 10.101.81.197 with SMTP id i5mr13187697pgq.374.1507658446921; \n\tTue, 10 Oct 2017 11:00:46 -0700 (PDT)","Subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","To":"sean.wang@mediatek.com, robh+dt@kernel.org, mark.rutland@arm.com,\n\tdevicetree@vger.kernel.org, linux-mediatek@lists.infradead.org","Cc":"chen.zhong@mediatek.com, chenglin.xu@mediatek.com,\n\tlinux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org","References":"<cover.1505980364.git.sean.wang@mediatek.com>\n\t<604078485ca9ab04cea5bc531425d6035b27bc88.1505980364.git.sean.wang@mediatek.com>","From":"Matthias Brugger <matthias.bgg@gmail.com>","Message-ID":"<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>","Date":"Tue, 10 Oct 2017 20:00:41 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<604078485ca9ab04cea5bc531425d6035b27bc88.1505980364.git.sean.wang@mediatek.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1786145,"web_url":"http://patchwork.ozlabs.org/comment/1786145/","msgid":"<1507887704.21840.32.camel@mtkswgap22>","list_archive_url":null,"date":"2017-10-13T09:41:44","subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","submitter":{"id":69660,"url":"http://patchwork.ozlabs.org/api/people/69660/","name":"Sean Wang","email":"sean.wang@mediatek.com"},"content":"On Tue, 2017-10-10 at 20:00 +0200, Matthias Brugger wrote:\n> \n> On 09/21/2017 10:26 AM, sean.wang@mediatek.com wrote:\n> > From: Sean Wang <sean.wang@mediatek.com>\n> > \n> > pwrap initialization is highly associated with the base SoC, so\n> > update here for allowing pwrap_init without slave program which would be\n> > used to those PMICs without extra encryption on bus such as MT6380.\n> > \n> > Signed-off-by: Chenglin Xu <chenglin.xu@mediatek.com>\n> > Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>\n> > Signed-off-by: Sean Wang <sean.wang@mediatek.com>\n> > ---\n> >   drivers/soc/mediatek/mtk-pmic-wrap.c | 91 +++++++++++++++++++++---------------\n> >   1 file changed, 54 insertions(+), 37 deletions(-)\n> > \n> > diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> > index 27d7ccc..9c6d855 100644\n> > --- a/drivers/soc/mediatek/mtk-pmic-wrap.c\n> > +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> > @@ -531,6 +531,7 @@ struct pmic_wrapper_type {\n> >   \tu32 spi_w;\n> >   \tu32 wdt_src;\n> >   \tint has_bridge:1;\n> > +\tint slv_program:1;\n> >   \tint (*init_reg_clock)(struct pmic_wrapper *wrp);\n> >   \tint (*init_soc_specific)(struct pmic_wrapper *wrp);\n> >   };\n> > @@ -999,9 +1000,12 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n> >   \t}\n> >   \n> >   \t/* Reset SPI slave */\n> > -\tret = pwrap_reset_spislave(wrp);\n> > -\tif (ret)\n> > -\t\treturn ret;\n> > +\n> > +\tif (wrp->master->slv_program) {\n> > +\t\tret = pwrap_reset_spislave(wrp);\n> > +\t\tif (ret)\n> > +\t\t\treturn ret;\n> > +\t}\n> >   \n> >   \tpwrap_writel(wrp, 1, PWRAP_WRAP_EN);\n> >   \n> > @@ -1013,45 +1017,52 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n> >   \tif (ret)\n> >   \t\treturn ret;\n> >   \n> > -\t/* Setup serial input delay */\n> > -\tret = pwrap_init_sidly(wrp);\n> > -\tif (ret)\n> > -\t\treturn ret;\n> > +\tif (wrp->master->slv_program) {\n> \n> This if branch is really long and complex enough to put it into function apart.\n> \n> Thanks,\n> Matthias\n> \n> PD please take into account the comments I made on v3 of the series.\n> \n\nI'll try to breakdown the long logic into the short one and use a flag\nindicating the slave capability decides whether the functions is\nrequired being enabled for the slave instead of slv_program which is\nless meaningful. In this way, pmic_init will be more extensible when\nmore different SoCs and target slaves with various flavors into the\ndriver. And also take into accounts those suggestions you made in v3 in\nthe next version.\n\n\tSean\n\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yD2mh5X7Kz9t0F\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri, 13 Oct 2017 20:41:56 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751480AbdJMJlz (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 13 Oct 2017 05:41:55 -0400","from mailgw01.mediatek.com ([218.249.47.110]:46336 \"EHLO\n\tmailgw01.mediatek.com\" rhost-flags-OK-FAIL-OK-FAIL) by\n\tvger.kernel.org with ESMTP id S1751122AbdJMJly (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Fri, 13 Oct 2017 05:41:54 -0400","from mtkcas34.mediatek.inc [(172.27.4.250)] by\n\tmailgw01.mediatek.com (envelope-from <sean.wang@mediatek.com>)\n\t(mailgw01.mediatek.com ESMTP with TLS)\n\twith ESMTP id 1045029300; Fri, 13 Oct 2017 17:41:46 +0800","from mtkcas07.mediatek.inc (172.21.101.84) by\n\tMTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server\n\t(TLS) id 15.0.1210.3; Fri, 13 Oct 2017 17:41:44 +0800","from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc\n\t(172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via\n\tFrontend Transport; Fri, 13 Oct 2017 17:41:44 +0800"],"X-UUID":"c0e4b9e8688042c7a0b5f4db39b832dc-20171013","Message-ID":"<1507887704.21840.32.camel@mtkswgap22>","Subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","From":"Sean Wang <sean.wang@mediatek.com>","To":"Matthias Brugger <matthias.bgg@gmail.com>","CC":"<robh+dt@kernel.org>, <mark.rutland@arm.com>,\n\t<devicetree@vger.kernel.org>, <linux-mediatek@lists.infradead.org>,\n\t<chen.zhong@mediatek.com>, <chenglin.xu@mediatek.com>,\n\t<linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>","Date":"Fri, 13 Oct 2017 17:41:44 +0800","In-Reply-To":"<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>","References":"<cover.1505980364.git.sean.wang@mediatek.com>\n\t<604078485ca9ab04cea5bc531425d6035b27bc88.1505980364.git.sean.wang@mediatek.com>\n\t<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-Mailer":"Evolution 3.2.3-0ubuntu6 ","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","X-MTK":"N","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1786310,"web_url":"http://patchwork.ozlabs.org/comment/1786310/","msgid":"<fe0952f1-c018-8492-7336-149f917463e1@gmail.com>","list_archive_url":null,"date":"2017-10-13T14:07:57","subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","submitter":{"id":19886,"url":"http://patchwork.ozlabs.org/api/people/19886/","name":"Matthias Brugger","email":"matthias.bgg@gmail.com"},"content":"On 10/13/2017 11:41 AM, Sean Wang wrote:\n> On Tue, 2017-10-10 at 20:00 +0200, Matthias Brugger wrote:\n>>\n>> On 09/21/2017 10:26 AM, sean.wang@mediatek.com wrote:\n>>> From: Sean Wang <sean.wang@mediatek.com>\n>>>\n>>> pwrap initialization is highly associated with the base SoC, so\n>>> update here for allowing pwrap_init without slave program which would be\n>>> used to those PMICs without extra encryption on bus such as MT6380.\n>>>\n>>> Signed-off-by: Chenglin Xu <chenglin.xu@mediatek.com>\n>>> Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>\n>>> Signed-off-by: Sean Wang <sean.wang@mediatek.com>\n>>> ---\n>>>    drivers/soc/mediatek/mtk-pmic-wrap.c | 91 +++++++++++++++++++++---------------\n>>>    1 file changed, 54 insertions(+), 37 deletions(-)\n>>>\n>>> diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c\n>>> index 27d7ccc..9c6d855 100644\n>>> --- a/drivers/soc/mediatek/mtk-pmic-wrap.c\n>>> +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c\n>>> @@ -531,6 +531,7 @@ struct pmic_wrapper_type {\n>>>    \tu32 spi_w;\n>>>    \tu32 wdt_src;\n>>>    \tint has_bridge:1;\n>>> +\tint slv_program:1;\n>>>    \tint (*init_reg_clock)(struct pmic_wrapper *wrp);\n>>>    \tint (*init_soc_specific)(struct pmic_wrapper *wrp);\n>>>    };\n>>> @@ -999,9 +1000,12 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n>>>    \t}\n>>>    \n>>>    \t/* Reset SPI slave */\n>>> -\tret = pwrap_reset_spislave(wrp);\n>>> -\tif (ret)\n>>> -\t\treturn ret;\n>>> +\n>>> +\tif (wrp->master->slv_program) {\n>>> +\t\tret = pwrap_reset_spislave(wrp);\n>>> +\t\tif (ret)\n>>> +\t\t\treturn ret;\n>>> +\t}\n>>>    \n>>>    \tpwrap_writel(wrp, 1, PWRAP_WRAP_EN);\n>>>    \n>>> @@ -1013,45 +1017,52 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n>>>    \tif (ret)\n>>>    \t\treturn ret;\n>>>    \n>>> -\t/* Setup serial input delay */\n>>> -\tret = pwrap_init_sidly(wrp);\n>>> -\tif (ret)\n>>> -\t\treturn ret;\n>>> +\tif (wrp->master->slv_program) {\n>>\n>> This if branch is really long and complex enough to put it into function apart.\n>>\n>> Thanks,\n>> Matthias\n>>\n>> PD please take into account the comments I made on v3 of the series.\n>>\n> \n> I'll try to breakdown the long logic into the short one and use a flag\n> indicating the slave capability decides whether the functions is\n> required being enabled for the slave instead of slv_program which is\n> less meaningful. In this way, pmic_init will be more extensible when\n> more different SoCs and target slaves with various flavors into the\n> driver. And also take into accounts those suggestions you made in v3 in\n> the next version.\n> \n> \tSean\n> \n\nI totally agree, but I wanted to underline that right now the if branch under\n\"if (wrp->master->slv_program)\" is around 30 lines, so I think it would be a \ngood candidate to put it into it's own function. For example: \npwrap_init_encryption()\nAs from what I understand from the commit log, slv_program in the end enables \nencryption of the communication, right?\n\nRegards,\nMatthias\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Kd2kKgih\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yD8h01szBz9sNr\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat, 14 Oct 2017 01:08:16 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1758282AbdJMOIE (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 13 Oct 2017 10:08:04 -0400","from mail-pf0-f193.google.com ([209.85.192.193]:56698 \"EHLO\n\tmail-pf0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1758242AbdJMOIB (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Fri, 13 Oct 2017 10:08:01 -0400","by mail-pf0-f193.google.com with SMTP id b85so10359234pfj.13;\n\tFri, 13 Oct 2017 07:08:01 -0700 (PDT)","from ziggy.stardust (123.154.133.37.dynamic.jazztel.es.\n\t[37.133.154.123]) by smtp.gmail.com with ESMTPSA id\n\ts86sm2897291pfi.74.2017.10.13.07.07.58\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 13 Oct 2017 07:08:00 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=qIh/LPVJjPPDWBc8jeL8bxMMtlz2entQ+PC6qPPlr+o=;\n\tb=Kd2kKgihgo/UDr/p3cQGJB2HRmezPQ30UWc8L1fm8vJyH3pOgl1WZoKlENRG/zTlo4\n\tZxSmG3KlhbEh/eEUUXrqHcYuEg6GqVKYy/G2Ky1YlvymHs/Qg/u80kdyoDv/ODl5XxPn\n\tsnAyNCLANv6jbgq6T6B8IKDZrVbDnfIrXTgRrbopRhHdZpLijlc179SBiKw19M2X/5jm\n\td24ajavU44/7RnxVlADAe9xDAax5y3V9VYrdbSbGqcGSALB/sRGsg0znoSK77xSB5uE0\n\ti3OBjX9gj8+qaWRumfQJ9AiytYLf/HyPKIw5Yf9FPHRTvDqQg+bwJBR9J53eow+3xylO\n\tCe9w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=qIh/LPVJjPPDWBc8jeL8bxMMtlz2entQ+PC6qPPlr+o=;\n\tb=NfxTuyivKKwkz/5Ihy0Hj0rUO4tiODXiDagdaqIUIUJs6CDKc2NobUHHuzSPuZ6XmQ\n\t53FrqE6aAU6RVhE8Jy7QrO44InX6NkSqWp2uAXbh4gDmwSQh50alqGjrCjsmLh5IjOa4\n\tbfAlh4rcsmEeiJuGlfDLIFs+hcjlmpYWPFJeE518GpSZGof8PwJiLbJeserkOBt6wKSG\n\t7CPzRYV3cwWVLf+bGZ1OWZ/G9L0fDg6JL31sKVD7QDGrBKXl/rqILxoYX/U2eu6QdyQg\n\tpx3incJW5SFgN8MyqQpKBr7EC9ZF/t0R9YK0K1to4yTnfOjcuExvXp6htSM71hcf5Ozb\n\tA3Mg==","X-Gm-Message-State":"AMCzsaX45UfuUugUMuJy9KTpVblvxICxIdNrWi1cbbpQvoWm2+iAV0DR\n\tSHhlfi13iH6vbB1vDmxfJXelvexM","X-Google-Smtp-Source":"AOwi7QAq6a/dfJKcKV1jXNw8gQCm7CoEdAgqwMmIUd3hlRTHqEqSlbKaxHI57IlKbAaXF4ELO0unUg==","X-Received":"by 10.98.160.90 with SMTP id r87mr1524909pfe.324.1507903681052; \n\tFri, 13 Oct 2017 07:08:01 -0700 (PDT)","Subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","To":"Sean Wang <sean.wang@mediatek.com>","Cc":"robh+dt@kernel.org, mark.rutland@arm.com,\n\tdevicetree@vger.kernel.org, linux-mediatek@lists.infradead.org,\n\tchen.zhong@mediatek.com, chenglin.xu@mediatek.com,\n\tlinux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org","References":"<cover.1505980364.git.sean.wang@mediatek.com>\n\t<604078485ca9ab04cea5bc531425d6035b27bc88.1505980364.git.sean.wang@mediatek.com>\n\t<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>\n\t<1507887704.21840.32.camel@mtkswgap22>","From":"Matthias Brugger <matthias.bgg@gmail.com>","Message-ID":"<fe0952f1-c018-8492-7336-149f917463e1@gmail.com>","Date":"Fri, 13 Oct 2017 16:07:57 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<1507887704.21840.32.camel@mtkswgap22>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1787149,"web_url":"http://patchwork.ozlabs.org/comment/1787149/","msgid":"<1508134939.21840.39.camel@mtkswgap22>","list_archive_url":null,"date":"2017-10-16T06:22:19","subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","submitter":{"id":69660,"url":"http://patchwork.ozlabs.org/api/people/69660/","name":"Sean Wang","email":"sean.wang@mediatek.com"},"content":"On Fri, 2017-10-13 at 16:07 +0200, Matthias Brugger wrote:\n> \n> On 10/13/2017 11:41 AM, Sean Wang wrote:\n> > On Tue, 2017-10-10 at 20:00 +0200, Matthias Brugger wrote:\n> >>\n> >> On 09/21/2017 10:26 AM, sean.wang@mediatek.com wrote:\n> >>> From: Sean Wang <sean.wang@mediatek.com>\n> >>>\n> >>> pwrap initialization is highly associated with the base SoC, so\n> >>> update here for allowing pwrap_init without slave program which would be\n> >>> used to those PMICs without extra encryption on bus such as MT6380.\n> >>>\n> >>> Signed-off-by: Chenglin Xu <chenglin.xu@mediatek.com>\n> >>> Signed-off-by: Chen Zhong <chen.zhong@mediatek.com>\n> >>> Signed-off-by: Sean Wang <sean.wang@mediatek.com>\n> >>> ---\n> >>>    drivers/soc/mediatek/mtk-pmic-wrap.c | 91 +++++++++++++++++++++---------------\n> >>>    1 file changed, 54 insertions(+), 37 deletions(-)\n> >>>\n> >>> diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> >>> index 27d7ccc..9c6d855 100644\n> >>> --- a/drivers/soc/mediatek/mtk-pmic-wrap.c\n> >>> +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c\n> >>> @@ -531,6 +531,7 @@ struct pmic_wrapper_type {\n> >>>    \tu32 spi_w;\n> >>>    \tu32 wdt_src;\n> >>>    \tint has_bridge:1;\n> >>> +\tint slv_program:1;\n> >>>    \tint (*init_reg_clock)(struct pmic_wrapper *wrp);\n> >>>    \tint (*init_soc_specific)(struct pmic_wrapper *wrp);\n> >>>    };\n> >>> @@ -999,9 +1000,12 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n> >>>    \t}\n> >>>    \n> >>>    \t/* Reset SPI slave */\n> >>> -\tret = pwrap_reset_spislave(wrp);\n> >>> -\tif (ret)\n> >>> -\t\treturn ret;\n> >>> +\n> >>> +\tif (wrp->master->slv_program) {\n> >>> +\t\tret = pwrap_reset_spislave(wrp);\n> >>> +\t\tif (ret)\n> >>> +\t\t\treturn ret;\n> >>> +\t}\n> >>>    \n> >>>    \tpwrap_writel(wrp, 1, PWRAP_WRAP_EN);\n> >>>    \n> >>> @@ -1013,45 +1017,52 @@ static int pwrap_init(struct pmic_wrapper *wrp)\n> >>>    \tif (ret)\n> >>>    \t\treturn ret;\n> >>>    \n> >>> -\t/* Setup serial input delay */\n> >>> -\tret = pwrap_init_sidly(wrp);\n> >>> -\tif (ret)\n> >>> -\t\treturn ret;\n> >>> +\tif (wrp->master->slv_program) {\n> >>\n> >> This if branch is really long and complex enough to put it into function apart.\n> >>\n> >> Thanks,\n> >> Matthias\n> >>\n> >> PD please take into account the comments I made on v3 of the series.\n> >>\n> > \n> > I'll try to breakdown the long logic into the short one and use a flag\n> > indicating the slave capability decides whether the functions is\n> > required being enabled for the slave instead of slv_program which is\n> > less meaningful. In this way, pmic_init will be more extensible when\n> > more different SoCs and target slaves with various flavors into the\n> > driver. And also take into accounts those suggestions you made in v3 in\n> > the next version.\n> > \n> > \tSean\n> > \n> \n> I totally agree, but I wanted to underline that right now the if branch under\n> \"if (wrp->master->slv_program)\" is around 30 lines, so I think it would be a \n> good candidate to put it into it's own function. For example: \n> pwrap_init_encryption()\n\nunderstood. I'll try to turn the code block into a function.\n\n> As from what I understand from the commit log, slv_program in the end enables \n> encryption of the communication, right?\n> \n\nyes. slv_program in the end will enable the security feature over the\nbus such as the encryption and the signature for the data integrity when\nthe pwrap slave can support it.\n\n\n> Regards,\n> Matthias\n\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yFpCD5p7vz9t1t\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 16 Oct 2017 17:22:32 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750826AbdJPGWa (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 16 Oct 2017 02:22:30 -0400","from mailgw02.mediatek.com ([218.249.47.111]:41991 \"EHLO\n\tmailgw02.mediatek.com\" rhost-flags-OK-FAIL-OK-FAIL) by\n\tvger.kernel.org with ESMTP id S1750821AbdJPGW3 (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 16 Oct 2017 02:22:29 -0400","from mtkcas32.mediatek.inc [(172.27.4.250)] by\n\tmailgw02.mediatek.com (envelope-from <sean.wang@mediatek.com>)\n\t(mailgw01.mediatek.com ESMTP with TLS)\n\twith ESMTP id 388197727; Mon, 16 Oct 2017 14:22:21 +0800","from mtkcas09.mediatek.inc (172.21.101.178) by\n\tMTKMBS31N1.mediatek.inc (172.27.4.69) with Microsoft SMTP Server\n\t(TLS) id 15.0.1210.3; Mon, 16 Oct 2017 14:22:20 +0800","from [172.21.77.33] (172.21.77.33) by mtkcas09.mediatek.inc\n\t(172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via\n\tFrontend Transport; Mon, 16 Oct 2017 14:22:19 +0800"],"X-UUID":"3c4aa987d79e4abdb1efb955fbbec4f5-20171016","Message-ID":"<1508134939.21840.39.camel@mtkswgap22>","Subject":"Re: [PATCH v4 4/7] soc: mediatek: pwrap: update pwrap_init without\n\tslave programming","From":"Sean Wang <sean.wang@mediatek.com>","To":"Matthias Brugger <matthias.bgg@gmail.com>","CC":"<robh+dt@kernel.org>, <mark.rutland@arm.com>,\n\t<devicetree@vger.kernel.org>, <linux-mediatek@lists.infradead.org>,\n\t<chen.zhong@mediatek.com>, <chenglin.xu@mediatek.com>,\n\t<linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>","Date":"Mon, 16 Oct 2017 14:22:19 +0800","In-Reply-To":"<fe0952f1-c018-8492-7336-149f917463e1@gmail.com>","References":"<cover.1505980364.git.sean.wang@mediatek.com>\n\t<604078485ca9ab04cea5bc531425d6035b27bc88.1505980364.git.sean.wang@mediatek.com>\n\t<f3a04159-8491-6ca6-d2ad-7df1dfd64331@gmail.com>\n\t<1507887704.21840.32.camel@mtkswgap22>\n\t<fe0952f1-c018-8492-7336-149f917463e1@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-Mailer":"Evolution 3.2.3-0ubuntu6 ","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","X-MTK":"N","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}}]