All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Dave Airlie <airlied@gmail.com>, dri-devel@lists.freedesktop.org
Cc: kraxel@redhat.com, sroland@vmware.com, christian.koenig@amd.com,
	bskeggs@redhat.com
Subject: Re: [PATCH 26/49] drm/ttm: add wrapper to get manager from bdev.
Date: Fri, 31 Jul 2020 09:14:24 +0200	[thread overview]
Message-ID: <43f848a2-579a-873f-4271-7bff0968888b@suse.de> (raw)
In-Reply-To: <20200731040520.3701599-27-airlied@gmail.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 11813 bytes --]

Hi

Am 31.07.20 um 06:04 schrieb Dave Airlie:
> From: Dave Airlie <airlied@redhat.com>
> 
> This will allow different abstractions later.

You should consider moving this patch to the beginning of the series, so
that patches 1 to 25 can benefit from it.

Best regards
Thomas

> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/ttm/ttm_bo.c      | 34 +++++++++++++++----------------
>  drivers/gpu/drm/ttm/ttm_bo_util.c | 20 +++++++++---------
>  drivers/gpu/drm/ttm/ttm_bo_vm.c   |  2 +-
>  include/drm/ttm/ttm_bo_driver.h   |  6 ++++++
>  4 files changed, 34 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 07c653374f15..7c6389ea067f 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -80,7 +80,7 @@ static inline int ttm_mem_type_from_place(const struct ttm_place *place,
>  static void ttm_mem_type_debug(struct ttm_bo_device *bdev, struct drm_printer *p,
>  			       int mem_type)
>  {
> -	struct ttm_mem_type_manager *man = &bdev->man[mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, mem_type);
>  
>  	drm_printf(p, "    has_type: %d\n", man->has_type);
>  	drm_printf(p, "    use_type: %d\n", man->use_type);
> @@ -156,7 +156,7 @@ static void ttm_bo_add_mem_to_lru(struct ttm_buffer_object *bo,
>  	if (mem->placement & TTM_PL_FLAG_NO_EVICT)
>  		return;
>  
> -	man = &bdev->man[mem->mem_type];
> +	man = ttm_manager_type(bdev, mem->mem_type);
>  	list_add_tail(&bo->lru, &man->lru[bo->priority]);
>  
>  	if (man->use_tt && bo->ttm &&
> @@ -231,7 +231,7 @@ void ttm_bo_bulk_move_lru_tail(struct ttm_lru_bulk_move *bulk)
>  		dma_resv_assert_held(pos->first->base.resv);
>  		dma_resv_assert_held(pos->last->base.resv);
>  
> -		man = &pos->first->bdev->man[TTM_PL_TT];
> +		man = ttm_manager_type(pos->first->bdev, TTM_PL_TT);
>  		list_bulk_move_tail(&man->lru[i], &pos->first->lru,
>  				    &pos->last->lru);
>  	}
> @@ -246,7 +246,7 @@ void ttm_bo_bulk_move_lru_tail(struct ttm_lru_bulk_move *bulk)
>  		dma_resv_assert_held(pos->first->base.resv);
>  		dma_resv_assert_held(pos->last->base.resv);
>  
> -		man = &pos->first->bdev->man[TTM_PL_VRAM];
> +		man = ttm_manager_type(pos->first->bdev, TTM_PL_VRAM);
>  		list_bulk_move_tail(&man->lru[i], &pos->first->lru,
>  				    &pos->last->lru);
>  	}
> @@ -272,8 +272,8 @@ static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo,
>  				  struct ttm_operation_ctx *ctx)
>  {
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *old_man = &bdev->man[bo->mem.mem_type];
> -	struct ttm_mem_type_manager *new_man = &bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *old_man = ttm_manager_type(bdev, bo->mem.mem_type);
> +	struct ttm_mem_type_manager *new_man = ttm_manager_type(bdev, mem->mem_type);
>  	int ret;
>  
>  	ret = ttm_mem_io_lock(old_man, true);
> @@ -338,7 +338,7 @@ static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo,
>  	return 0;
>  
>  out_err:
> -	new_man = &bdev->man[bo->mem.mem_type];
> +	new_man = ttm_manager_type(bdev, bo->mem.mem_type);
>  	if (!new_man->use_tt) {
>  		ttm_tt_destroy(bo->ttm);
>  		bo->ttm = NULL;
> @@ -550,7 +550,7 @@ static void ttm_bo_release(struct kref *kref)
>  	struct ttm_buffer_object *bo =
>  	    container_of(kref, struct ttm_buffer_object, kref);
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, bo->mem.mem_type);
>  	size_t acc_size = bo->acc_size;
>  	int ret;
>  
> @@ -838,7 +838,7 @@ static int ttm_bo_mem_get(struct ttm_buffer_object *bo,
>  			  const struct ttm_place *place,
>  			  struct ttm_mem_reg *mem)
>  {
> -	struct ttm_mem_type_manager *man = &bo->bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bo->bdev, mem->mem_type);
>  
>  	mem->mm_node = NULL;
>  	if (!man->func || !man->func->get_node)
> @@ -849,7 +849,7 @@ static int ttm_bo_mem_get(struct ttm_buffer_object *bo,
>  
>  void ttm_bo_mem_put(struct ttm_buffer_object *bo, struct ttm_mem_reg *mem)
>  {
> -	struct ttm_mem_type_manager *man = &bo->bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bo->bdev, mem->mem_type);
>  
>  	if (!man->func || !man->func->put_node)
>  		return;
> @@ -906,7 +906,7 @@ static int ttm_bo_mem_force_space(struct ttm_buffer_object *bo,
>  				  struct ttm_operation_ctx *ctx)
>  {
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, mem->mem_type);
>  	struct ww_acquire_ctx *ticket;
>  	int ret;
>  
> @@ -996,7 +996,7 @@ static int ttm_bo_mem_placement(struct ttm_buffer_object *bo,
>  	if (ret)
>  		return ret;
>  
> -	man = &bdev->man[mem_type];
> +	man = ttm_manager_type(bdev, mem_type);
>  	if (!man->has_type || !man->use_type)
>  		return -EBUSY;
>  
> @@ -1059,7 +1059,7 @@ int ttm_bo_mem_space(struct ttm_buffer_object *bo,
>  		if (unlikely(ret))
>  			goto error;
>  
> -		man = &bdev->man[mem->mem_type];
> +		man = ttm_manager_type(bdev, mem->mem_type);
>  		ret = ttm_bo_add_move_fence(bo, man, mem, ctx->no_wait_gpu);
>  		if (unlikely(ret)) {
>  			ttm_bo_mem_put(bo, mem);
> @@ -1448,7 +1448,7 @@ EXPORT_SYMBOL(ttm_bo_force_list_clean);
>  
>  int ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type)
>  {
> -	struct ttm_mem_type_manager *man = &bdev->man[mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, mem_type);
>  
>  	if (mem_type == 0 || mem_type >= TTM_NUM_MEM_TYPES) {
>  		pr_err("Illegal memory manager memory type %u\n", mem_type);
> @@ -1551,7 +1551,7 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev)
>  	unsigned i;
>  	struct ttm_mem_type_manager *man;
>  
> -	man = &bdev->man[TTM_PL_SYSTEM];
> +	man = ttm_manager_type(bdev, TTM_PL_SYSTEM);
>  	ttm_bo_disable_mm(man);
>  
>  	mutex_lock(&ttm_global_mutex);
> @@ -1578,7 +1578,7 @@ EXPORT_SYMBOL(ttm_bo_device_release);
>  
>  static void ttm_bo_init_sysman(struct ttm_bo_device *bdev)
>  {
> -	struct ttm_mem_type_manager *man = &bdev->man[TTM_PL_SYSTEM];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, TTM_PL_SYSTEM);
>  
>  	/*
>  	 * Initialize the system memory buffer type.
> @@ -1642,7 +1642,7 @@ void ttm_bo_unmap_virtual_locked(struct ttm_buffer_object *bo)
>  void ttm_bo_unmap_virtual(struct ttm_buffer_object *bo)
>  {
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, bo->mem.mem_type);
>  
>  	ttm_mem_io_lock(man, false);
>  	ttm_bo_unmap_virtual_locked(bo);
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
> index 1f502be0b646..879c8ded0cd8 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_util.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
> @@ -129,7 +129,7 @@ static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
>  int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
>  		       struct ttm_mem_reg *mem)
>  {
> -	struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, mem->mem_type);
>  	int ret;
>  
>  	if (mem->bus.io_reserved_count++)
> @@ -162,7 +162,7 @@ void ttm_mem_io_free(struct ttm_bo_device *bdev,
>  
>  int ttm_mem_io_reserve_vm(struct ttm_buffer_object *bo)
>  {
> -	struct ttm_mem_type_manager *man = &bo->bdev->man[bo->mem.mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bo->bdev, bo->mem.mem_type);
>  	struct ttm_mem_reg *mem = &bo->mem;
>  	int ret;
>  
> @@ -195,7 +195,7 @@ static int ttm_mem_reg_ioremap(struct ttm_bo_device *bdev,
>  			       struct ttm_mem_reg *mem,
>  			       void **virtual)
>  {
> -	struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, mem->mem_type);
>  	int ret;
>  	void *addr;
>  
> @@ -232,7 +232,7 @@ static void ttm_mem_reg_iounmap(struct ttm_bo_device *bdev,
>  {
>  	struct ttm_mem_type_manager *man;
>  
> -	man = &bdev->man[mem->mem_type];
> +	man = ttm_manager_type(bdev, mem->mem_type);
>  
>  	if (virtual && mem->bus.addr == NULL)
>  		iounmap(virtual);
> @@ -303,7 +303,7 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
>  		       struct ttm_mem_reg *new_mem)
>  {
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *man = &bdev->man[new_mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, new_mem->mem_type);
>  	struct ttm_tt *ttm = bo->ttm;
>  	struct ttm_mem_reg *old_mem = &bo->mem;
>  	struct ttm_mem_reg old_copy = *old_mem;
> @@ -571,7 +571,7 @@ int ttm_bo_kmap(struct ttm_buffer_object *bo,
>  		struct ttm_bo_kmap_obj *map)
>  {
>  	struct ttm_mem_type_manager *man =
> -		&bo->bdev->man[bo->mem.mem_type];
> +		ttm_manager_type(bo->bdev, bo->mem.mem_type);
>  	unsigned long offset, size;
>  	int ret;
>  
> @@ -601,7 +601,7 @@ void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map)
>  {
>  	struct ttm_buffer_object *bo = map->bo;
>  	struct ttm_mem_type_manager *man =
> -		&bo->bdev->man[bo->mem.mem_type];
> +		ttm_manager_type(bo->bdev, bo->mem.mem_type);
>  
>  	if (!map->virtual)
>  		return;
> @@ -634,7 +634,7 @@ int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
>  			      struct ttm_mem_reg *new_mem)
>  {
>  	struct ttm_bo_device *bdev = bo->bdev;
> -	struct ttm_mem_type_manager *man = &bdev->man[new_mem->mem_type];
> +	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, new_mem->mem_type);
>  	struct ttm_mem_reg *old_mem = &bo->mem;
>  	int ret;
>  	struct ttm_buffer_object *ghost_obj;
> @@ -697,8 +697,8 @@ int ttm_bo_pipeline_move(struct ttm_buffer_object *bo,
>  	struct ttm_bo_device *bdev = bo->bdev;
>  	struct ttm_mem_reg *old_mem = &bo->mem;
>  
> -	struct ttm_mem_type_manager *from = &bdev->man[old_mem->mem_type];
> -	struct ttm_mem_type_manager *to = &bdev->man[new_mem->mem_type];
> +	struct ttm_mem_type_manager *from = ttm_manager_type(bdev, old_mem->mem_type);
> +	struct ttm_mem_type_manager *to = ttm_manager_type(bdev, new_mem->mem_type);
>  
>  	int ret;
>  
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> index 468a0eb9e632..5ae679184eb5 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> @@ -282,7 +282,7 @@ vm_fault_t ttm_bo_vm_fault_reserved(struct vm_fault *vmf,
>  	vm_fault_t ret = VM_FAULT_NOPAGE;
>  	unsigned long address = vmf->address;
>  	struct ttm_mem_type_manager *man =
> -		&bdev->man[bo->mem.mem_type];
> +		ttm_manager_type(bdev, bo->mem.mem_type);
>  
>  	/*
>  	 * Refuse to fault imported pages. This should be handled
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index 9d066529ca61..ec25451b503f 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -444,6 +444,12 @@ struct ttm_bo_device {
>  	bool no_retry;
>  };
>  
> +static inline struct ttm_mem_type_manager *ttm_manager_type(struct ttm_bo_device *bdev,
> +							    int mem_type)
> +{
> +	return &bdev->man[mem_type];
> +}
> +
>  /**
>   * struct ttm_lru_bulk_move_pos
>   *
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 516 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

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

  reply	other threads:[~2020-07-31  7:14 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31  4:04 [PATCH 00/49] ttm mem manager refactoring Dave Airlie
2020-07-31  4:04 ` [PATCH 01/49] drm/qxl/ttm: call ttm manager debug Dave Airlie
2020-07-31  4:04 ` [PATCH 02/49] drm/vram-helper: call the ttm manager debug function Dave Airlie
2020-07-31  6:43   ` Thomas Zimmermann
2020-07-31  4:04 ` [PATCH 03/49] drm/ttm: split the mm manager init code Dave Airlie
2020-07-31  5:44   ` Sam Ravnborg
2020-07-31  5:51     ` Dave Airlie
2020-07-31  6:26       ` Dave Airlie
2020-07-31  6:43         ` Sam Ravnborg
2020-07-31  9:12   ` Christian König
2020-07-31  4:04 ` [PATCH 04/49] drm/ttm: provide a driver-led init path for generic mm manager Dave Airlie
2020-07-31  6:57   ` Thomas Zimmermann
2020-07-31  7:03     ` Thomas Zimmermann
2020-07-31  7:20     ` Dave Airlie
2020-07-31 13:00   ` Christian König
2020-07-31  4:04 ` [PATCH 05/49] drm/amdgpu/ttm: init managers from the driver side Dave Airlie
2020-07-31  4:04 ` [PATCH 06/49] drm/radeon: use new ttm man init path Dave Airlie
2020-07-31  4:04 ` [PATCH 07/49] drm/qxl/ttm: use new init path for manager Dave Airlie
2020-07-31  4:04 ` [PATCH 08/49] drm/vram_helper: use new ttm manager init function Dave Airlie
2020-07-31  4:04 ` [PATCH 09/49] drm/nouveau: use new memory manager init paths Dave Airlie
2020-07-31  4:04 ` [PATCH 10/49] drm/vmwgfx/ttm: convert vram mm init to new code paths Dave Airlie
2020-07-31  4:04 ` [PATCH 11/49] drm/vmwgfx/ttm: switch gmrid allocator to new init paths Dave Airlie
2020-07-31  4:04 ` [PATCH 12/49] drm/ttm: convert system manager init to new code Dave Airlie
2020-07-31 12:57   ` Christian König
2020-07-31  4:04 ` [PATCH 13/49] drm/ttm: purge old manager init path Dave Airlie
2020-07-31 12:58   ` Christian König
2020-07-31  4:04 ` [PATCH 14/49] drm/ttm: pass man around instead of mem_type in some places Dave Airlie
2020-07-31 13:04   ` Christian König
2020-07-31  4:04 ` [PATCH 15/49] drm/ttm: make some inline helper functions for cleanup paths Dave Airlie
2020-07-31 13:07   ` Christian König
2020-08-04  2:28     ` Dave Airlie
2020-07-31  4:04 ` [PATCH 16/49] drm/ttm: start allowing drivers to use new takedown path Dave Airlie
2020-07-31 13:09   ` Christian König
2020-07-31  4:04 ` [PATCH 17/49] drm/amdgpu/ttm: " Dave Airlie
2020-07-31 13:08   ` Christian König
2020-07-31  4:04 ` [PATCH 18/49] drm/vmwgfx: takedown vram manager Dave Airlie
2020-07-31  4:04 ` [PATCH 19/49] drm/vram_helper: call explicit mm takedown Dave Airlie
2020-07-31  4:04 ` [PATCH 20/49] drm/nouveau: use new cleanup paths Dave Airlie
2020-07-31  4:04 ` [PATCH 21/49] drm/radeon/ttm: use new takedown paths Dave Airlie
2020-07-31 13:10   ` Christian König
2020-07-31  4:04 ` [PATCH 22/49] drm/qxl/ttm: use new takedown path Dave Airlie
2020-07-31  4:04 ` [PATCH 23/49] drm/vmwgfx: fix gmrid takedown paths to new interface Dave Airlie
2020-07-31  4:04 ` [PATCH 24/49] drm/ttm: remove range manager legacy takedown path Dave Airlie
2020-07-31 13:11   ` Christian König
2020-07-31  4:04 ` [PATCH 25/49] drm/ttm: make TTM responsible for cleaning system only Dave Airlie
2020-07-31 13:19   ` Christian König
2020-07-31  4:04 ` [PATCH 26/49] drm/ttm: add wrapper to get manager from bdev Dave Airlie
2020-07-31  7:14   ` Thomas Zimmermann [this message]
2020-07-31  7:21     ` Dave Airlie
2020-07-31 13:18       ` daniel
2020-07-31 13:23   ` Christian König
2020-07-31 21:06     ` Dave Airlie
2020-07-31  4:04 ` [PATCH 27/49] drm/amdgfx/ttm: use wrapper to get ttm memory managers Dave Airlie
2020-07-31  4:04 ` [PATCH 28/49] drm/vram-helper: use wrapper to access " Dave Airlie
2020-07-31  4:05 ` [PATCH 29/49] drm/nouveau/ttm: " Dave Airlie
2020-07-31  4:05 ` [PATCH 30/49] drm/qxl/ttm: use wrapper to access memory manager Dave Airlie
2020-07-31  4:05 ` [PATCH 31/49] drm/radeon/ttm: " Dave Airlie
2020-07-31  4:05 ` [PATCH 32/49] drm/vmwgfx/ttm: " Dave Airlie
2020-07-31  4:05 ` [PATCH 33/49] drm/ttm: rename manager variable to make sure wrapper is used Dave Airlie
2020-07-31  4:05 ` [PATCH 34/49] drm/ttm: make manager debug function optional Dave Airlie
2020-07-31  9:46   ` daniel
2020-07-31 13:03     ` Christian König
2020-07-31 13:24   ` Christian König
2020-07-31  4:05 ` [PATCH 35/49] drm/nouveau/ttm: don't fill in blank ttm debug callback Dave Airlie
2020-07-31 13:25   ` Christian König
2020-07-31  4:05 ` [PATCH 36/49] drm/vmwgfx/gmrid: don't provide pointless " Dave Airlie
2020-07-31 13:26   ` Christian König
2020-07-31  4:05 ` [PATCH 37/49] drm/ttm: allow drivers to provide their own manager subclasses Dave Airlie
2020-07-31  4:05 ` [PATCH 38/49] drm/amdgpu/ttm: use bo manager subclassing for vram/gtt mgrs Dave Airlie
2020-07-31 13:29   ` Christian König
2020-07-31  4:05 ` [PATCH 39/49] drm/ttm: make ttm_bo_man_init/takedown take type + args Dave Airlie
2020-07-31 13:32   ` Christian König
2020-08-04  1:42     ` Dave Airlie
2020-08-04 10:26       ` Christian König
2020-08-06  3:46         ` Dave Airlie
2020-08-06  8:24           ` Christian König
2020-07-31  4:05 ` [PATCH 40/49] drm/ttm: move range manager to subclassed driver allocation Dave Airlie
2020-07-31 13:33   ` Christian König
2020-07-31  4:05 ` [PATCH 41/49] drm/vmwgfx/ttm: move thp to driver managed Dave Airlie
2020-07-31  4:05 ` [PATCH 42/49] drm/vmwgfx/gmrid: convert to driver controlled allocation Dave Airlie
2020-07-31  4:05 ` [PATCH 43/49] drm/nouveau/ttm: move to driver allocated manager Dave Airlie
2020-07-31  4:05 ` [PATCH 44/49] drm/ttm: drop priv pointer in memory manager Dave Airlie
2020-07-31 13:33   ` Christian König
2020-07-31  4:05 ` [PATCH 45/49] drm/amdgpu/ttm: remove man->bdev references Dave Airlie
2020-07-31 14:55   ` Christian König
2020-07-31  4:05 ` [PATCH 46/49] drm/ttm: drop man->bdev link Dave Airlie
2020-07-31 14:54   ` Christian König
2020-07-31  4:05 ` [PATCH 47/49] drm/ttm: drop list of memory managers from device Dave Airlie
2020-07-31  9:55   ` daniel
2020-07-31 14:57   ` Christian König
2020-07-31  4:05 ` [PATCH 48/49] drm/ttm: drop type manager has_type Dave Airlie
2020-07-31  4:05 ` [PATCH 49/49] drm/ttm: consolidate manager used apis into a set and get Dave Airlie
2020-07-31  9:51   ` daniel
2020-07-31 14:59   ` Christian König
2020-07-31  9:17 ` [PATCH 00/49] ttm mem manager refactoring Christian König
2020-07-31  9:29   ` daniel
2020-07-31 13:01     ` Christian König
2020-08-03  7:12   ` Dave Airlie
2020-08-03 11:13     ` Christian König

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=43f848a2-579a-873f-4271-7bff0968888b@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@gmail.com \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=sroland@vmware.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.