dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: Emil Velikov <emil.l.velikov@gmail.com>, dri-devel@lists.freedesktop.org
Cc: Alex Deucher <alexander.deucher@amd.com>
Subject: Re: [PATCH 12/36] drm/amd: remove _unlocked suffix in drm_object_put_unlocked
Date: Fri, 8 May 2020 11:23:36 +0200	[thread overview]
Message-ID: <401b83ce-73bf-952d-e98f-91b323e3adcb@amd.com> (raw)
In-Reply-To: <20200507150822.114464-13-emil.l.velikov@gmail.com>

Am 07.05.20 um 17:07 schrieb Emil Velikov:
> From: Emil Velikov <emil.velikov@collabora.com>
>
> Spelling out _unlocked for each and every driver is a annoying.
> Especially if we consider how many drivers, do not know (or need to)
> about the horror stories involving struct_mutex.
>
> Just drop the suffix. It makes the API cleaner.

In general sounds like a good idea to me, but I don't see the full 
patchset in my mailbox.

With the current code this change would probably trigger the 
"WARN_ON(!mutex_is_locked(&obj->dev->struct_mutex));" in 
drm_gem_object_put().

Christian.

>
> Done via the following script:
>
> __from=drm_gem_object_put_unlocked
> __to=drm_gem_object_put
> for __file in $(git grep --name-only $__from); do
>    sed -i  "s/$__from/$__to/g" $__file;
> done
>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c      |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  4 ++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c |  2 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c      |  4 ++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c     | 20 ++++++++++----------
>   drivers/gpu/drm/amd/amdgpu/dce_v10_0.c      |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v11_0.c      |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c       |  6 +++---
>   drivers/gpu/drm/amd/amdgpu/dce_v8_0.c       |  6 +++---
>   10 files changed, 29 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> index 85b0515c0fdc..4053597b3af2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
> @@ -102,7 +102,7 @@ int amdgpu_bo_list_create(struct amdgpu_device *adev, struct drm_file *filp,
>   		}
>   
>   		bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   
>   		usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
>   		if (usermm) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index af91627b19b0..76ea245f2106 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -57,7 +57,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser *p,
>   	/* One for TTM and one for the CS job */
>   	p->uf_entry.tv.num_shared = 2;
>   
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   
>   	size = amdgpu_bo_size(bo);
>   	if (size != PAGE_SIZE || (data->offset + 8) > size) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> index 84cee27cd7ef..de9b62e2800a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> @@ -575,14 +575,14 @@ amdgpu_display_user_framebuffer_create(struct drm_device *dev,
>   
>   	amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
>   	if (amdgpu_fb == NULL) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_PTR(-ENOMEM);
>   	}
>   
>   	ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
>   	if (ret) {
>   		kfree(amdgpu_fb);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_PTR(ret);
>   	}
>   
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> index 652c57a3b847..43d8ed7dbd00 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> @@ -587,7 +587,7 @@ struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev,
>   	attach = dma_buf_dynamic_attach(dma_buf, dev->dev,
>   					&amdgpu_dma_buf_attach_ops, obj);
>   	if (IS_ERR(attach)) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ERR_CAST(attach);
>   	}
>   
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> index 9ae7b61f696a..ca5dde4ec47d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> @@ -114,7 +114,7 @@ static void amdgpufb_destroy_pinned_object(struct drm_gem_object *gobj)
>   		amdgpu_bo_unpin(abo);
>   		amdgpu_bo_unreserve(abo);
>   	}
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   }
>   
>   static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
> @@ -279,7 +279,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
>   
>   	}
>   	if (fb && ret) {
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   		drm_framebuffer_unregister_private(fb);
>   		drm_framebuffer_cleanup(fb);
>   		kfree(fb);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index e42608115c99..8c0597f306ec 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -106,7 +106,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
>   		spin_lock(&file->table_lock);
>   		idr_for_each_entry(&file->object_idr, gobj, handle) {
>   			WARN_ONCE(1, "And also active allocations!\n");
> -			drm_gem_object_put_unlocked(gobj);
> +			drm_gem_object_put(gobj);
>   		}
>   		idr_destroy(&file->object_idr);
>   		spin_unlock(&file->table_lock);
> @@ -272,7 +272,7 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
>   
>   	r = drm_gem_handle_create(filp, gobj, &handle);
>   	/* drop reference from allocate - handle holds it now */
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	if (r)
>   		return r;
>   
> @@ -356,7 +356,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
>   		amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm);
>   
>   release_object:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   
>   	return r;
>   }
> @@ -375,11 +375,11 @@ int amdgpu_mode_dumb_mmap(struct drm_file *filp,
>   	robj = gem_to_amdgpu_bo(gobj);
>   	if (amdgpu_ttm_tt_get_usermm(robj->tbo.ttm) ||
>   	    (robj->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) {
> -		drm_gem_object_put_unlocked(gobj);
> +		drm_gem_object_put(gobj);
>   		return -EPERM;
>   	}
>   	*offset_p = amdgpu_bo_mmap_offset(robj);
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return 0;
>   }
>   
> @@ -449,7 +449,7 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
>   	} else
>   		r = ret;
>   
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -492,7 +492,7 @@ int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
>   unreserve:
>   	amdgpu_bo_unreserve(robj);
>   out:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -691,7 +691,7 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
>   	ttm_eu_backoff_reservation(&ticket, &list);
>   
>   error_unref:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -767,7 +767,7 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
>   	}
>   
>   out:
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	return r;
>   }
>   
> @@ -804,7 +804,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,
>   
>   	r = drm_gem_handle_create(file_priv, gobj, &handle);
>   	/* drop reference from allocate - handle holds it now */
> -	drm_gem_object_put_unlocked(gobj);
> +	drm_gem_object_put(gobj);
>   	if (r) {
>   		return r;
>   	}
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> index 2512e7ebfedf..47a6e3d0aa96 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
> @@ -2404,7 +2404,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2412,7 +2412,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2447,7 +2447,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> index 0dde22db9848..7d16fb5a9482 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> @@ -2483,7 +2483,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2491,7 +2491,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2526,7 +2526,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> index 84219534bd38..1ab33aa3980e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> @@ -2299,7 +2299,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2307,7 +2307,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2342,7 +2342,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> index 3a640702d7d1..8a8f1aa49212 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> @@ -2305,7 +2305,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	aobj = gem_to_amdgpu_bo(obj);
>   	ret = amdgpu_bo_reserve(aobj, false);
>   	if (ret != 0) {
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   
> @@ -2313,7 +2313,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   	amdgpu_bo_unreserve(aobj);
>   	if (ret) {
>   		DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
> -		drm_gem_object_put_unlocked(obj);
> +		drm_gem_object_put(obj);
>   		return ret;
>   	}
>   	amdgpu_crtc->cursor_addr = amdgpu_bo_gpu_offset(aobj);
> @@ -2348,7 +2348,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
>   			amdgpu_bo_unpin(aobj);
>   			amdgpu_bo_unreserve(aobj);
>   		}
> -		drm_gem_object_put_unlocked(amdgpu_crtc->cursor_bo);
> +		drm_gem_object_put(amdgpu_crtc->cursor_bo);
>   	}
>   
>   	amdgpu_crtc->cursor_bo = obj;

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-05-08  9:23 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-07 15:07 [PATCH 00/36] drm: Fareless gem_free_object Emil Velikov
2020-05-07 15:07 ` [PATCH 01/36] drm: remove unused drm_gem.h include Emil Velikov
2020-05-07 15:30   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 02/36] drm/gem: use _unlocked reference in drm_gem_objects_lookup docs Emil Velikov
2020-05-07 17:58   ` Sam Ravnborg
2020-05-07 15:07 ` [PATCH 03/36] drm/todo: mention i915 in the struct_mutex section Emil Velikov
2020-05-08  6:26   ` Daniel Vetter
2020-05-08 14:45   ` Ruhl, Michael J
2020-05-07 15:07 ` [PATCH 04/36] drm/doc: drop struct_mutex references Emil Velikov
2020-05-07 18:01   ` Sam Ravnborg
2020-05-08 10:01     ` Emil Velikov
2020-05-08 11:08       ` Sam Ravnborg
2020-05-08  6:27   ` Daniel Vetter
2020-05-08 10:07     ` Emil Velikov
2020-05-08 10:45       ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 05/36] drm/doc: drop struct_mutex refernce for drm_gem_object_free Emil Velikov
2020-05-08  6:31   ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 06/36] drm/amdgpu: use the unlocked drm_gem_object_put Emil Velikov
2020-05-07 18:03   ` Sam Ravnborg
2020-05-08  8:16     ` Christian König
2020-05-08  9:55       ` Emil Velikov
2020-05-08 11:09         ` Sam Ravnborg
2020-05-08  8:13   ` Christian König
2020-05-07 15:07 ` [PATCH 07/36] drm/gma500: Use lockless gem BO free callback Emil Velikov
2020-05-07 17:16   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 08/36] drm: remove drm_driver::gem_free_object Emil Velikov
2020-05-07 17:20   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 09/36] drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put() Emil Velikov
2020-05-08  6:43   ` Daniel Vetter
2020-05-08 10:52     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 10/36] drm/gem: add _locked suffix to drm_object_put Emil Velikov
2020-05-08  6:40   ` Daniel Vetter
2020-05-08 11:00     ` Emil Velikov
2020-05-08 11:25       ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 11/36] drm/gem: add drm_object_put helper Emil Velikov
2020-05-08  6:33   ` Jani Nikula
2020-05-08 10:16     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 12/36] drm/amd: remove _unlocked suffix in drm_object_put_unlocked Emil Velikov
2020-05-08  9:23   ` Christian König [this message]
2020-05-08 10:45     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 13/36] drm/arm: " Emil Velikov
2020-05-14 15:23   ` Liviu Dudau
2020-05-07 15:08 ` [PATCH 14/36] drm/armada: " Emil Velikov
2020-05-07 15:08 ` [PATCH 15/36] drm/etnaviv: " Emil Velikov
2020-05-07 15:08 ` [PATCH 16/36] drm/exynos: " Emil Velikov
2020-05-07 15:08 ` [PATCH 17/36] drm/gma500: " Emil Velikov
2020-05-07 15:08 ` [PATCH 18/36] drm/i915: " Emil Velikov
2020-05-07 15:08 ` [PATCH 19/36] drm/lima: " Emil Velikov
2020-05-07 15:08 ` [PATCH 20/36] drm/mediatek: " Emil Velikov
2020-05-09 13:45   ` Chun-Kuang Hu
2020-05-07 15:08 ` [PATCH 21/36] drm/mgag200: " Emil Velikov
2020-05-08  6:30   ` Thomas Zimmermann
2020-05-07 15:08 ` [PATCH 22/36] drm/msm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 23/36] drm/nouveau: " Emil Velikov
2020-05-07 15:08 ` [PATCH 24/36] drm/omapdrm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 25/36] drm/panfrost: " Emil Velikov
2020-05-07 15:08 ` [PATCH 26/36] drm/qxl: " Emil Velikov
2020-05-07 15:08 ` [PATCH 27/36] drm/radeon: " Emil Velikov
2020-05-07 15:08 ` [PATCH 28/36] drm/rockchip: " Emil Velikov
2020-05-07 15:08 ` [PATCH 29/36] drm/tegra: " Emil Velikov
2020-05-07 15:08 ` [PATCH 30/36] drm/v3d: " Emil Velikov
2020-05-07 15:08 ` [PATCH 31/36] drm/vc4: " Emil Velikov
2020-05-07 15:08 ` [PATCH 32/36] drm/vgem: " Emil Velikov
2020-05-07 15:08 ` [PATCH 33/36] drm/virtio: " Emil Velikov
2020-05-07 15:08 ` [PATCH 34/36] drm/vkms: " Emil Velikov
2020-05-07 15:08 ` [PATCH 35/36] drm/xen: " Emil Velikov
2020-05-07 15:08 ` [PATCH 36/36] drm/gem: " Emil Velikov
2020-05-07 18:14   ` Sam Ravnborg
2020-05-08 10:15     ` Emil Velikov
2020-05-08 11:02       ` Sam Ravnborg
2020-05-08  6:38   ` Thomas Zimmermann
2020-05-07 18:17 ` [PATCH 00/36] drm: Fareless gem_free_object Sam Ravnborg
2020-05-08 10:35   ` Emil Velikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=401b83ce-73bf-952d-e98f-91b323e3adcb@amd.com \
    --to=christian.koenig@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox