android_kernel_motorola_sm6225/arch/powerpc
Jesse Larrew 49c68a8518 powerpc/pseries: Add PRRN RTAS event handler
A PRRN event is signaled via the RTAS event-scan mechanism, which
returns a Hot Plug Event message "fixed part" indicating "Platform
Resource Reassignment". In response to the Hot Plug Event message,
we must call ibm,update-nodes to determine which resources were
reassigned and then ibm,update-properties to obtain the new affinity
information about those resources.

The PRRN event-scan RTAS message contains only the "fixed part" with
the "Type" field set to the value 160 and no Extended Event Log. The
four-byte Extended Event Log Length field is re-purposed (since no
Extended Event Log message is included) to pass the "scope" parameter
that causes the ibm,update-nodes to return the nodes affected by the
specific resource reassignment.

This patch adds a handler for RTAS events. The function
pseries_devicetree_update() (from mobility.c) is used to make the
ibm,update-nodes/ibm,update-properties RTAS calls. Updating the NUMA maps
(handled by a subsequent patch) will require significant processing,
so pseries_devicetree_update() is called from an asynchronous workqueue
to allow event processing to continue.

PRRN RTAS events on pseries systems are rare events that have to be
initiated from the HMC console for the system by an IBM tech. This allows
us to assume that these events are widely spaced. Additionally, all work
on the queue is flushed before handling any new work to ensure we only have
one event in flight being handled at a time.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-04-26 16:08:20 +10:00
..
boot Merge remote-tracking branch 'agust/next' into next 2013-02-20 11:39:05 +11:00
configs powerpc/ps3: Update ps3_defconfig 2013-04-18 13:03:50 +10:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/pseries: Add PRRN RTAS event handler 2013-04-26 16:08:20 +10:00
kernel powerpc/pseries: Add PRRN RTAS event handler 2013-04-26 16:08:20 +10:00
kvm Merge remote-tracking branch 'origin/master' into next 2013-04-24 14:43:36 +10:00
lib uprobes/powerpc: Add dependency on single step emulation 2013-01-29 11:35:06 +11:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm powerpc: Try to insert the hptes repeatedly in kernel_map_linear_page() 2013-04-18 16:00:00 +10:00
net PPC: net: bpf_jit_comp: add VLAN instructions for BPF JIT 2012-11-17 22:12:47 -05:00
oprofile Merge branch 'merge' into next 2013-01-29 11:33:37 +11:00
perf perf/urgent fixes: 2013-03-18 10:00:56 +01:00
platforms powerpc/pseries: Correct buffer parsing in update_dt_node() 2013-04-26 16:08:19 +10:00
sysdev powerpc/powernv: Fix missing Kconfig dependency for MSIs 2013-04-24 15:15:33 +10:00
xmon powerpc: Rename set_break to avoid naming conflict 2013-01-16 05:25:47 +11:00
Kconfig memblock: kill "config MAX_ACTIVE_REGIONS" 2013-04-18 13:03:53 +10:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00