i2c-axxia: Avoid timeout when interrupt delayed

Changed the order in which the interrupt conditions are checked in the
interrupt handler. Need to check for transfer-complete before timeout-error,
otherwise a delayed interrupt may report a false timeout error (since the
timeout may expire after the transfer was completed).

Signed-off-by: Anders Berg <anders.berg@lsi.com>
arch/powerpc: Removing Unnecessary Config

Signed-off-by: John Jacques <john.jacques@lsi.com>
arch/powerpc: Disable the ACP NAND Driver for 3500

Signed-off-by: John Jacques <john.jacques@lsi.com>
arch/powerpc: Default Configuration Updates for ACP

Fixed the physical address of IO space for early printk.
Added LOCALVERSION_AUTO.

Signed-off-by: John Jacques <john.jacques@lsi.com>
arch/powerpc: Default Configuration Updates for ACP

Fixed the physical address of IO space for early printk.
Added LOCALVERSION_AUTO.

Signed-off-by: John Jacques <john.jacques@lsi.com>
dma: lsi-dma32: Add parameter to setup burst size

Added module parameter 'burst' that allows the setup of the DMA controller
preferred burst setting on reads and writes. Set this to 7 for INCR16, 5 for
INCR8, 3 for INCR4 or 0 for singles (no bursts).

Signed-off-by: Anders Berg <anders.berg@lsi.com>
dma: lsi-dma32: Handle DMA transfer sizes > 1MB

One descriptor can only transfer up to 64K 128-bit words. To handle larger
transfers the driver is now able to chain multiple descriptors.

Signed-off-by: Anders Berg <anders.berg@lsi.com>
LSI AXM55xx: Add memory barrier to processing of inbound messages.

Use memory barrier between control/status bits and access to data content.
Also remove unnecessary export of some datastreaming functions,
and modify exported header file to allow use in userspace applications.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Correct some coding style problems.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Fix pointer porting issue for platforms with 64-bit ptrs.

Also cleanup some code, and reorganize debugging flag presentation.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Adapt software initialization based on chip versions.

A number of SRIO device changes or bug fixes are described by the
generic device version code (RIO_DEV_INFO_CAR).  The software needs
to pay direct attention to some of these changes, either during
initialization of the endpoint or during execution.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Remove some unnecessary code for performance optimization.

Remove some duplicate code from outbound message IRQ handler.
Remove unneeded code from miscellaneous IRQ handler.
Update some documentation for clarity, and later use.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Improve concurrency protection and some register programming.

Replace mutex operations by spinlocks for better multithreaded protection.
Expand range of spinlock coverage in outbound messaging functions.
Add more constants & macros to replace hard-coded bitfield manipulations.
Revise allocation of inbound messaging DMEs to allow more effective use
of mailboxes Ids.
Modify functions to read/write the local controller registers to use
non-paged controller memory as often as possible.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Add more error checking for outbound mailboxes.

Destination mailbox Ids in the range 0..3 may only be transmitted via
multi-segment OB DMEs, and Ids in the range 4..63 may only be sent via
single-sengment OB DMEs.  If no DMEs of the appropriate type are found,
then return an appropriate error code.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Code cleanup per updated checkpatch.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Correct a number of style issues.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Implement a series of performance improvements for rapidio.

Within the AXXIA mport code use fewer spin locks to control access to
registers.  Make more effective use of the SRIO memory paging mechanism
to reduce the number of writes to memory.  Reorder some locks to allow
earlier access to outbound data structures in multi-threaded operation.
Reset TID MASK and DME TIMEOUT to improve throughput and reduce errors.
Use 'hook_fault_code' mechanism in ARM builds to eliminate crashes due
to references to undefined register locations.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Fix spinlock issue and remove extraneous debug message.

Signed-off-by: Michael Bringmann <michael.bringmann@lsi.com>
LSI AXM55xx: Fix ambiguity in AXXIA RIO outbound mailbox APIs & code cleanup.

Fix implementation bug between AXXIA RIO outbound mailbox open API
which used DME handles, and remainder of the outbound mailbox APIs
which used mailbox ID handles.  Now all of these APIs use mailbox ID
handles.
Fix compile errors in some AXXIA RIO FDT files for powerpc platform.
Remove bug fix for 'spinlock.h' as used by SRIO pending further review.

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

Conflicts:

	arch/powerpc/boot/dts/acp25xx.dts

Committed the above resolving the conflict during cherry-pick.
LSI AXM55xx: Simplify API spinlock and apply style corrections.

Use spinlock operations explicitly in place of macros that hide operation.
Apply style corrections for issues identified by checkpatch.

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