Skip to content

Commit

Permalink
drm/nouveau/bar/gf100: fix access to upper half of BAR2
Browse files Browse the repository at this point in the history
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+
  • Loading branch information
Ben Skeggs committed Jul 25, 2017
1 parent a90e049 commit 38bcb20
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 38bcb20

Please sign in to comment.