mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-02-03 20:40:26 +01:00
drm/nv50: fix nv9x chipsets
NVIDIA do this fun little sequence after updating the PRAMIN page tables. On 9xxx chips, none of the PRAMIN BAR bindings (except the initial one) worked, hence the majority of the setup needed to create a channel ended up in the wrong place, causing all sorts of fun. This is done by NVIDIA on nv8x chips also, so we'll do it for them too, even though they appear to work without it.
This commit is contained in:
parent
7bbd605a21
commit
bc92c0edf3
1 changed files with 7 additions and 0 deletions
|
|
@ -297,6 +297,13 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
|
|||
vram += NV50_INSTMEM_PAGE_SIZE;
|
||||
}
|
||||
|
||||
NV_WRITE(0x070000, 0x00000001);
|
||||
while(NV_READ(0x070000) & 1);
|
||||
NV_WRITE(0x100c80, 0x00040001);
|
||||
while(NV_READ(0x100c80) & 1);
|
||||
NV_WRITE(0x100c80, 0x00060001);
|
||||
while(NV_READ(0x100c80) & 1);
|
||||
|
||||
gpuobj->im_bound = 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue