diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-08-20 00:54:15 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-08-27 22:40:32 -0400 |
commit | a01ca78c8f118e5a24f1527ecf078ab56ddd4805 (patch) | |
tree | 34ccaf8913fcdf3a9be2794b27a30a52e8449bb0 /drivers/gpu/drm/nouveau/nv17_fence.c | |
parent | 4e7e62d607a711bc8e8576a0fc7d8f242d25c9b3 (diff) |
drm/nouveau/nvif: simplify and tidy library interfaces
A variety of tweaks to the NVIF library interfaces, mostly ripping out
things that turned out to be not so useful.
- Removed refcounting from nvif_object, callers are expected to not be
stupid instead.
- nvif_client is directly reachable from anything derived from nvif_object,
removing the need for heuristics to locate it
- _new() versions of interfaces, that allocate memory for the object
they construct, have been removed. The vast majority of callers used
the embedded _init() interfaces.
- No longer storing constructor arguments (and the data returned from
nvkm) inside nvif_object, it's more or less unused and just wastes
memory.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv17_fence.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv17_fence.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nv17_fence.c b/drivers/gpu/drm/nouveau/nv17_fence.c index 57860cfa1de5..80b6eb8b3d02 100644 --- a/drivers/gpu/drm/nouveau/nv17_fence.c +++ b/drivers/gpu/drm/nouveau/nv17_fence.c | |||
@@ -33,7 +33,7 @@ int | |||
33 | nv17_fence_sync(struct nouveau_fence *fence, | 33 | nv17_fence_sync(struct nouveau_fence *fence, |
34 | struct nouveau_channel *prev, struct nouveau_channel *chan) | 34 | struct nouveau_channel *prev, struct nouveau_channel *chan) |
35 | { | 35 | { |
36 | struct nouveau_cli *cli = (void *)nvif_client(&prev->device->base); | 36 | struct nouveau_cli *cli = (void *)prev->user.client; |
37 | struct nv10_fence_priv *priv = chan->drm->fence; | 37 | struct nv10_fence_priv *priv = chan->drm->fence; |
38 | struct nv10_fence_chan *fctx = chan->fence; | 38 | struct nv10_fence_chan *fctx = chan->fence; |
39 | u32 value; | 39 | u32 value; |
@@ -89,7 +89,7 @@ nv17_fence_context_new(struct nouveau_channel *chan) | |||
89 | fctx->base.read = nv10_fence_read; | 89 | fctx->base.read = nv10_fence_read; |
90 | fctx->base.sync = nv17_fence_sync; | 90 | fctx->base.sync = nv17_fence_sync; |
91 | 91 | ||
92 | ret = nvif_object_init(chan->object, NULL, NvSema, NV_DMA_FROM_MEMORY, | 92 | ret = nvif_object_init(&chan->user, NvSema, NV_DMA_FROM_MEMORY, |
93 | &(struct nv_dma_v0) { | 93 | &(struct nv_dma_v0) { |
94 | .target = NV_DMA_V0_TARGET_VRAM, | 94 | .target = NV_DMA_V0_TARGET_VRAM, |
95 | .access = NV_DMA_V0_ACCESS_RDWR, | 95 | .access = NV_DMA_V0_ACCESS_RDWR, |