• A
    PPC: dbdma: Support unaligned DMA access · 80fc95d8
    Alexander Graf 提交于
    The DBDMA engine really just reads bytes from a producing device (IDE
    in our case) and shoves these bytes into memory. It doesn't care whether
    any alignment takes place or not.
    
    Our code today however assumes that block accesses always happen on
    sector (512 byte) boundaries. This is a fair assumption for most cases.
    
    However, Mac OS X really likes to do unaligned, incomplete accesses
    that it finishes with the next DMA request.
    
    So we need to read / write the unaligned bits independent of the actual
    asynchronous request, because that one can only handle 512-byte-aligned
    data. We also need to cache these unaligned sectors until the next DMA
    request, at which point the data might be successfully flushed from the
    pipe.
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    80fc95d8
mac_dbdma.h 6.0 KB