Skip to content

Commit

Permalink
drm/nouveau/bar/gk20a: Avoid bar teardown during init
Browse files Browse the repository at this point in the history
Commit bbb163e ("drm/nouveau/bar: implement bar1 teardown")
introduced add a teardown helper function for BAR1. During
initialisation of the Nouveau, initially all the teardown helpers are
called once, before calling their init counterparts. For gk20a, after
the BAR1 teardown function is called, the device is hanging during the
initialisation of the FB sub-device. At this point it is unclear why
this is happening and this is still under investigation. However, this
change is preventing Tegra124 devices from booting when Nouveau is
enabled. To allow Tegra124 to boot, remove the teardown helper for
gk20a.

This is based upon a previous patch by Guillaume Tucker but limits
the workaround to only gk20a GPUs.

Fixes: bbb163e ("drm/nouveau/bar: implement bar1 teardown")
Reported-by: Guillaume Tucker <[email protected]>
Signed-off-by: Jon Hunter <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
  • Loading branch information
jonhunter authored and Ben Skeggs committed Jan 19, 2018
1 parent b554b12 commit e062a01
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
3 changes: 2 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ static int
nvkm_bar_fini(struct nvkm_subdev *subdev, bool suspend)
{
struct nvkm_bar *bar = nvkm_bar(subdev);
bar->func->bar1.fini(bar);
if (bar->func->bar1.fini)
bar->func->bar1.fini(bar);
return 0;
}

Expand Down
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ gk20a_bar_func = {
.dtor = gf100_bar_dtor,
.oneinit = gf100_bar_oneinit,
.bar1.init = gf100_bar_bar1_init,
.bar1.fini = gf100_bar_bar1_fini,
.bar1.wait = gf100_bar_bar1_wait,
.bar1.vmm = gf100_bar_bar1_vmm,
.flush = g84_bar_flush,
Expand Down

0 comments on commit e062a01

Please sign in to comment.