• Chris Metcalf's avatar
    tile: support LSI MEGARAID SAS HBA hybrid dma_ops · 803c874a
    Chris Metcalf authored
    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: default avatarChris Metcalf <cmetcalf@tilera.com>
    803c874a
dma-mapping.h 3.96 KB