ARM: brcmstb: update CPU power management sequence
authorBrian Norris <computersforpeace@gmail.com>
Wed, 17 Dec 2014 03:13:50 +0000 (19:13 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:57:36 +0000 (14:57 -0800)
commitb6ac26ee02b8f651ade7d1eb8e03250fd7d32bb7
treef5e1d945b47f9a53db1c99d8c78341304b83b21e
parentad0a5caa6c6bfff683fb033419aa06932d1f8626
ARM: brcmstb: update CPU power management sequence

commit a1ad3b94a7661b643fef2efbc6fc217bd148f462 upstream.

The automatic CPU power state machine for B15 CPUs does not work
reliably as-is. This patch implements a manual sequence in software to
replace it.

This was tested successfully with over 10,000 hotplug cycles of
something like this:

  echo 0 > /sys/devices/system/cpu/cpu1/online
  echo 1 > /sys/devices/system/cpu/cpu1/online

whereas the existing sequence often locks up after a few hundred cycles.

Fixes: 62639c2f5332 ("ARM: brcmstb: reintroduce SMP support")
Acked-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-bcm/platsmp-brcmstb.c