Loading drivers/gpu/drm/nouveau/nouveau_object.c +2 −8 Original line number Diff line number Diff line Loading @@ -926,20 +926,14 @@ int nouveau_ioctl_gpuobj_free(struct drm_device *dev, void *data, struct drm_file *file_priv) { struct drm_nouveau_gpuobj_free *objfree = data; struct nouveau_gpuobj *gpuobj; struct nouveau_channel *chan; int ret = -ENOENT; int ret; chan = nouveau_channel_get(dev, file_priv, objfree->channel); if (IS_ERR(chan)) return PTR_ERR(chan); gpuobj = nouveau_ramht_find(chan, objfree->handle); if (gpuobj) { nouveau_ramht_remove(chan, objfree->handle); ret = 0; } ret = nouveau_ramht_remove(chan, objfree->handle); nouveau_channel_put(&chan); return ret; } Loading drivers/gpu/drm/nouveau/nouveau_ramht.c +3 −2 Original line number Diff line number Diff line Loading @@ -214,18 +214,19 @@ nouveau_ramht_remove_hash(struct nouveau_channel *chan, u32 handle) spin_unlock_irqrestore(&chan->ramht->lock, flags); } void int nouveau_ramht_remove(struct nouveau_channel *chan, u32 handle) { struct nouveau_ramht_entry *entry; entry = nouveau_ramht_remove_entry(chan, handle); if (!entry) return; return -ENOENT; nouveau_ramht_remove_hash(chan, entry->handle); nouveau_gpuobj_ref(NULL, &entry->gpuobj); kfree(entry); return 0; } struct nouveau_gpuobj * Loading drivers/gpu/drm/nouveau/nouveau_ramht.h +1 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ extern void nouveau_ramht_ref(struct nouveau_ramht *, struct nouveau_ramht **, extern int nouveau_ramht_insert(struct nouveau_channel *, u32 handle, struct nouveau_gpuobj *); extern void nouveau_ramht_remove(struct nouveau_channel *, u32 handle); extern int nouveau_ramht_remove(struct nouveau_channel *, u32 handle); extern struct nouveau_gpuobj * nouveau_ramht_find(struct nouveau_channel *chan, u32 handle); Loading Loading
drivers/gpu/drm/nouveau/nouveau_object.c +2 −8 Original line number Diff line number Diff line Loading @@ -926,20 +926,14 @@ int nouveau_ioctl_gpuobj_free(struct drm_device *dev, void *data, struct drm_file *file_priv) { struct drm_nouveau_gpuobj_free *objfree = data; struct nouveau_gpuobj *gpuobj; struct nouveau_channel *chan; int ret = -ENOENT; int ret; chan = nouveau_channel_get(dev, file_priv, objfree->channel); if (IS_ERR(chan)) return PTR_ERR(chan); gpuobj = nouveau_ramht_find(chan, objfree->handle); if (gpuobj) { nouveau_ramht_remove(chan, objfree->handle); ret = 0; } ret = nouveau_ramht_remove(chan, objfree->handle); nouveau_channel_put(&chan); return ret; } Loading
drivers/gpu/drm/nouveau/nouveau_ramht.c +3 −2 Original line number Diff line number Diff line Loading @@ -214,18 +214,19 @@ nouveau_ramht_remove_hash(struct nouveau_channel *chan, u32 handle) spin_unlock_irqrestore(&chan->ramht->lock, flags); } void int nouveau_ramht_remove(struct nouveau_channel *chan, u32 handle) { struct nouveau_ramht_entry *entry; entry = nouveau_ramht_remove_entry(chan, handle); if (!entry) return; return -ENOENT; nouveau_ramht_remove_hash(chan, entry->handle); nouveau_gpuobj_ref(NULL, &entry->gpuobj); kfree(entry); return 0; } struct nouveau_gpuobj * Loading
drivers/gpu/drm/nouveau/nouveau_ramht.h +1 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ extern void nouveau_ramht_ref(struct nouveau_ramht *, struct nouveau_ramht **, extern int nouveau_ramht_insert(struct nouveau_channel *, u32 handle, struct nouveau_gpuobj *); extern void nouveau_ramht_remove(struct nouveau_channel *, u32 handle); extern int nouveau_ramht_remove(struct nouveau_channel *, u32 handle); extern struct nouveau_gpuobj * nouveau_ramht_find(struct nouveau_channel *chan, u32 handle); Loading