Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f50c8054 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv50-/fifo: use parent as self for subobjects



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent a3e6789a
Loading
Loading
Loading
Loading
+10 −8
Original line number Original line Diff line number Diff line
@@ -210,7 +210,8 @@ nv50_fifo_chan_ctor_dma(struct nouveau_object *parent,
	nv_parent(chan)->object_attach = nv50_fifo_object_attach;
	nv_parent(chan)->object_attach = nv50_fifo_object_attach;
	nv_parent(chan)->object_detach = nv50_fifo_object_detach;
	nv_parent(chan)->object_detach = nv50_fifo_object_detach;


	ret = nouveau_ramht_new(parent, parent, 0x8000, 16, &chan->ramht);
	ret = nouveau_ramht_new(nv_object(chan), nv_object(chan), 0x8000, 16,
				&chan->ramht);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -263,7 +264,8 @@ nv50_fifo_chan_ctor_ind(struct nouveau_object *parent,
	nv_parent(chan)->object_attach = nv50_fifo_object_attach;
	nv_parent(chan)->object_attach = nv50_fifo_object_attach;
	nv_parent(chan)->object_detach = nv50_fifo_object_detach;
	nv_parent(chan)->object_detach = nv50_fifo_object_detach;


	ret = nouveau_ramht_new(parent, parent, 0x8000, 16, &chan->ramht);
	ret = nouveau_ramht_new(nv_object(chan), nv_object(chan), 0x8000, 16,
			       &chan->ramht);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -373,17 +375,17 @@ nv50_fifo_context_ctor(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x0200, 0x1000,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x0200,
				 NVOBJ_FLAG_ZERO_ALLOC, &base->ramfc);
				 0x1000, NVOBJ_FLAG_ZERO_ALLOC, &base->ramfc);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x1200, 0,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x1200, 0,
				 NVOBJ_FLAG_ZERO_ALLOC, &base->eng);
				 NVOBJ_FLAG_ZERO_ALLOC, &base->eng);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x4000, 0, 0,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x4000, 0, 0,
				&base->pgd);
				&base->pgd);
	if (ret)
	if (ret)
		return ret;
		return ret;
@@ -437,12 +439,12 @@ nv50_fifo_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 128 * 4, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 128 * 4, 0x1000, 0,
				&priv->playlist[0]);
				&priv->playlist[0]);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 128 * 4, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 128 * 4, 0x1000, 0,
				&priv->playlist[1]);
				&priv->playlist[1]);
	if (ret)
	if (ret)
		return ret;
		return ret;
+12 −10
Original line number Original line Diff line number Diff line
@@ -180,7 +180,8 @@ nv84_fifo_chan_ctor_dma(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_ramht_new(parent, parent, 0x8000, 16, &chan->ramht);
	ret = nouveau_ramht_new(nv_object(chan), nv_object(chan), 0x8000, 16,
			       &chan->ramht);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -242,7 +243,8 @@ nv84_fifo_chan_ctor_ind(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_ramht_new(parent, parent, 0x8000, 16, &chan->ramht);
	ret = nouveau_ramht_new(nv_object(chan), nv_object(chan), 0x8000, 16,
			       &chan->ramht);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -336,12 +338,12 @@ nv84_fifo_context_ctor(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x0200, 0,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x0200, 0,
				 NVOBJ_FLAG_ZERO_ALLOC, &base->eng);
				 NVOBJ_FLAG_ZERO_ALLOC, &base->eng);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x4000, 0,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x4000, 0,
				 0, &base->pgd);
				 0, &base->pgd);
	if (ret)
	if (ret)
		return ret;
		return ret;
@@ -350,13 +352,13 @@ nv84_fifo_context_ctor(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x1000, 0x400,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x1000,
				 NVOBJ_FLAG_ZERO_ALLOC, &base->cache);
				 0x400, NVOBJ_FLAG_ZERO_ALLOC, &base->cache);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, nv_object(base), 0x0100, 0x100,
	ret = nouveau_gpuobj_new(nv_object(base), nv_object(base), 0x0100,
				 NVOBJ_FLAG_ZERO_ALLOC, &base->ramfc);
				 0x100, NVOBJ_FLAG_ZERO_ALLOC, &base->ramfc);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -407,12 +409,12 @@ nv84_fifo_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 128 * 4, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 128 * 4, 0x1000, 0,
				&priv->playlist[0]);
				&priv->playlist[0]);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 128 * 4, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 128 * 4, 0x1000, 0,
				&priv->playlist[1]);
				&priv->playlist[1]);
	if (ret)
	if (ret)
		return ret;
		return ret;
+5 −4
Original line number Original line Diff line number Diff line
@@ -292,7 +292,8 @@ nvc0_fifo_context_ctor(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 0x10000, 0x1000, 0, &base->pgd);
	ret = nouveau_gpuobj_new(nv_object(base), NULL, 0x10000, 0x1000, 0,
				&base->pgd);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -623,17 +624,17 @@ nvc0_fifo_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 0x1000, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 0x1000, 0x1000, 0,
				&priv->playlist[0]);
				&priv->playlist[0]);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 0x1000, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 0x1000, 0x1000, 0,
				&priv->playlist[1]);
				&priv->playlist[1]);
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 128 * 0x1000, 0x1000, 0,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 128 * 0x1000, 0x1000, 0,
				&priv->user.mem);
				&priv->user.mem);
	if (ret)
	if (ret)
		return ret;
		return ret;
+4 −3
Original line number Original line Diff line number Diff line
@@ -96,7 +96,7 @@ nve0_fifo_playlist_update(struct nve0_fifo_priv *priv, u32 engine)


	cur = engn->playlist[engn->cur_playlist];
	cur = engn->playlist[engn->cur_playlist];
	if (unlikely(cur == NULL)) {
	if (unlikely(cur == NULL)) {
		int ret = nouveau_gpuobj_new(nv_object(priv)->parent, NULL,
		int ret = nouveau_gpuobj_new(nv_object(priv), NULL,
					     0x8000, 0x1000, 0, &cur);
					     0x8000, 0x1000, 0, &cur);
		if (ret) {
		if (ret) {
			nv_error(priv, "playlist alloc failed\n");
			nv_error(priv, "playlist alloc failed\n");
@@ -333,7 +333,8 @@ nve0_fifo_context_ctor(struct nouveau_object *parent,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 0x10000, 0x1000, 0, &base->pgd);
	ret = nouveau_gpuobj_new(nv_object(base), NULL, 0x10000, 0x1000, 0,
				&base->pgd);
	if (ret)
	if (ret)
		return ret;
		return ret;


@@ -595,7 +596,7 @@ nve0_fifo_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	if (ret)
	if (ret)
		return ret;
		return ret;


	ret = nouveau_gpuobj_new(parent, NULL, 4096 * 0x200, 0x1000,
	ret = nouveau_gpuobj_new(nv_object(priv), NULL, 4096 * 0x200, 0x1000,
				 NVOBJ_FLAG_ZERO_ALLOC, &priv->user.mem);
				 NVOBJ_FLAG_ZERO_ALLOC, &priv->user.mem);
	if (ret)
	if (ret)
		return ret;
		return ret;