• Thierry Reding's avatar
    gpu: host1x: Use correct semantics for HOST1X_CHANNEL_DMAEND · 0e43b8da
    Thierry Reding authored
    The HOST1X_CHANNEL_DMAEND is an offset relative to the value written to
    the HOST1X_CHANNEL_DMASTART register, but it is currently treated as an
    absolute address. This can cause SMMU faults if the CDMA fetches past a
    pushbuffer's IOMMU mapping.
    
    Properly setting the DMAEND prevents the CDMA from fetching beyond that
    address and avoid such issues. This is currently not observed because a
    whole (almost) page of essentially scratch space absorbs any excessive
    prefetching by CDMA. However, changing the number of slots in the push
    buffer can trigger these SMMU faults.
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    0e43b8da
cdma_hw.c 9.42 KB