• N
    [ARM] make page_to_dma() highmem aware · 58edb515
    Nicolas Pitre 提交于
    If a machine class has a custom __virt_to_bus() implementation then it
    must provide a __arch_page_to_dma() implementation as well which is
    _not_ based on page_address() to support highmem.
    
    This patch fixes existing __arch_page_to_dma() and provide a default
    implementation otherwise.  The default implementation for highmem is
    based on __pfn_to_bus() which is defined only when no custom
    __virt_to_bus() is provided by the machine class.
    
    That leaves only ebsa110 and footbridge which cannot support highmem
    until they provide their own __arch_page_to_dma() implementation.
    But highmem support on those legacy platforms with limited memory is
    certainly not a priority.
    Signed-off-by: NNicolas Pitre <nico@marvell.com>
    58edb515
dma-mapping.h 13.9 KB