• Lucas Stach's avatar
    drm/etnaviv: request pages from DMA32 zone when needed · b72af445
    Lucas Stach authored
    Some Vivante GPUs are found in systems that have interconnects restricted
    to 32 address bits, but may have system memory mapped above the 4GB mark.
    As this region isn't accessible to the GPU via DMA any GPU memory allocated
    in the upper part needs to go through SWIOTLB bounce buffering. This kills
    performance if it happens too often, as well as overrunning the available
    bounce buffer space, as the GPU buffer may stay mapped for a long time.
    
    Avoid bounce buffering by checking the addressing restrictions. If the
    GPU is unable to access memory above the 4GB mark, request our SHM buffers
    to be located in the DMA32 zone.
    Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
    b72af445
etnaviv_gem.c 18.5 KB