Re: [PATCH] nouveau/hmm: map pages after migration

From: Ralph Campbell
Date: Mon Aug 12 2019 - 15:42:35 EST



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.