[{"id":2196438,"web_url":"http://patchwork.ozlabs.org/comment/2196438/","msgid":"<bbbaaad7-d20d-c648-af73-ec0960a33896@arm.com>","list_archive_url":null,"date":"2019-06-18T09:26:26","subject":"Re: [PATCH V3 12/17] soc/tegra: pmc: allow support for more tegra\n\twake","submitter":{"id":7353,"url":"http://patchwork.ozlabs.org/api/people/7353/","name":"Marc Zyngier","email":"marc.zyngier@arm.com"},"content":"On 18/06/2019 08:46, Sowjanya Komatineni wrote:\n> This patch allows to create separate irq_set_wake and irq_set_type\n> implementations for different tegra designs PMC that has different\n> wake models which require difference wake registers and different\n> programming sequence.\n> \n> AOWAKE model support is available for Tegra186 and Tegra194 only\n> and it resides within PMC and supports tiered wake architecture.\n> \n> Tegra210 and prior tegra designs uses PMC directly to receive wake\n> events and coordinate the wake sequence.\n> \n> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>\n> ---\n>  drivers/soc/tegra/pmc.c | 14 ++++++++++----\n>  1 file changed, 10 insertions(+), 4 deletions(-)\n> \n> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c\n> index edd4fe06810f..e87f29a35fcf 100644\n> --- a/drivers/soc/tegra/pmc.c\n> +++ b/drivers/soc/tegra/pmc.c\n> @@ -226,6 +226,8 @@ struct tegra_pmc_soc {\n>  \tvoid (*setup_irq_polarity)(struct tegra_pmc *pmc,\n>  \t\t\t\t   struct device_node *np,\n>  \t\t\t\t   bool invert);\n> +\tint (*irq_set_wake)(struct irq_data *data, unsigned int on);\n> +\tint (*irq_set_type)(struct irq_data *data, unsigned int type);\n>  \n>  \tconst char * const *reset_sources;\n>  \tunsigned int num_reset_sources;\n> @@ -1919,7 +1921,7 @@ static const struct irq_domain_ops tegra_pmc_irq_domain_ops = {\n>  \t.alloc = tegra_pmc_irq_alloc,\n>  };\n>  \n> -static int tegra_pmc_irq_set_wake(struct irq_data *data, unsigned int on)\n> +static int tegra186_pmc_irq_set_wake(struct irq_data *data, unsigned int on)\n>  {\n>  \tstruct tegra_pmc *pmc = irq_data_get_irq_chip_data(data);\n>  \tunsigned int offset, bit;\n> @@ -1951,7 +1953,7 @@ static int tegra_pmc_irq_set_wake(struct irq_data *data, unsigned int on)\n>  \treturn 0;\n>  }\n>  \n> -static int tegra_pmc_irq_set_type(struct irq_data *data, unsigned int type)\n> +static int tegra186_pmc_irq_set_type(struct irq_data *data, unsigned int type)\n>  {\n>  \tstruct tegra_pmc *pmc = irq_data_get_irq_chip_data(data);\n>  \tu32 value;\n> @@ -2005,8 +2007,10 @@ static int tegra_pmc_irq_init(struct tegra_pmc *pmc)\n>  \tpmc->irq.irq_unmask = irq_chip_unmask_parent;\n>  \tpmc->irq.irq_eoi = irq_chip_eoi_parent;\n>  \tpmc->irq.irq_set_affinity = irq_chip_set_affinity_parent;\n> -\tpmc->irq.irq_set_type = tegra_pmc_irq_set_type;\n> -\tpmc->irq.irq_set_wake = tegra_pmc_irq_set_wake;\n> +\tif (pmc->soc->irq_set_type)\n> +\t\tpmc->irq.irq_set_type = pmc->soc->irq_set_type;\n> +\tif (pmc->soc->irq_set_wake)\n> +\t\tpmc->irq.irq_set_wake = pmc->soc->irq_set_wake;\n\nTwo cases: either the value is non NULL, and we assign it, or it is\nNULL, and we leave it to what it was, presumably NULL. I guess you can\ndrop the both ifs.\n\n>  \n>  \tpmc->domain = irq_domain_add_hierarchy(parent, 0, 96, pmc->dev->of_node,\n>  \t\t\t\t\t       &tegra_pmc_irq_domain_ops, pmc);\n> @@ -2679,6 +2683,8 @@ static const struct tegra_pmc_soc tegra186_pmc_soc = {\n>  \t.regs = &tegra186_pmc_regs,\n>  \t.init = NULL,\n>  \t.setup_irq_polarity = tegra186_pmc_setup_irq_polarity,\n> +\t.irq_set_wake = tegra186_pmc_irq_set_wake,\n> +\t.irq_set_type = tegra186_pmc_irq_set_type,\n>  \t.reset_sources = tegra186_reset_sources,\n>  \t.num_reset_sources = ARRAY_SIZE(tegra186_reset_sources),\n>  \t.reset_levels = tegra186_reset_levels,\n> \n\nThanks,\n\n\tM.","headers":{"Return-Path":"<linux-gpio-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@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=linux-gpio-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=arm.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 45SjQ81BwPz9s9y\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 18 Jun 2019 19:26:40 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1729386AbfFRJ0f (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tTue, 18 Jun 2019 05:26:35 -0400","from foss.arm.com ([217.140.110.172]:59236 \"EHLO foss.arm.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1729233AbfFRJ0f (ORCPT <rfc822;linux-gpio@vger.kernel.org>);\n\tTue, 18 Jun 2019 05:26:35 -0400","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 616ED344;\n\tTue, 18 Jun 2019 02:26:34 -0700 (PDT)","from [10.1.197.61] (usa-sjc-imap-foss1.foss.arm.com\n\t[10.121.207.14])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id\n\t2D6923F246; Tue, 18 Jun 2019 02:26:27 -0700 (PDT)"],"Subject":"Re: [PATCH V3 12/17] soc/tegra: pmc: allow support for more tegra\n\twake","To":"Sowjanya Komatineni <skomatineni@nvidia.com>,\n\tthierry.reding@gmail.com, jonathanh@nvidia.com, tglx@linutronix.de,\n\tjason@lakedaemon.net, linus.walleij@linaro.org, stefan@agner.ch,\n\tmark.rutland@arm.com","Cc":"pdeschrijver@nvidia.com, pgaikwad@nvidia.com, sboyd@kernel.org,\n\tlinux-clk@vger.kernel.org, linux-gpio@vger.kernel.org,\n\tjckuo@nvidia.com, josephl@nvidia.com, talho@nvidia.com,\n\tlinux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tmperttunen@nvidia.com, spatra@nvidia.com, robh+dt@kernel.org,\n\tdigetx@gmail.com, devicetree@vger.kernel.org","References":"<1560843991-24123-1-git-send-email-skomatineni@nvidia.com>\n\t<1560843991-24123-13-git-send-email-skomatineni@nvidia.com>","From":"Marc Zyngier <marc.zyngier@arm.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=marc.zyngier@arm.com; prefer-encrypt=mutual; keydata=\n\t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\n\tZ46HaNmN2hZS/oJ69c1DI5Rcww==","Organization":"ARM Ltd","Message-ID":"<bbbaaad7-d20d-c648-af73-ec0960a33896@arm.com>","Date":"Tue, 18 Jun 2019 10:26:26 +0100","User-Agent":"Mozilla/5.0 (X11; Linux aarch64; rv:60.0) Gecko/20100101\n\tThunderbird/60.7.0","MIME-Version":"1.0","In-Reply-To":"<1560843991-24123-13-git-send-email-skomatineni@nvidia.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"linux-gpio-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-gpio.vger.kernel.org>","X-Mailing-List":"linux-gpio@vger.kernel.org"}}]