• Jake Moilanen's avatar
    [POWERPC] DMA 4GB boundary protection · 618d3adc
    Jake Moilanen authored
    There are many adapters which can not handle DMAing acrosss any 4 GB
    boundary.  For instance the latest Emulex adapters.
    
    This normally is not an issue as firmware gives us dma-windows under
    4gigs.  However, some of the new System-P boxes have dma-windows above
    4gigs, and this present a problem.
    
    I propose fixing it in the IOMMU allocation instead of making each
    driver protect against it as it is more efficient, and won't require
    changing every driver which has not considered this issue.
    
    This patch checks to see if the mapping spans a 4 gig boundary, and if
    it does, retries the allocation.  It tries the next allocation at the
    start of the crossed 4 gig boundary.
    Signed-off-by: default avatarJake Moilanen <moilanen@austin.ibm.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    618d3adc
iommu.c 16.6 KB