On 8/10/19 4:13 AM, Christoph Hellwig wrote:
On something vaguely related to this patch: You use the NVIF_VMM_PFNMAP_V0_V* defines from nvif/if000c.h, which are a little odd as we only ever set these bits, but they also don't seem to appear to be in values that are directly fed to the hardware. On the other hand mmu/vmm.h defines a set of NVIF_VMM_PFNMAP_V0_*
Yes, I see NVKM_VMM_PFN_*
constants with similar names and identical values, and those are used in mmu/vmmgp100.c and what appears to finally do the low-level dma mapping and talking to the hardware. Are these two sets of constants supposed to be the same? Are the actual hardware values or just a driver internal interface?
It looks a bit odd to me too. I don't really know the structure/history of nouveau. Perhaps Ben Skeggs can shed more light on your question.