powerpc: Disable doorbells on Power8 DD1.x
authorJoel Stanley <joel@jms.id.au>
Fri, 18 Jul 2014 02:11:37 +0000 (11:41 +0930)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 22 Jul 2014 05:55:24 +0000 (15:55 +1000)
commitbd6ba3518fcb2539d83163a3f486d09411bc535d
treeccbf3d011d38b0a3b378d646608157383b129a08
parentf56029410a13cae3652d1f34788045c40a13ffc7
powerpc: Disable doorbells on Power8 DD1.x

These processors do not currently support doorbell IPIs, so remove them
from the feature list if we are at DD 1.xx for the 0x004d part.

This fixes a regression caused by d4e58e5928f8 (powerpc/powernv: Enable
POWER8 doorbell IPIs). With that patch the kernel would hang at boot
when calling smp_call_function_many, as the doorbell would not be
received by the target CPUs:

  .smp_call_function_many+0x2bc/0x3c0 (unreliable)
  .on_each_cpu_mask+0x30/0x100
  .cpuidle_register_driver+0x158/0x1a0
  .cpuidle_register+0x2c/0x110
  .powernv_processor_idle_init+0x23c/0x2c0
  .do_one_initcall+0xd4/0x260
  .kernel_init_freeable+0x25c/0x33c
  .kernel_init+0x1c/0x120
  .ret_from_kernel_thread+0x58/0x7c

Fixes: d4e58e5928f8 (powerpc/powernv: Enable POWER8 doorbell IPIs)
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/cputable.h
arch/powerpc/kernel/cputable.c