linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Nowicki <tomasz.nowicki@linaro.org>
To: Catalin Marinas <catalin.marinas@arm.com>, Jon Masters <jcm@redhat.com>
Cc: "hanjun.guo@linaro.org" <hanjun.guo@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Mark Rutland <Mark.Rutland@arm.com>,
	Olof Johansson <olof@lixom.net>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Will Deacon <Will.Deacon@arm.com>,
	"graeme.gregory@linaro.org" <graeme.gregory@linaro.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Sudeep Holla <Sudeep.Holla@arm.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Marc Zyngier <Marc.Zyngier@arm.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh@kernel.org>,
	Robert Richter <rric@kernel.org>, Lv Zheng <lv.zheng@intel.com>,
	Robert Moore <robert.moore@intel.com>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Liviu Dudau <Liviu.Dudau@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Charles Garcia-Tobin <Charles.Garcia-Tobin@arm.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 14/18] ARM64 / ACPI: Add GICv2 specific ACPI boot support
Date: Wed, 17 Sep 2014 09:40:08 +0200	[thread overview]
Message-ID: <54193AD8.3090301@linaro.org> (raw)
In-Reply-To: <20140915164253.GI5415@arm.com>

On 15.09.2014 18:42, Catalin Marinas wrote:
> On Mon, Sep 15, 2014 at 05:16:21PM +0100, Jon Masters wrote:
>> On 09/15/2014 11:01 AM, Catalin Marinas wrote:
>>> On Fri, Sep 12, 2014 at 03:00:12PM +0100, Hanjun Guo wrote:
>>>> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
>>>> index 5b3546b..9869377 100644
>>>> --- a/arch/arm64/kernel/acpi.c
>>>> +++ b/arch/arm64/kernel/acpi.c
>>>> @@ -23,6 +23,7 @@
>>>>   #include <linux/irqdomain.h>
>>>>   #include <linux/bootmem.h>
>>>>   #include <linux/smp.h>
>>>> +#include <linux/irqchip/arm-gic-acpi.h>
>>>>
>>>>   #include <asm/cputype.h>
>>>>   #include <asm/cpu_ops.h>
>>>> @@ -312,6 +313,28 @@ void __init acpi_boot_table_init(void)
>>>>   		pr_err("Can't find FADT or error happened during parsing FADT\n");
>>>>   }
>>>>
>>>> +void __init acpi_gic_init(void)
>>>> +{
>>>> +	struct acpi_table_header *table;
>>>> +	acpi_status status;
>>>> +	acpi_size tbl_size;
>>>> +	int err;
>>>> +
>>>> +	status = acpi_get_table_with_size(ACPI_SIG_MADT, 0, &table, &tbl_size);
>>>> +	if (ACPI_FAILURE(status)) {
>>>> +		const char *msg = acpi_format_exception(status);
>>>> +
>>>> +		pr_err("Failed to get MADT table, %s\n", msg);
>>>> +		return;
>>>> +	}
>>>> +
>>>> +	err = gic_v2_acpi_init(table);
>>>> +	if (err)
>>>> +		pr_err("Failed to initialize GIC IRQ controller");
>>>> +
>>>> +	early_acpi_os_unmap_memory((char *)table, tbl_size);
>>>> +}
>>>
>>> Maybe this was discussed already but why does this function need to live
>>> under arch/arm64? Isn't the driver code more appropriate?

There will be another call here for GICv3 so this function will merge 
common logic for them. As Jon pointed out, we are planning to add ACPI 
flag which indicates GICv3 or GICv2(m) IRQ controller in advance.

>>
>> Well there's two halves to this, right? There's the MADT parsing/setup,
>> which is architecture specific, and then there's the GIC irqchip
>> initialization which lives under drivers.
>
> I think it gets worse, this function is called from irqchip_init(). I
> would have been slightly happier if it was called from the arm64
> init_IRQ(). But putting an ARM specific GIC initialisation call in a
> generic irqchip_init() just looks weird. Can we do anything better here?

Yes this was discussed, please have a look at: 
https://lkml.org/lkml/2014/9/1/555
We had this in init_IRQ() in previous patch set, then we got feedback 
irqchip_init() is more appropriate. We can move it back to init_IRQ() 
and I am sold on this.

