drm/nouveau/bar/gf100: fix access to upper half of BAR2
Bit 30 being set causes the upper half of BAR2 to stay in physical mode, mapped over the end of VRAM, even when the rest of the BAR has been set to virtual mode. We inherited our initial value from RM, but I'm not aware of any reason we need to keep it that way. This fixes severe GPU hang/lockup issues revealed by Wayland on F26. Shout-out to NVIDIA for the quick response with the potential cause! Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org # 4.3+
This commit is contained in:
parent
a90e049cac
commit
38bcb208f6
|
@ -129,7 +129,7 @@ gf100_bar_init(struct nvkm_bar *base)
|
|||
|
||||
if (bar->bar[0].mem) {
|
||||
addr = nvkm_memory_addr(bar->bar[0].mem) >> 12;
|
||||
nvkm_wr32(device, 0x001714, 0xc0000000 | addr);
|
||||
nvkm_wr32(device, 0x001714, 0x80000000 | addr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue