• S
    device: introduce per device dma_pfn_offset · 8febcaa2
    Santosh Shilimkar 提交于
    On few architectures, there are few restrictions on DMAble area of system
    RAM. That also means that devices needs to know about this restrictions so
    that the dma_masks can be updated accordingly and dma address translation
    helpers can add/subtract the dma offset.
    
    In most of cases DMA addresses can be performed using offset value of
    Bus address space relatively to physical address space as following:
    
    PFN->DMA:  __pfn_to_phys(pfn + [-]dma_pfn_offset)
    DMA->PFN:  __phys_to_pfn(dma_addr) + [-]dma_pfn_offset
    
    So we introduce per device dma_pfn_offset which can be popullated
    by architecture init code while creating the devices.
    
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Olof Johansson <olof@lixom.net>
    Cc: Grant Likely <grant.likely@linaro.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: NRob Herring <robh@kernel.org>
    Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
    8febcaa2
device.h 42.1 KB