• Alexandre Courbot's avatar
    drm/nouveau/instmem/gk20a: use DMA API CPU mapping · b306712d
    Alexandre Courbot authored
    Commit 69c49382 ("drm/nouveau/instmem/gk20a: use direct CPU access")
    tried to be smart while using the DMA-API by managing the CPU mappings of
    buffers allocated with the DMA-API by itself. In doing so, it relied
    on dma_to_phys() which is an architecture-private function not
    available everywhere. This broke the build on several architectures.
    
    Since there is no reliable and portable way to obtain the physical
    address of a DMA-API buffer, stop trying to be smart and just use the
    CPU mapping that the DMA-API can provide. This means that buffers will
    be CPU-mapped for all their life as opposed to when we need them, but
    anyway using the DMA-API here is a fallback for when no IOMMU is
    available so we should not expect optimal behavior.
    
    This makes the IOMMU and DMA-API implementations of instmem diverge
    enough that we should maybe put them into separate files...
    Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
    Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
    b306712d
gk20a.c 16.2 KB