Update defconfigs
swiotlb: Make internal bookkeeping functions have 'swiotlb_tbl' prefix.
swiotlb: swiotlb_tbl_map_single: abstract out swiotlb_virt_to_bus calls out.

We want to move that function out of swiotlb_tbl_map_single so that the caller
of this function does the virt->phys->bus address translation.
swiotlb: Make exportable bookkeeping functions and variables have same prefix.

We prefix pertient book keeping functions and variables with the
'swiotlb_tbl' prefix.
swiotlb: search and replace 'int dir' with 'enum dma_data_direction dir'
swiotlb: Make swiotlb bookkeeping functions visible in the header file.
swiotlb: EXPORT_SYMBOL_GPL functions + variables that
are defined in the header file.

Make the functions and variables that are now declared in the swiotlb.h
header file visible by the linker.
swiotbl: add back swiotlb_alloc_boot

This patch makes swiotlb_alloc_boot() available again.

This weak function can be overloaded to modify slightly how the SWIOTLB
and the overflow areas are allocated during boot.

This will be used later to support the Nintendo Wii video game console,
which requires placing the SWIOTLB area above 0x10000000 (MEM2).
swiotlb: make swiotlb_bounce() __weak

This patch converts swiotlb_bounce() into a weak function making it
overloadable by platform support code.

This will be used later to support the Nintendo Wii video game console,
which is a NOT_COHERENT_CACHE platform and requires explicit cache handling
when dealing with the swiotlb bounce buffers.
USB add HCD_NO_COHERENT_MEM host controller driver flag
powerpc: add per-device dma coherent support

Use the generic per-device dma coherent allocator on powerpc.
This allows a driver to declare coherent memory area from where
a device can allocate coherent memory chunks.
powerpc: add min_direct_dma_addr

This patch adds min_direct_dma_addr to struct dev_archdata.

min_direct_dma_addr can be used to define which is the minimum address
suitable for a DMA operation.
dma_capable() is updated to use this information in the SWIOTLB case.

This will be used later to support the Nintendo Wii video game console
which has limitations performing DMA to memory below 0x10000000 (MEM1).
dma-coherent: fix bitmap access races

The bitmap functions, though, do not protect the bitmap structure from
being modified concurrently. This can lead, for example, to double
allocations if dma_alloc_from_coherent() is called while another
dma_alloc_from_coherent() is already in progress.

Fix those races by protecting concurrent modifications of the allocation
bitmap. spin_lock_irqsave()/spin_unlock_irqrestore() is used as the
allocation/release functions are planned to be used in interrupt context
for streaming DMA mappings/unmappings via bounce buffers.
wii: add mem2 dma mapping ops

Some of the devices in the Hollywood chipset of the Nintendo Wii video
game console have restrictions performing DMA transfers to the first
contiguous RAM region (known as MEM1).

For example, up to 3 bytes of the last word of a DMA transfer of a
non-32 bit aligned length to MEM1 may be lost.
Such restrictions do not apply when using the second contiguous RAM
region (known as MEM2).

Add a set of DMA mapping operations which said devices can use to make
sure that DMA transfers are always performed to/from memory buffers
within MEM2.
wii: enable swiotlb

Enable the use of a software IO TLB on the Nintendo Wii video game console.

This is used by the platform DMA support code to overcome the limitations
found in some of the devices within the 'Hollywood' chipset.
Fix Wii Hollywood ehci controller support
Fix Wii Hollywood ohci controller support