nv50: force channel vram access through vm
authorBen Skeggs <skeggsb@gmail.com>
Wed, 12 Mar 2008 12:37:29 +0000 (23:37 +1100)
committerBen Skeggs <skeggsb@gmail.com>
Wed, 12 Mar 2008 13:23:52 +0000 (00:23 +1100)
commit1766e1c07b03c6ccf545469663334be762c0bddf
treee60ee35ad5f843a882a1f4b65700ab66eea76c60
parent88bd1e4a350d011ec44f6786e0bfdf8fb386800c
nv50: force channel vram access through vm

If we ever want to be able to use the 3D engine we have no choice.  It
appears that the tiling setup (required for 3D on G8x) is in the page tables.

The immediate benefit of this change however is that it's now not possible
for a client to use the GPU to render over the top of important engine setup
tables, which also live in VRAM.

G8x VRAM size is limited to 512MiB at the moment, as we use a 1-1 mapping
of real vram pages to their offset within the start of a channel's VRAM
DMA object and only populate a single PDE for VRAM use.
shared-core/nouveau_drm.h
shared-core/nouveau_drv.h
shared-core/nouveau_mem.c
shared-core/nouveau_object.c
shared-core/nouveau_state.c
shared-core/nv50_instmem.c