All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hanjun Guo <hanjun.guo@linaro.org>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <bhelgaas@google.com>,
	rric@kernel.org, Grant Likely <grant.likely@linaro.org>,
	Sudeep Holla <Sudeep.Holla@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Charles.Garcia-Tobin@arm.com, lorenzo.pieralisi@arm.com,
	linaro-acpi@lists.linaro.org,
	Graeme Gregory <graeme.gregory@linaro.org>,
	Hanjun Guo <hanjun.guo@linaro.org>
Subject: [PATCH v4 02/13] ACPI: Don't use acpi_lapic in ACPI core code
Date: Fri, 27 Jun 2014 11:49:25 +0800	[thread overview]
Message-ID: <1403840976-7456-3-git-send-email-hanjun.guo@linaro.org> (raw)
In-Reply-To: <1403840976-7456-1-git-send-email-hanjun.guo@linaro.org>

From: Graeme Gregory <graeme.gregory@linaro.org>

Now ARM64 support is being added to ACPI so architecture specific
values can not be used in core ACPI code.

Following on the patch "ACPI / processor: Check if LAPIC is present
during initialization" which uses acpi_lapic in acpi_processor.c,
on ARM64 platform, GIC is used instead of local APIC, so acpi_lapic
is not a suitable value for ARM64.

What is actually important at this point is the SMPness of the system,
so introduce acpi_arch_is_smp() to be arch specific and generic.

Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
---
 arch/ia64/include/asm/acpi.h  |    5 +++++
 arch/x86/include/asm/acpi.h   |    5 +++++
 drivers/acpi/acpi_processor.c |    2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h
index 75dc59a..2fc0757 100644
--- a/arch/ia64/include/asm/acpi.h
+++ b/arch/ia64/include/asm/acpi.h
@@ -40,6 +40,11 @@ extern int acpi_lapic;
 #define acpi_noirq 0	/* ACPI always enabled on IA64 */
 #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */
 #define acpi_strict 1	/* no ACPI spec workarounds on IA64 */
+
+static inline bool acpi_arch_is_smp(void)
+{
+	return acpi_lapic;
+}
 #endif
 #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */
 static inline void disable_acpi(void) { }
diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index e06225e..939d377 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -121,6 +121,11 @@ static inline void arch_acpi_set_pdc_bits(u32 *buf)
 		buf[2] &= ~(ACPI_PDC_C_C2C3_FFH);
 }
 
+static inline bool acpi_arch_is_smp(void)
+{
+	return acpi_lapic;
+}
+
 #else /* !CONFIG_ACPI */
 
 #define acpi_lapic 0
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 1c08574..8622a0e 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -268,7 +268,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
 	pr->apic_id = apic_id;
 
 	cpu_index = acpi_map_cpuid(pr->apic_id, pr->acpi_id);
-	if (!cpu0_initialized && !acpi_lapic) {
+	if (!cpu0_initialized && !acpi_arch_is_smp()) {
 		cpu0_initialized = 1;
 		/* Handle UP system running SMP kernel, with no LAPIC in MADT */
 		if ((cpu_index == -1) && (num_online_cpus() == 1))
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 02/13] ACPI: Don't use acpi_lapic in ACPI core code
Date: Fri, 27 Jun 2014 11:49:25 +0800	[thread overview]
Message-ID: <1403840976-7456-3-git-send-email-hanjun.guo@linaro.org> (raw)
In-Reply-To: <1403840976-7456-1-git-send-email-hanjun.guo@linaro.org>

From: Graeme Gregory <graeme.gregory@linaro.org>

Now ARM64 support is being added to ACPI so architecture specific
values can not be used in core ACPI code.

Following on the patch "ACPI / processor: Check if LAPIC is present
during initialization" which uses acpi_lapic in acpi_processor.c,
on ARM64 platform, GIC is used instead of local APIC, so acpi_lapic
is not a suitable value for ARM64.

What is actually important at this point is the SMPness of the system,
so introduce acpi_arch_is_smp() to be arch specific and generic.

Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
---
 arch/ia64/include/asm/acpi.h  |    5 +++++
 arch/x86/include/asm/acpi.h   |    5 +++++
 drivers/acpi/acpi_processor.c |    2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h
index 75dc59a..2fc0757 100644
--- a/arch/ia64/include/asm/acpi.h
+++ b/arch/ia64/include/asm/acpi.h
@@ -40,6 +40,11 @@ extern int acpi_lapic;
 #define acpi_noirq 0	/* ACPI always enabled on IA64 */
 #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */
 #define acpi_strict 1	/* no ACPI spec workarounds on IA64 */
+
+static inline bool acpi_arch_is_smp(void)
+{
+	return acpi_lapic;
+}
 #endif
 #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */
 static inline void disable_acpi(void) { }
diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index e06225e..939d377 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -121,6 +121,11 @@ static inline void arch_acpi_set_pdc_bits(u32 *buf)
 		buf[2] &= ~(ACPI_PDC_C_C2C3_FFH);
 }
 
+static inline bool acpi_arch_is_smp(void)
+{
+	return acpi_lapic;
+}
+
 #else /* !CONFIG_ACPI */
 
 #define acpi_lapic 0
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 1c08574..8622a0e 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -268,7 +268,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
 	pr->apic_id = apic_id;
 
 	cpu_index = acpi_map_cpuid(pr->apic_id, pr->acpi_id);
-	if (!cpu0_initialized && !acpi_lapic) {
+	if (!cpu0_initialized && !acpi_arch_is_smp()) {
 		cpu0_initialized = 1;
 		/* Handle UP system running SMP kernel, with no LAPIC in MADT */
 		if ((cpu_index == -1) && (num_online_cpus() == 1))
-- 
1.7.9.5

  parent reply	other threads:[~2014-06-27  3:50 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-27  3:49 [PATCH v4 00/13] Enable ACPI on ARM64 in Kconfig Hanjun Guo
2014-06-27  3:49 ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 01/13] acpi: arm64 does not have a BIOS add config for BIOS table scan Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` Hanjun Guo [this message]
2014-06-27  3:49   ` [PATCH v4 02/13] ACPI: Don't use acpi_lapic in ACPI core code Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 03/13] ACPI / processor: Introduce ARCH_HAS_ACPI_PDC Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 04/13] ARM64 : Add dummy asm/cpu.h Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 05/13] ARM64 / ACPI: Introduce arm-core.c and its related head file Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-30 16:24   ` Catalin Marinas
2014-06-30 16:24     ` Catalin Marinas
2014-06-30 16:24     ` Catalin Marinas
2014-06-30 17:21     ` Graeme Gregory
2014-06-30 17:21       ` Graeme Gregory
2014-06-30 17:21       ` Graeme Gregory
2014-06-27  3:49 ` [PATCH v4 06/13] ARM64 / ACPI: Introduce early_param for "acpi" Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  9:07   ` Arnd Bergmann
2014-06-27  9:07     ` Arnd Bergmann
2014-06-27 10:57     ` Graeme Gregory
2014-06-27 10:57       ` Graeme Gregory
2014-06-27 10:57       ` Graeme Gregory
2014-06-27  3:49 ` [PATCH v4 07/13] ARM64 / ACPI: Introduce lowlevel suspend function Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-30 16:28   ` Catalin Marinas
2014-06-30 16:28     ` Catalin Marinas
2014-06-30 16:28     ` Catalin Marinas
2014-06-27  3:49 ` [PATCH v4 08/13] ARM64 / ACPI: Introduce arch_fix_phys_package_id() for cpu topology Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 09/13] ARM64 / ACPI: Introduce PCI functions for ACPI on ARM64 Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 10/13] ACPI: Make EC debugfs depend on X86 || IA64 in Kconfig Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 11/13] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  3:49 ` [PATCH v4 12/13] ARM64 / ACPI: if we chose to boot from acpi then disable FDT Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-27  9:09   ` [Linaro-acpi] " Arnd Bergmann
2014-06-27  9:09     ` Arnd Bergmann
2014-06-27  3:49 ` [PATCH v4 13/13] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2014-06-27  3:49   ` Hanjun Guo
2014-06-30 10:46   ` Catalin Marinas
2014-06-30 10:46     ` Catalin Marinas
2014-06-30 10:46     ` Catalin Marinas
2014-07-01  7:54     ` Hanjun Guo
2014-07-01  7:54       ` Hanjun Guo
2014-07-01  7:54       ` Hanjun Guo
2014-07-01  8:20       ` Hanjun Guo
2014-07-01  8:20         ` Hanjun Guo
2014-07-01  8:20         ` Hanjun Guo
2014-07-01  9:22         ` Catalin Marinas
2014-07-01  9:22           ` Catalin Marinas
2014-07-01  9:22           ` Catalin Marinas

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=1403840976-7456-3-git-send-email-hanjun.guo@linaro.org \
    --to=hanjun.guo@linaro.org \
    --cc=Charles.Garcia-Tobin@arm.com \
    --cc=Sudeep.Holla@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=graeme.gregory@linaro.org \
    --cc=grant.likely@linaro.org \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=rjw@rjwysocki.net \
    --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 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.