Skip to content
Snippets Groups Projects
Commit f2f9a2cb authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau: fix regression on original nv50 board


Xorg (and any non-DRM client really) doesn't have permission to directly
touch VRAM on nv50 and up, which the fence code prior to g84 depends on.

It's less invasive to temporarily grant it premission to do so, as it
previously did, than it is to rework fencenv50 to use the VM.  That
will come later on.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 5838ae61
No related branches found
No related tags found
No related merge requests found
...@@ -285,6 +285,7 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) ...@@ -285,6 +285,7 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart)
struct nouveau_software_chan *swch; struct nouveau_software_chan *swch;
struct nv_dma_v0 args = {}; struct nv_dma_v0 args = {};
int ret, i; int ret, i;
bool save;
nvif_object_map(chan->object); nvif_object_map(chan->object);
...@@ -386,7 +387,11 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) ...@@ -386,7 +387,11 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart)
} }
/* initialise synchronisation */ /* initialise synchronisation */
return nouveau_fence(chan->drm)->context_new(chan); save = cli->base.super;
cli->base.super = true; /* hack until fencenv50 fixed */
ret = nouveau_fence(chan->drm)->context_new(chan);
cli->base.super = save;
return ret;
} }
int int
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment