All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/7] irqchip: gic: Support hierarchy irq domain.
Date: Mon, 13 Oct 2014 10:44:43 +0100	[thread overview]
Message-ID: <543B9F0B.8000205@arm.com> (raw)
In-Reply-To: <3536113.xYztHpGTJM@wuerfel>

On 13/10/14 10:27, Arnd Bergmann wrote:
> On Monday 13 October 2014 09:56:20 Marc Zyngier wrote:
>>         if (irq_domain_is_hierarchy(domain)) {
>> +               if (domain->ops->xlate) {
>> +                       /*
>> +                        * If we've already configured this interrupt,
>> +                        * don't do it again, or hell will break loose.
>> +                        */
>> +                       if (domain->ops->xlate(domain, irq_data->np,
>> +                                              irq_data->args,
>> +                                              irq_data->args_count,
>> +                                              &hwirq, &type))
>> +                               return 0;
>> +
>> +                       virq = irq_find_mapping(domain, hwirq);
>> +                       if (virq)
>> +                               return virq;
>> +               }
>>                 virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, irq_data);
>>                 return virq <= 0 ? 0 : virq;
>>         }
>>
>> Thoughts?
> 
> Using irq_find_mapping() first is probably the right approach, that
> is what irq_create_mapping() does too, and I suppose we want those
> to be symmetric.

Ah, good point. I somehow missed that.

> mt_sysirq_domain_alloc() in patch 4 has the irq_find_domain check
> in it, which I guess we can remove when it has moved to the common
> code.
> 
> I don't see irq_domain_alloc_irqs() in linux-next or older kernels, where
> does that get introduced?

This is part of Jiang's domain hierarchy series:
https://patchwork.ozlabs.org/patch/388279/

which I plan to use to get rid of the ugly gic_extn hack that only Tegra
uses (but that everyone tries to abuse), and also for the GICv2m support.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Joe.C" <yingjoe.chen@mediatek.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jiang Liu <jiang.liu@linux.intel.com>,
	Mark Rutland <Mark.Rutland@arm.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Sricharan R <r.sricharan@ti.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Russell King <linux@arm.linux.org.uk>,
	"yingjoe.chen@gmail.com" <yingjoe.chen@gmail.com>,
	"yh.chen@mediatek.com" <yh.chen@mediatek.com>,
	"arm@kernel.org" <arm@kernel.org>,
	"nathan.chung@mediatek.com" <nathan.chung@mediatek.com>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Jason Cooper <jason@lakedaemon.net>,
	Pawel Moll <Pawel.Moll@arm.com>, Matt Porter <mporter@linaro.org>,
	Marc Carino <marc.ceeeee@gmail.com>,
	Rob Herring <robh+dt@kernel.org>Ma
Subject: Re: [PATCH v3 3/7] irqchip: gic: Support hierarchy irq domain.
Date: Mon, 13 Oct 2014 10:44:43 +0100	[thread overview]
Message-ID: <543B9F0B.8000205@arm.com> (raw)
In-Reply-To: <3536113.xYztHpGTJM@wuerfel>

On 13/10/14 10:27, Arnd Bergmann wrote:
> On Monday 13 October 2014 09:56:20 Marc Zyngier wrote:
>>         if (irq_domain_is_hierarchy(domain)) {
>> +               if (domain->ops->xlate) {
>> +                       /*
>> +                        * If we've already configured this interrupt,
>> +                        * don't do it again, or hell will break loose.
>> +                        */
>> +                       if (domain->ops->xlate(domain, irq_data->np,
>> +                                              irq_data->args,
>> +                                              irq_data->args_count,
>> +                                              &hwirq, &type))
>> +                               return 0;
>> +
>> +                       virq = irq_find_mapping(domain, hwirq);
>> +                       if (virq)
>> +                               return virq;
>> +               }
>>                 virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, irq_data);
>>                 return virq <= 0 ? 0 : virq;
>>         }
>>
>> Thoughts?
> 
> Using irq_find_mapping() first is probably the right approach, that
> is what irq_create_mapping() does too, and I suppose we want those
> to be symmetric.

Ah, good point. I somehow missed that.

> mt_sysirq_domain_alloc() in patch 4 has the irq_find_domain check
> in it, which I guess we can remove when it has moved to the common
> code.
> 
> I don't see irq_domain_alloc_irqs() in linux-next or older kernels, where
> does that get introduced?

This is part of Jiang's domain hierarchy series:
https://patchwork.ozlabs.org/patch/388279/

which I plan to use to get rid of the ugly gic_extn hack that only Tegra
uses (but that everyone tries to abuse), and also for the GICv2m support.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"Joe.C" <yingjoe.chen@mediatek.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jiang Liu <jiang.liu@linux.intel.com>,
	Mark Rutland <Mark.Rutland@arm.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Sricharan R <r.sricharan@ti.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Russell King <linux@arm.linux.org.uk>,
	"yingjoe.chen@gmail.com" <yingjoe.chen@gmail.com>,
	"yh.chen@mediatek.com" <yh.chen@mediatek.com>,
	"arm@kernel.org" <arm@kernel.org>,
	"nathan.chung@mediatek.com" <nathan.chung@mediatek.com>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Jason Cooper <jason@lakedaemon.net>,
	Pawel Moll <Pawel.Moll@arm.com>, Matt Porter <mporter@linaro.org>,
	Marc Carino <marc.ceeeee@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	"eddie.huang@mediatek.com" <eddie.huang@mediatek.com>,
	"srv_heupstream@mediatek.com" <srv_heupstream@mediatek.com>,
	"hc.yen@mediatek.com" <hc.yen@mediatek.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Sascha Hauer <kernel@pengutronix.de>,
	Olof Johansson <olof@lixom.net>
