From: Suravee Suthikulanit <suravee.suthikulpanit@amd.com>
To: Jiang Liu <jiang.liu@linux.intel.com>, <marc.zyngier@arm.com>,
<mark.rutland@arm.com>, <jason@lakedaemon.net>,
<tglx@linutronix.de>
Cc: <Catalin.Marinas@arm.com>, <Will.Deacon@arm.com>,
<liviu.dudau@arm.com>, <Harish.Kasiviswanathan@amd.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-doc@vger.kernel.org>, <devicetree@vger.kernel.org>
Subject: Re: [V10 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)
Date: Wed, 5 Nov 2014 18:05:32 -0600 [thread overview]
Message-ID: <545ABB4C.8010103@amd.com> (raw)
In-Reply-To: <5458CE31.3040404@linux.intel.com>
On 11/4/2014 7:01 AM, Jiang Liu wrote:
> Hi Suravee,
> You may build a two level hierarchy irqdomains. Use the
> utilities in this thread
> http://www.spinics.net/lists/arm-kernel/msg374722.html to build an MSI
> irqdomain to manage MSI controllers
> in PCI devices. And build another irqdomain to manage SPI allocation
> in GICv2.
> That is: MSI irqdomain (program MSI registers) -->
> GIV irqdomain (manage SPIs in GICv2 controller)
>
> Regards!
> Gerry
Gerry,
I try out your patch from the link above, and I have a couple
questions/issues.
1. In the drivers/pci/msi.c: msi_irq_domain_alloc_irqs(), it seems that
the hwirq comes from msi_get_hwirq(dev, msidesc). In GICv2m, hwirq for
MSI is fixed over a specific range. This might require arch-specific
callback.
2. In msi_domain_activate, why "if (!irq_data->chip_data)"?
3. In, msi_domain_alloc():
- There should be a way to specify other types of irq handler besides
the "handle_edge_irq". In case of GIC, it needs handle_fasteoi_irq.
- When calling irq_domain_set_hwirq_and_chip(), you are passing "(void
*)(long)i" for the "void *chip_data" parameter. What is this used for,
and where? Shouldn't this be pointing to arch-specific data structure?
- The code is calling irq_domain_alloc_irqs_parent before the loop,
which calls irq_domain_set_hwirq_and_chip() and __irq_set_handler.
Shouldn't the order be switched?
- Overall, it seems that msi_domain_alloc() could be quite different
across architectures. Would it be possible to declare this function as
weak, and allow arch to override (similar to arch_setup_msi_irq)?
Thanks,
Suravee
WARNING: multiple messages have this Message-ID (diff)
From: suravee.suthikulpanit@amd.com (Suravee Suthikulanit)
To: linux-arm-kernel@lists.infradead.org
Subject: [V10 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)
Date: Wed, 5 Nov 2014 18:05:32 -0600 [thread overview]
Message-ID: <545ABB4C.8010103@amd.com> (raw)
In-Reply-To: <5458CE31.3040404@linux.intel.com>
On 11/4/2014 7:01 AM, Jiang Liu wrote:
> Hi Suravee,
> You may build a two level hierarchy irqdomains. Use the
> utilities in this thread
> http://www.spinics.net/lists/arm-kernel/msg374722.html to build an MSI
> irqdomain to manage MSI controllers
> in PCI devices. And build another irqdomain to manage SPI allocation
> in GICv2.
> That is: MSI irqdomain (program MSI registers) -->
> GIV irqdomain (manage SPIs in GICv2 controller)
>
> Regards!
> Gerry
Gerry,
I try out your patch from the link above, and I have a couple
questions/issues.
1. In the drivers/pci/msi.c: msi_irq_domain_alloc_irqs(), it seems that
the hwirq comes from msi_get_hwirq(dev, msidesc). In GICv2m, hwirq for
MSI is fixed over a specific range. This might require arch-specific
callback.
2. In msi_domain_activate, why "if (!irq_data->chip_data)"?
3. In, msi_domain_alloc():
- There should be a way to specify other types of irq handler besides
the "handle_edge_irq". In case of GIC, it needs handle_fasteoi_irq.
- When calling irq_domain_set_hwirq_and_chip(), you are passing "(void
*)(long)i" for the "void *chip_data" parameter. What is this used for,
and where? Shouldn't this be pointing to arch-specific data structure?
- The code is calling irq_domain_alloc_irqs_parent before the loop,
which calls irq_domain_set_hwirq_and_chip() and __irq_set_handler.
Shouldn't the order be switched?
- Overall, it seems that msi_domain_alloc() could be quite different
across architectures. Would it be possible to declare this function as
weak, and allow arch to override (similar to arch_setup_msi_irq)?
Thanks,
Suravee
WARNING: multiple messages have this Message-ID (diff)
From: Suravee Suthikulanit <suravee.suthikulpanit@amd.com>
To: Jiang Liu <jiang.liu@linux.intel.com>,
marc.zyngier@arm.com, mark.rutland@arm.com, jason@lakedaemon.net,
tglx@linutronix.de
Cc: Catalin.Marinas@arm.com, Will.Deacon@arm.com,
liviu.dudau@arm.com, Harish.Kasiviswanathan@amd.com,
linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [V10 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)
Date: Wed, 5 Nov 2014 18:05:32 -0600 [thread overview]
Message-ID: <545ABB4C.8010103@amd.com> (raw)
In-Reply-To: <5458CE31.3040404@linux.intel.com>
On 11/4/2014 7:01 AM, Jiang Liu wrote:
> Hi Suravee,
> You may build a two level hierarchy irqdomains. Use the
> utilities in this thread
> http://www.spinics.net/lists/arm-kernel/msg374722.html to build an MSI
> irqdomain to manage MSI controllers
> in PCI devices. And build another irqdomain to manage SPI allocation
> in GICv2.
> That is: MSI irqdomain (program MSI registers) -->
> GIV irqdomain (manage SPIs in GICv2 controller)
>
> Regards!
> Gerry
Gerry,
I try out your patch from the link above, and I have a couple
questions/issues.
1. In the drivers/pci/msi.c: msi_irq_domain_alloc_irqs(), it seems that
the hwirq comes from msi_get_hwirq(dev, msidesc). In GICv2m, hwirq for
MSI is fixed over a specific range. This might require arch-specific
callback.
2. In msi_domain_activate, why "if (!irq_data->chip_data)"?
3. In, msi_domain_alloc():
- There should be a way to specify other types of irq handler besides
the "handle_edge_irq". In case of GIC, it needs handle_fasteoi_irq.
- When calling irq_domain_set_hwirq_and_chip(), you are passing "(void
*)(long)i" for the "void *chip_data" parameter. What is this used for,
and where? Shouldn't this be pointing to arch-specific data structure?
- The code is calling irq_domain_alloc_irqs_parent before the loop,
which calls irq_domain_set_hwirq_and_chip() and __irq_set_handler.
Shouldn't the order be switched?
- Overall, it seems that msi_domain_alloc() could be quite different
across architectures. Would it be possible to declare this function as
weak, and allow arch to override (similar to arch_setup_msi_irq)?
Thanks,
Suravee
next prev parent reply other threads:[~2014-11-06 0:05 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-03 22:16 [V10 PATCH 0/2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support suravee.suthikulpanit
2014-11-03 22:16 ` suravee.suthikulpanit
2014-11-03 22:16 ` suravee.suthikulpanit at amd.com
2014-11-03 22:16 ` [V10 PATCH 1/2] genirq: Add irq_chip_set_type_parent function suravee.suthikulpanit
2014-11-03 22:16 ` suravee.suthikulpanit-5C7GfCeVMHo
2014-11-03 22:16 ` suravee.suthikulpanit at amd.com
2014-11-03 22:16 ` [V10 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X) suravee.suthikulpanit
2014-11-03 22:16 ` suravee.suthikulpanit
2014-11-03 22:16 ` suravee.suthikulpanit at amd.com
2014-11-03 22:51 ` Thomas Gleixner
2014-11-03 22:51 ` Thomas Gleixner
2014-11-04 3:22 ` Suravee Suthikulanit
2014-11-04 3:22 ` Suravee Suthikulanit
2014-11-04 3:22 ` Suravee Suthikulanit
2014-11-04 10:06 ` Thomas Gleixner
2014-11-04 10:06 ` Thomas Gleixner
2014-11-04 14:20 ` Suravee Suthikulpanit
2014-11-04 14:20 ` Suravee Suthikulpanit
2014-11-04 14:20 ` Suravee Suthikulpanit
2014-11-04 14:28 ` Thomas Gleixner
2014-11-04 14:28 ` Thomas Gleixner
2014-11-04 17:46 ` Marc Zyngier
2014-11-04 17:46 ` Marc Zyngier
2014-11-04 17:46 ` Marc Zyngier
2014-11-04 13:01 ` Jiang Liu
2014-11-04 13:01 ` Jiang Liu
2014-11-04 17:00 ` Suravee Suthikulpanit
2014-11-04 17:00 ` Suravee Suthikulpanit
2014-11-04 17:00 ` Suravee Suthikulpanit
2014-11-06 0:05 ` Suravee Suthikulanit [this message]
2014-11-06 0:05 ` Suravee Suthikulanit
2014-11-06 0:05 ` Suravee Suthikulanit
2014-11-06 0:23 ` Suravee Suthikulanit
2014-11-06 0:23 ` Suravee Suthikulanit
2014-11-06 0:23 ` Suravee Suthikulanit
2014-11-06 0:49 ` Thomas Gleixner
2014-11-06 0:49 ` Thomas Gleixner
2014-11-06 10:42 ` Thomas Gleixner
2014-11-06 10:42 ` Thomas Gleixner
2014-11-06 16:34 ` Marc Zyngier
2014-11-06 16:34 ` Marc Zyngier
2014-11-07 1:00 ` Jiang Liu
2014-11-07 1:00 ` Jiang Liu
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=545ABB4C.8010103@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=Catalin.Marinas@arm.com \
--cc=Harish.Kasiviswanathan@amd.com \
--cc=Will.Deacon@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=jason@lakedaemon.net \
--cc=jiang.liu@linux.intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=liviu.dudau@arm.com \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=tglx@linutronix.de \
/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.