• Alex Elder's avatar
    net: ipa: DMA addresses are nicely aligned · 19aaf72c
    Alex Elder authored
    A recent patch avoided doing 64-bit modulo operations by checking
    the alignment of some DMA allocations using only the lower 32 bits
    of the address.
    
    David Laight pointed out (after the fix was committed) that DMA
    allocations might already satisfy the alignment requirements.  And
    he was right.
    
    Remove the alignment checks that occur after DMA allocation requests,
    and update comments to explain why the constraint is satisfied.  The
    only place IPA_TABLE_ALIGN was used was to check the alignment; it is
    therefore no longer needed, so get rid of it.
    
    Add comments where GSI_RING_ELEMENT_SIZE and the tre_count and
    event_count channel data fields are defined to make explicit they
    are required to be powers of 2.
    
    Revise a comment in gsi_trans_pool_init_dma(), taking into account
    that dma_alloc_coherent() guarantees its result is aligned to a page
    size (or order thereof).
    
    Don't bother printing an error if a DMA allocation fails.
    Suggested-by: default avatarDavid Laight <David.Laight@ACULAB.COM>
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    19aaf72c
gsi.c 65 KB