From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/8] Add self-probe infrastructure and stacked irqdomain support for ACPI based GICv2/3 init
Date: Fri, 10 Jul 2015 18:45:06 +0800 [thread overview]
Message-ID: <1436525114-14425-1-git-send-email-hanjun.guo@linaro.org> (raw)
This patch set introduce self-probe infrastructure to init IRQ
controllers and stacked irqdomain support for ACPI based GICv2/3
init.
This patch set add its support for GIC verion which is introduced
in ACPI 6.0, based on that, we introduce the self-probe infrastructure,
the self-probe infrastructure for ACPI GIC init is similar as
IRQCHIP_DECLARE() and based on the GIC version support in ACPI
MADT table. we match the GIC version and GIC driver and load
it.
After the self-probe infrastructure is ready, I cleanuped the GICv2
code to use the framework.
Patch 4 implement the stacked irqdomain support for GICv2 based on
the model of mapping interrupt and device in ACPI.
Patch 5~8 are ACPI based GICv3 init.
Any comments are warmly welcomed.
v2->v3:
- Introduced a mechanism to match the GSI with its irqdomain instead of
referring to the acpi_irq_domain in previous version
- Add finding GICR base address in GICC structures in GICv3 code.
- Address the comments from Lorenzo and Marc
- Rebased on top of 4.2-rc1, since ACPICA patches were pushed to
4.2 by Rafael, I removed ACPICA patches in previous version.
v1->v2:
- Remove the gicv2/v3 related driver code in drivers/irqchip/irq-gic-acpi.c
which I was trying to consolidate them in one file, then arm-gic.h and
arm-gic-v3.h will be used separately within parent driver only
- Drop the gsi_mutex patch
- Use the GIC version to match the GIC driver, then no need to test
for the version in each driver
- Move acpi_irq_init() to drivers/irqchip/irq-gic-acpi.c instead of
in drivers/acpi/irq.c. maybe we need to rename acpi_irq_init() as
acpi_gic_init() but I keep that name to accommodate of_irq_init(),
any objections please let me know.
update from RFC version:
- Consolidate all the GIC init code into drivers/irqchip/irq-gic-acpi.c
Hanjun Guo (6):
irqchip / GIC: Add GIC version support in ACPI MADT
ACPI / irqchip: Add self-probe infrastructure to initialize IRQ
controller
irqchip / GIC / ACPI: Use IRQCHIP_ACPI_DECLARE to simplify GICv2 init
code
irqchip / gic: Add stacked irqdomain support for ACPI based GICv2 init
irqchip / GICv3: Add stacked irqdomain support for ACPI based init
irqchip / gicv3 / ACPI: Add GICR support via GICC structures
Tomasz Nowicki (2):
irqchip / GICv3: Refactor gic_of_init() for GICv3 driver
irqchip / GICv3: Add ACPI support for GICv3+ initialization
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/acpi.h | 1 -
arch/arm64/include/asm/irq.h | 13 --
arch/arm64/kernel/acpi.c | 25 --
drivers/acpi/gsi.c | 78 +++++--
drivers/irqchip/Kconfig | 3 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-gic-acpi.c | 171 ++++++++++++++
drivers/irqchip/irq-gic-v3.c | 427 ++++++++++++++++++++++++++++++-----
drivers/irqchip/irq-gic.c | 40 ++--
include/asm-generic/vmlinux.lds.h | 13 ++
include/linux/acpi.h | 21 ++
include/linux/acpi_irq.h | 4 +-
include/linux/irqchip.h | 13 ++
include/linux/irqchip/arm-gic-acpi.h | 10 +-
include/linux/mod_devicetable.h | 8 +
16 files changed, 695 insertions(+), 134 deletions(-)
create mode 100644 drivers/irqchip/irq-gic-acpi.c
--
1.9.1
next reply other threads:[~2015-07-10 10:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-10 10:45 Hanjun Guo [this message]
2015-07-10 10:45 ` [PATCH v3 1/8] irqchip / GIC: Add GIC version support in ACPI MADT Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 2/8] ACPI / irqchip: Add self-probe infrastructure to initialize IRQ controller Hanjun Guo
2015-07-17 23:15 ` Timur Tabi
2015-07-20 9:32 ` Hanjun Guo
2015-07-20 12:12 ` Timur Tabi
2015-07-20 12:48 ` Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 3/8] irqchip / GIC / ACPI: Use IRQCHIP_ACPI_DECLARE to simplify GICv2 init code Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 4/8] irqchip / gic: Add stacked irqdomain support for ACPI based GICv2 init Hanjun Guo
2015-07-20 17:45 ` Marc Zyngier
2015-07-10 10:45 ` [PATCH v3 5/8] irqchip / GICv3: Refactor gic_of_init() for GICv3 driver Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 6/8] irqchip / GICv3: Add ACPI support for GICv3+ initialization Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 7/8] irqchip / GICv3: Add stacked irqdomain support for ACPI based init Hanjun Guo
2015-07-10 10:45 ` [PATCH v3 8/8] irqchip / gicv3 / ACPI: Add GICR support via GICC structures Hanjun Guo
2015-07-17 23:09 ` [Linaro-acpi] [PATCH v3 0/8] Add self-probe infrastructure and stacked irqdomain support for ACPI based GICv2/3 init Timur Tabi
2015-07-20 9:06 ` Hanjun Guo
2015-07-20 12:06 ` Timur Tabi
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=1436525114-14425-1-git-send-email-hanjun.guo@linaro.org \
--to=hanjun.guo@linaro.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).