mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
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 |