mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-24 10:28:57 +00:00
803c874abe
The LSI MEGARAID SAS HBA suffers from the problem where it can do 64-bit DMA to streaming buffers but not to consistent buffers. In other words, 64-bit DMA is used for disk data transfers and 32-bit DMA must be used for control message transfers. According to LSI, the firmware is not fully functional yet. This change implements a kind of hybrid dma_ops to support this. Note that on most other platforms, the 64-bit DMA addressing space is the same as the 32-bit DMA space and they overlap the physical memory space. No special arrangement is needed to support this kind of mixed DMA capability. On TILE-Gx, the 64-bit DMA space is completely separate from the 32-bit DMA space. Due to the use of the IOMMU, the 64-bit DMA space doesn't overlap the physical memory space. On the other hand, the 32-bit DMA space overlaps the physical memory space under 4GB. The separate address spaces make it necessary to have separate dma_ops. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> |
||
---|---|---|
.. | ||
asm-offsets.h | ||
atomic_32.h | ||
atomic_64.h | ||
atomic.h | ||
backtrace.h | ||
barrier.h | ||
bitops_32.h | ||
bitops_64.h | ||
bitops.h | ||
cache.h | ||
cacheflush.h | ||
checksum.h | ||
cmpxchg.h | ||
compat.h | ||
current.h | ||
delay.h | ||
device.h | ||
dma-mapping.h | ||
dma.h | ||
edac.h | ||
elf.h | ||
fixmap.h | ||
ftrace.h | ||
futex.h | ||
hardirq.h | ||
hardwall.h | ||
highmem.h | ||
homecache.h | ||
hugetlb.h | ||
hv_driver.h | ||
hw_irq.h | ||
ide.h | ||
io.h | ||
irq.h | ||
irqflags.h | ||
Kbuild | ||
kexec.h | ||
kmap_types.h | ||
linkage.h | ||
mmu_context.h | ||
mmu.h | ||
mmzone.h | ||
module.h | ||
page.h | ||
pci.h | ||
percpu.h | ||
pgalloc.h | ||
pgtable_32.h | ||
pgtable_64.h | ||
pgtable.h | ||
processor.h | ||
ptrace.h | ||
sections.h | ||
setup.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
spinlock_32.h | ||
spinlock_64.h | ||
spinlock_types.h | ||
spinlock.h | ||
stack.h | ||
string.h | ||
switch_to.h | ||
syscall.h | ||
syscalls.h | ||
thread_info.h | ||
tile-desc_32.h | ||
tile-desc_64.h | ||
tile-desc.h | ||
timex.h | ||
tlb.h | ||
tlbflush.h | ||
topology.h | ||
traps.h | ||
uaccess.h | ||
unaligned.h | ||
unistd.h | ||
user.h | ||
vga.h |