mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 19:06:39 +07:00
0e43b8da15
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: Thierry Reding <treding@nvidia.com> |
||
---|---|---|
.. | ||
hw | ||
bus.c | ||
bus.h | ||
cdma.c | ||
cdma.h | ||
channel.c | ||
channel.h | ||
debug.c | ||
debug.h | ||
dev.c | ||
dev.h | ||
intr.c | ||
intr.h | ||
job.c | ||
job.h | ||
Kconfig | ||
Makefile | ||
mipi.c | ||
syncpt.c | ||
syncpt.h |