diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_fifo.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_fifo.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_fifo.c b/drivers/gpu/drm/nouveau/nv04_fifo.c index a32ba8ccaae6..f89d104698df 100644 --- a/drivers/gpu/drm/nouveau/nv04_fifo.c +++ b/drivers/gpu/drm/nouveau/nv04_fifo.c | |||
@@ -129,6 +129,11 @@ nv04_fifo_create_context(struct nouveau_channel *chan) | |||
129 | if (ret) | 129 | if (ret) |
130 | return ret; | 130 | return ret; |
131 | 131 | ||
132 | chan->user = ioremap(pci_resource_start(dev->pdev, 0) + | ||
133 | NV03_USER(chan->id), PAGE_SIZE); | ||
134 | if (!chan->user) | ||
135 | return -ENOMEM; | ||
136 | |||
132 | spin_lock_irqsave(&dev_priv->context_switch_lock, flags); | 137 | spin_lock_irqsave(&dev_priv->context_switch_lock, flags); |
133 | 138 | ||
134 | /* Setup initial state */ | 139 | /* Setup initial state */ |
@@ -173,6 +178,10 @@ nv04_fifo_destroy_context(struct nouveau_channel *chan) | |||
173 | spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags); | 178 | spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags); |
174 | 179 | ||
175 | /* Free the channel resources */ | 180 | /* Free the channel resources */ |
181 | if (chan->user) { | ||
182 | iounmap(chan->user); | ||
183 | chan->user = NULL; | ||
184 | } | ||
176 | nouveau_gpuobj_ref(NULL, &chan->ramfc); | 185 | nouveau_gpuobj_ref(NULL, &chan->ramfc); |
177 | } | 186 | } |
178 | 187 | ||