aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c
diff options
context:
space:
mode:
authorGravatar Ben Skeggs <bskeggs@redhat.com> 2022-06-01 20:47:37 +1000
committerGravatar Ben Skeggs <bskeggs@redhat.com> 2022-11-09 10:44:49 +1000
commit7ac293328122075a2afc40a4089e7afc6cbc26eb (patch)
tree4392cd9a12632baa057b16cb4877f524c3720951 /drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c
parentdrm/nouveau/fifo: add new engine context handling (diff)
downloadlinux-7ac293328122075a2afc40a4089e7afc6cbc26eb.tar.gz
linux-7ac293328122075a2afc40a4089e7afc6cbc26eb.tar.bz2
linux-7ac293328122075a2afc40a4089e7afc6cbc26eb.zip
drm/nouveau/fifo: add new engine object handling
Simplifies the GPU-specific code, completing the switch to newer HALs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c
index a35439dda054..4f99e5bf4e7f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c
@@ -39,70 +39,6 @@ const struct nvkm_event_func
nvkm_chan_event = {
};
-struct nvkm_fifo_chan_object {
- struct nvkm_oproxy oproxy;
- struct nvkm_fifo_chan *chan;
- int hash;
-};
-
-static void
-nvkm_fifo_chan_child_del(struct nvkm_oproxy *base)
-{
- struct nvkm_fifo_chan_object *object =
- container_of(base, typeof(*object), oproxy);
- struct nvkm_fifo_chan *chan = object->chan;
-
- if (chan->func->object_dtor)
- chan->func->object_dtor(chan, object->hash);
-}
-
-static const struct nvkm_oproxy_func
-nvkm_fifo_chan_child_func = {
- .dtor[0] = nvkm_fifo_chan_child_del,
-};
-
-int
-nvkm_fifo_chan_child_new(const struct nvkm_oclass *oclass, void *data, u32 size,
- struct nvkm_object **pobject)
-{
- struct nvkm_engine *engine = oclass->engine;
- struct nvkm_fifo_chan *chan = nvkm_fifo_chan(oclass->parent);
- struct nvkm_ectx *engn = nvkm_list_find(engn, &chan->cgrp->ectxs, head,
- engn->engn->engine == engine);
- struct nvkm_fifo_chan_object *object;
- int ret = 0;
-
- if (!(object = kzalloc(sizeof(*object), GFP_KERNEL)))
- return -ENOMEM;
- nvkm_oproxy_ctor(&nvkm_fifo_chan_child_func, oclass, &object->oproxy);
- object->chan = chan;
- *pobject = &object->oproxy.base;
-
-
- ret = oclass->base.ctor(&(const struct nvkm_oclass) {
- .base = oclass->base,
- .engn = oclass->engn,
- .handle = oclass->handle,
- .object = oclass->object,
- .client = oclass->client,
- .parent = engn->object ?
- engn->object :
- oclass->parent,
- .engine = engine,
- }, data, size, &object->oproxy.object);
- if (ret)
- return ret;
-
- if (chan->func->object_ctor) {
- object->hash =
- chan->func->object_ctor(chan, object->oproxy.object);
- if (object->hash < 0)
- return object->hash;
- }
-
- return 0;
-}
-
void
nvkm_chan_cctx_bind(struct nvkm_chan *chan, struct nvkm_engn *engn, struct nvkm_cctx *cctx)
{
@@ -455,8 +391,6 @@ nvkm_fifo_chan_ctor(const struct nvkm_fifo_chan_func *fn,
*func = *fifo->func->chan.func;
func->dtor = fn->dtor;
- func->object_ctor = fn->object_ctor;
- func->object_dtor = fn->object_dtor;
chan->func = func;
chan->id = -1;