Subject: Re: [PATCH v3 3/7] irqchip: gic: Support hierarchy irq domain.
Date: Mon, 13 Oct 2014 10:44:43 +0100	[thread overview]
Message-ID: <543B9F0B.8000205@arm.com> (raw)
In-Reply-To: <3536113.xYztHpGTJM@wuerfel>

On 13/10/14 10:27, Arnd Bergmann wrote:
> On Monday 13 October 2014 09:56:20 Marc Zyngier wrote:
>>         if (irq_domain_is_hierarchy(domain)) {
>> +               if (domain->ops->xlate) {
>> +                       /*
>> +                        * If we've already configured this interrupt,
>> +                        * don't do it again, or hell will break loose.
>> +                        */
>> +                       if (domain->ops->xlate(domain, irq_data->np,
>> +                                              irq_data->args,
>> +                                              irq_data->args_count,
>> +                                              &hwirq, &type))
>> +                               return 0;
>> +
>> +                       virq = irq_find_mapping(domain, hwirq);
>> +                       if (virq)
>> +                               return virq;
>> +               }
>>                 virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, irq_data);
>>                 return virq <= 0 ? 0 : virq;
>>         }
>>
>> Thoughts?
> 
> Using irq_find_mapping() first is probably the right approach, that
> is what irq_create_mapping() does too, and I suppose we want those
> to be symmetric.

Ah, good point. I somehow missed that.

> mt_sysirq_domain_alloc() in patch 4 has the irq_find_domain check
> in it, which I guess we can remove when it has moved to the common
> code.
> 
> I don't see irq_domain_alloc_irqs() in linux-next or older kernels, where
> does that get introduced?

This is part of Jiang's domain hierarchy series:
https://patchwork.ozlabs.org/patch/388279/

which I plan to use to get rid of the ugly gic_extn hack that only Tegra
uses (but that everyone tries to abuse), and also for the GICv2m support.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...


  reply	other threads:[~2014-10-13  9:44 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09 14:29 [PATCH v3 0/7] ARM: mediatek: Add support for interrupt polarity Joe.C
2014-10-09 14:29 ` Joe.C
2014-10-09 14:29 ` [PATCH v3 1/7] irqdomain: Fix irq_domain_alloc_irqs return check Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-13 12:11   ` Marc Zyngier
2014-10-13 12:11     ` Marc Zyngier
2014-10-13 12:11     ` Marc Zyngier
2014-10-13 14:13     ` Jiang Liu
2014-10-13 14:13       ` Jiang Liu
2014-10-13 14:13       ` Jiang Liu
2014-10-09 14:29 ` [PATCH v3 2/7] genirq: Add more helper functions to support stacked irq_chip Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-09 14:29 ` [PATCH v3 3/7] irqchip: gic: Support hierarchy irq domain Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-09 16:59   ` Marc Zyngier
2014-10-09 16:59     ` Marc Zyngier
2014-10-09 16:59     ` Marc Zyngier
2014-10-09 17:22     ` Arnd Bergmann
2014-10-09 17:22       ` Arnd Bergmann
2014-10-09 17:22       ` Arnd Bergmann
2014-10-13 10:43     ` Joe.C
2014-10-13 10:43       ` Joe.C
2014-10-13 12:10       ` Marc Zyngier
2014-10-13 12:10         ` Marc Zyngier
2014-10-13 12:10         ` Marc Zyngier
2014-10-13 19:51         ` Arnd Bergmann
2014-10-13 19:51           ` Arnd Bergmann
2014-10-13 19:51           ` Arnd Bergmann
2014-10-13  8:56   ` Marc Zyngier
2014-10-13  8:56     ` Marc Zyngier
2014-10-13  8:56     ` Marc Zyngier
2014-10-13  9:25     ` Marc Zyngier
2014-10-13  9:25       ` Marc Zyngier
2014-10-13  9:25       ` Marc Zyngier
2014-10-13  9:27     ` Arnd Bergmann
2014-10-13  9:27       ` Arnd Bergmann
2014-10-13  9:27       ` Arnd Bergmann
2014-10-13  9:44       ` Marc Zyngier [this message]
2014-10-13  9:44         ` Marc Zyngier
2014-10-13  9:44         ` Marc Zyngier
2014-10-09 14:29 ` [PATCH v3 4/7] ARM: mediatek: Add sysirq interrupt polarity support Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-09 14:37   ` Arnd Bergmann
2014-10-09 14:37     ` Arnd Bergmann
2014-10-09 14:37     ` Arnd Bergmann
2014-10-09 14:53     ` Joe.C
2014-10-09 14:53       ` Joe.C
2014-10-13 13:43   ` Matthias Brugger
2014-10-13 13:43     ` Matthias Brugger
2014-10-13 14:14     ` Matthias Brugger
2014-10-13 14:14       ` Matthias Brugger
2014-10-13 14:14       ` Matthias Brugger
2014-10-09 14:29 ` [PATCH v3 5/7] ARM: mediatek: Add sysirq in mt6589/mt8135/mt8127 dtsi Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-09 14:29 ` [PATCH v3 6/7] dt-bindings: add irq domain parent binding Joe.C
2014-10-09 14:29   ` Joe.C
2014-10-09 14:57   ` Mark Rutland
2014-10-09 14:57     ` Mark Rutland
2014-10-09 14:57     ` Mark Rutland
2014-10-09 14:29 ` [PATCH v3 7/7] dt-bindings: add bindings for mediatek sysirq Joe.C
2014-10-09 14:29   ` Joe.C

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543B9F0B.8000205@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.