powerpc/pseries: Update LMB associativity index during DLPAR add/remove
authorNathan Fontenot <nfont@linux.vnet.ibm.com>
Wed, 10 Feb 2016 17:12:13 +0000 (11:12 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 11 Apr 2016 01:23:39 +0000 (11:23 +1000)
commitbdf5fc6338047cfeba98d2ab629997f3013e610f
tree38b01275712761b9f794db0e3eda6cf0c0081a06
parent4a4bdfea7cb75b5c8b222932796f64a14027d512
powerpc/pseries: Update LMB associativity index during DLPAR add/remove

The associativity array index specified for a LMB in the device tree,
/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory, needs to be updated
prior to DLPAR adding a LMB and after DLPAR removing a LMB.

Without doing this step in the DLPAR add process a LMB could be configured
with the incorrect affinity. For a LMB that was not present at boot the
affinity index is set to 0xffffffff, which defaults to adding the LMB to
the first online node since the index is not a valid value. Or, the
affinity index could contain a stale value if the LMB was present at boot
but later DLPAR removed and is being DLPAR added back to the system.

This patch adds a step in the DLPAR add flow to look up the associativity
index for a LMB prior to adding a LMB and setting the associativity to
0xffffffff when a LMB is removed.

This patch also modifies the DLPAR add/remove flow to no longer do a single
update of the device tree property after all of the requested DLPAR
operations are complete and now does a property update during the add
or remove of each LMB.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/hotplug-memory.c