arch/powerpc: Backport of 32dda05f4ec2b854b594bd91590c46c5197d77e1

Otherwise, we get a debug traceback due to the use of
smp_processor_id() (or get_paca()) inside hard_smp_processor_id().
mpic_host_map() is just looking for a default CPU, so it doesn't matter
if we migrate after getting the CPU ID.

This is signed off by Scott Wood <scottwood@freescale.com>

Signed-off-by: John Jacques <john.jacques@lsi.com>
arch/arm/mach-axxia: Update DDR Retention

Removed local "kill_time" function; now uses udelay().

Signed-off-by: John Jacques <john.jacques@lsi.com>
rapidio/lsi: Clean up rapidio

Remove extraneous diagnostic message.

fixed getting vsid and dse_id from interrupt register

The CNTLZW macro only works if interrupts bits 0,1,2,3,4,8,16, it does
not work for other cases. Thus made a fix so that the proper vsid and
dse_id can be retrieved from the interrupt register.

Reset the AXXIA RIO controller to use 'port index' of 0 in all cases
to reduce addressing errors.  Also, fix a confusion in the AXXIA RIO
specific driver code between 'id' and 'port index'.

Add definition for AXXIA_RIO_SYSMEM_BARRIER() for ARM platform using
assembly directive '__asm__ __volatile__ ("dmb" : : : "memory")'.

Update diagnostic messages and compile headers for lock debugging.
Add initialization of component tag for AXXIA RIO endpoints that
prevents full network enumeration of boards with multiple controllers.

This patch adds support for enumeration of multiple SRIO controllers
to the Axxia AXM55xx platform.  Note that special handling is needed
to disambiguate an interlock issue.  This patch only improves the
enumeration algorithm for instances of this platform.

Add 'cookie' to private data structure and test for it when performing
local memory accesses.  Also improve bounds checking in code that tests
for available DMEs when opening/closing mailboxes.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>