Tomasz

  reply	other threads:[~2014-09-17  7:39 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-12 13:59 [PATCH v4 00/18] Introduce ACPI for ARM64 based on ACPI 5.1 Hanjun Guo
2014-09-12 13:59 ` [PATCH v4 01/18] ARM64: Move the init of cpu_logical_map(0) before unflatten_device_tree() Hanjun Guo
2014-09-12 19:34   ` Jon Masters
2014-09-15  6:16   ` Olof Johansson
2014-09-17 16:48     ` Mark Rutland
2014-09-12 14:00 ` [PATCH v4 02/18] ACPI / table: Add new function to get table entries Hanjun Guo
2014-09-15 16:48   ` Grant Likely
2014-09-12 14:00 ` [PATCH v4 03/18] ACPI / table: Count matched and successfully parsed entries without specifying max entries Hanjun Guo
2014-09-15 16:48   ` Grant Likely
2014-09-12 14:00 ` [PATCH v4 04/18] ARM64 / ACPI: Get RSDP and ACPI boot-time tables Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 05/18] ARM64 / ACPI: Introduce sleep-arm.c Hanjun Guo
2014-09-12 14:51   ` Catalin Marinas
2014-09-12 15:18     ` Graeme Gregory
2014-09-12 15:49       ` Catalin Marinas
2014-09-12 16:32         ` Graeme Gregory
2014-09-17  1:31         ` Matthew Garrett
2014-09-12 19:43   ` Jon Masters
2014-09-12 20:03     ` Graeme Gregory
2014-09-12 21:10       ` Jon Masters
2014-09-12 14:00 ` [PATCH v4 06/18] ARM64 / ACPI: Introduce early_param for "acpi" Hanjun Guo
2014-09-15  6:28   ` Olof Johansson
2014-09-15 14:51     ` Catalin Marinas
2014-09-15 16:09       ` Olof Johansson
2014-09-15 16:31       ` Jon Masters
2014-09-15 22:55     ` Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 07/18] ARM64 / ACPI: If we chose to boot from acpi then disable FDT Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 08/18] ARM64 / ACPI: Make PCI optional for ACPI on ARM64 Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 09/18] ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init Hanjun Guo
2014-09-15  6:38   ` Olof Johansson
2014-09-15 14:54     ` Catalin Marinas
2014-09-15 23:24       ` Jon Masters
2014-09-15 23:34     ` Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 10/18] ACPI / table: Print GIC information when MADT is parsed Hanjun Guo
2014-09-15  6:40   ` Olof Johansson
2014-09-15 14:11     ` Jon Masters
2014-09-15 17:52     ` Grant Likely
2014-09-15 18:01       ` Olof Johansson
2014-09-15 21:55         ` Jon Masters
2014-09-12 14:00 ` [PATCH v4 11/18] ARM64 / ACPI: Parse MADT for SMP initialization Hanjun Guo
2014-09-12 19:47   ` Jon Masters
2014-09-15 14:56     ` Catalin Marinas
2014-09-15 23:19       ` Jon Masters
2014-09-15  7:00   ` Olof Johansson
2014-09-16  0:01     ` Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 12/18] ACPI / processor: Make it possible to get CPU hardware ID via GICC Hanjun Guo
2014-09-15  7:05   ` Olof Johansson
2014-09-16  0:11     ` Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 13/18] ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 14/18] ARM64 / ACPI: Add GICv2 specific ACPI boot support Hanjun Guo
2014-09-12 19:48   ` Jon Masters
2014-09-15 15:01   ` Catalin Marinas
2014-09-15 16:16     ` Jon Masters
2014-09-15 16:42       ` Catalin Marinas
2014-09-17  7:40         ` Tomasz Nowicki [this message]
2014-09-17 15:14           ` Catalin Marinas
2014-09-18  2:25             ` Arnd Bergmann
2014-09-18 16:00               ` Catalin Marinas
2014-09-12 14:00 ` [PATCH v4 15/18] ARM64 / ACPI: Parse GTDT to initialize arch timer Hanjun Guo
2014-09-15  7:13   ` Olof Johansson
2014-09-12 14:00 ` [PATCH v4 16/18] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 17/18] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2014-09-12 14:00 ` [PATCH v4 18/18] Documentation: ACPI for ARM64 Hanjun Guo
2014-09-15  7:33   ` Olof Johansson
2014-09-17  1:44   ` Matthew Garrett
2014-09-17  1:57     ` Matthew Garrett
2014-09-17  8:58     ` Jon Masters
2014-09-17 17:02       ` Mark Brown
2014-09-17 16:05     ` Graeme Gregory
2014-09-17 23:22       ` Arnd Bergmann
2014-09-17 23:40         ` Graeme Gregory
2014-09-18 15:54           ` Catalin Marinas
2014-09-18 23:20           ` Rafael J. Wysocki
2014-09-18 23:59             ` Jon Masters
2014-09-17 19:37     ` Rafael J. Wysocki
2014-09-17 19:22       ` Matthew Garrett
2014-09-17 19:29         ` Jon Masters
2014-09-17 20:11         ` Rafael J. Wysocki
2014-09-17 19:59           ` Matthew Garrett
2014-09-17 23:06           ` Hanjun Guo
2014-09-22 19:48   ` Pavel Machek
2014-09-22 20:31     ` Matthew Garrett
2014-09-22 22:46       ` Rafael J. Wysocki
2014-09-22 22:28         ` Matthew Garrett
2014-09-22 22:34           ` Hanjun Guo
2014-09-22 22:38             ` Matthew Garrett
2014-09-22 23:22             ` Rafael J. Wysocki
2014-09-22 22:55         ` Al Stone
2014-09-22 23:07           ` Matthew Garrett
2014-09-22 22:40     ` Al Stone

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=54193AD8.3090301@linaro.org \
    --to=tomasz.nowicki@linaro.org \
    --cc=Charles.Garcia-Tobin@arm.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Sudeep.Holla@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=graeme.gregory@linaro.org \
    --cc=grant.likely@linaro.org \
    --cc=hanjun.guo@linaro.org \
    --cc=jason@lakedaemon.net \
    --cc=jcm@redhat.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=olof@lixom.net \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=robert.moore@intel.com \
    --cc=robh@kernel.org \
    --cc=rric@kernel.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).