Commit 7a4337a6 authored by Ben Skeggs's avatar Ben Skeggs Committed by Greg Kroah-Hartman

drm/nouveau/bar/gf100: fix access to upper half of BAR2

commit 38bcb208 upstream.

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: default avatarBen Skeggs <bskeggs@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3de4f5de
...@@ -129,7 +129,7 @@ gf100_bar_init(struct nvkm_bar *base) ...@@ -129,7 +129,7 @@ gf100_bar_init(struct nvkm_bar *base)
if (bar->bar[0].mem) { if (bar->bar[0].mem) {
addr = nvkm_memory_addr(bar->bar[0].mem) >> 12; addr = nvkm_memory_addr(bar->bar[0].mem) >> 12;
nvkm_wr32(device, 0x001714, 0xc0000000 | addr); nvkm_wr32(device, 0x001714, 0x80000000 | addr);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment