[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151022120602.GB28575@e106634-lin.cambridge.arm.com>
Date: Thu, 22 Oct 2015 13:06:03 +0100
From: "Suzuki K. Poulose" <Suzuki.Poulose@....com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>,
Catalin Marinas <catalin.marinas@....com>,
linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Marc Zyngier <marc.zyngier@....com>
Subject: Re: linux-next: manual merge of the tip tree with the arm64 tree
On Thu, Oct 22, 2015 at 01:26:52PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the tip tree got a conflict in:
>
> arch/arm64/kernel/cpufeature.c
>
> between commit:
>
> da8d02d19ffd ("arm64/capabilities: Make use of system wide safe value")
>
> from the arm64 tree and commit:
>
> 963fcd409587 ("arm64: cpufeatures: Check ICC_EL1_SRE.SRE before enabling ARM64_HAS_SYSREG_GIC_CPUIF")
>
> from the tip tree.
>
> I fixed it up (I have no idea here, so I just used the arm64 tree version)
> and can carry the fix as necessary (no action is required).
Stephen,
We need the following patch applied to fix the conflict correctly
on top of the -next tree.
---->8----
linux-next: arm64/cpufeatures: Resolve merg conflict
This patch fixes the merge conflict in linux-next with arm64 tree
and the tip.
arch/arm64/kernel/cpufeature.c
between commit:
da8d02d19ffd ("arm64/capabilities: Make use of system wide safe value")
from the arm64 tree and commit:
963fcd409587 ("arm64: cpufeatures: Check ICC_EL1_SRE.SRE before enabling
ARM64_HAS_SYSREG_GIC_CPUIF")
from the tip tree.
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@....com>
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index d413959..a1aea90 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -597,11 +597,25 @@ has_cpuid_feature(const struct arm64_cpu_capabilities *entry)
return feature_matches(val, entry);
}
+static bool has_useable_gicv3_cpuif(const struct arm64_cpu_capabilities *entry)
+{
+ bool has_sre;
+
+ if (!has_cpuid_feature(entry))
+ return false;
+ has_sre = gic_enable_sre();
+ if (!has_sre)
+ pr_warn_once("%s present but disabled by higher exception level\n",
+ entry->desc);
+
+ return has_sre;
+}
+
static const struct arm64_cpu_capabilities arm64_features[] = {
{
.desc = "GIC system register CPU interface",
.capability = ARM64_HAS_SYSREG_GIC_CPUIF,
- .matches = has_cpuid_feature,
+ .matches = has_useable_gicv3_cpuif,
.sys_reg = SYS_ID_AA64PFR0_EL1,
.field_pos = ID_AA64PFR0_GIC_SHIFT,
.min_field_value = 1,
----8<-----
Thanks
Suzuki
>
> --
> Cheers,
> Stephen Rothwell sfr@...b.auug.org.au
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists