PCI: Refactor error injection

The patch refactors the code we had for PCI error injection. It
doesn't change the logic:

   * Rename names of error types and functions according to the
     comments given by Michael Ellerman when reviewing the kernel
     counterpart.
   * Split The backend of error injection for PHB3 and P7IOC to
     multiple functions to improve code readability. Some logics
     are simplified without affecting their original functionality.
   * Misc cleanup like renaming variables and functions.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
PHB3: Support multiple MM32 segments for error injection

When doing error injection to 32-bits MMIO range, fixed length 8MB
is used. That's incorrect as one PE might span multile segments.
Also the 32-bits MMIO segment size isn't 8MB necessarily.

The patch fixes the issue to cover all (contiguous) 32-bits MMIO
segments assigned to the specified PE. Also, it fixes the 48 bits
of 50 bits AIB address, instead of all bits used for comparison.

BZ: 115222

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
PHB3: Support MM64 error injection

The patch enables injecting PCI errors to 64-bits MMIO range.

BZ: 115222

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
PHB3: Support DMA error injection

The patch enables injecting PCI errors to DMA address address,
including 32-bits and 64-bits ranges.

BZ: 115222

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
slw: Remove log flooding from fast sleep code

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Merge branch 'release-2.1.1'