Commit 0e994828 authored by Christian König's avatar Christian König
Browse files

drm/etnaviv: use new iterator in etnaviv_gem_describe

parent 55d5e4f9
Loading
Loading
Loading
Loading
+11 −20
Original line number Diff line number Diff line
@@ -427,9 +427,7 @@ int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
static void etnaviv_gem_describe_fence(struct dma_fence *fence,
	const char *type, struct seq_file *m)
{
	if (!test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
		seq_printf(m, "\t%9s: %s %s seq %llu\n",
			   type,
	seq_printf(m, "\t%9s: %s %s seq %llu\n", type,
		   fence->ops->get_driver_name(fence),
		   fence->ops->get_timeline_name(fence),
		   fence->seqno);
@@ -439,7 +437,7 @@ static void etnaviv_gem_describe(struct drm_gem_object *obj, struct seq_file *m)
{
	struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
	struct dma_resv *robj = obj->resv;
	struct dma_resv_list *fobj;
	struct dma_resv_iter cursor;
	struct dma_fence *fence;
	unsigned long off = drm_vma_node_start(&obj->vma_node);

@@ -448,21 +446,14 @@ static void etnaviv_gem_describe(struct drm_gem_object *obj, struct seq_file *m)
			obj->name, kref_read(&obj->refcount),
			off, etnaviv_obj->vaddr, obj->size);

	rcu_read_lock();
	fobj = dma_resv_shared_list(robj);
	if (fobj) {
		unsigned int i, shared_count = fobj->shared_count;

		for (i = 0; i < shared_count; i++) {
			fence = rcu_dereference(fobj->shared[i]);
	dma_resv_iter_begin(&cursor, robj, true);
	dma_resv_for_each_fence_unlocked(&cursor, fence) {
		if (dma_resv_iter_is_exclusive(&cursor))
			etnaviv_gem_describe_fence(fence, "Exclusive", m);
		else
			etnaviv_gem_describe_fence(fence, "Shared", m);
	}
	}

	fence = dma_resv_excl_fence(robj);
	if (fence)
		etnaviv_gem_describe_fence(fence, "Exclusive", m);
	rcu_read_unlock();
	dma_resv_iter_end(&cursor);
}

void etnaviv_gem_describe_objects(struct etnaviv_drm_private *priv,