All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Airlie <airlied@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: sroland@vmware.com, christian.koenig@amd.com,
	linux-graphics-maintainer@vmware.com, bskeggs@redhat.com,
	kraxel@redhat.com
Subject: [PATCH 46/59] drm/ttm: make ttm_range_man_init/takedown take type + args
Date: Tue,  4 Aug 2020 12:56:19 +1000	[thread overview]
Message-ID: <20200804025632.3868079-47-airlied@gmail.com> (raw)
In-Reply-To: <20200804025632.3868079-1-airlied@gmail.com>

From: Dave Airlie <airlied@redhat.com>

This makes it easier to move these to a driver allocated system

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 15 +++++-------
 drivers/gpu/drm/drm_gem_vram_helper.c   | 10 ++++----
 drivers/gpu/drm/nouveau/nouveau_ttm.c   | 22 +++++++++++-------
 drivers/gpu/drm/qxl/qxl_ttm.c           | 13 ++++-------
 drivers/gpu/drm/radeon/radeon_ttm.c     | 31 ++++++++++++-------------
 drivers/gpu/drm/ttm/ttm_bo_manager.c    | 19 +++++++++++----
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     | 13 ++++-------
 include/drm/ttm/ttm_bo_driver.h         | 12 +++++++---
 8 files changed, 70 insertions(+), 65 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 1bd860877f1e..b190d50dc9bb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -67,12 +67,9 @@ static int amdgpu_ttm_init_on_chip(struct amdgpu_device *adev,
 				    unsigned int type,
 				    uint64_t size)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, type);
-
-	man->available_caching = TTM_PL_FLAG_UNCACHED;
-	man->default_caching = TTM_PL_FLAG_UNCACHED;
-
-	return ttm_range_man_init(&adev->mman.bdev, man, size >> PAGE_SHIFT);
+	return ttm_range_man_init(&adev->mman.bdev, type,
+				  TTM_PL_FLAG_UNCACHED, TTM_PL_FLAG_UNCACHED,
+				  false, size >> PAGE_SHIFT);
 }
 
 /**
@@ -2014,9 +2011,9 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
 
 	amdgpu_vram_mgr_fini(adev);
 	amdgpu_gtt_mgr_fini(adev);
-	ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_GDS));
-	ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_GWS));
-	ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_OA));
+	ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GDS);
+	ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GWS);
+	ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_OA);
 	ttm_bo_device_release(&adev->mman.bdev);
 	adev->mman.initialized = false;
 	DRM_INFO("amdgpu: ttm finalized\n");
diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index a01768adb96d..2187787f397e 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -1103,7 +1103,6 @@ EXPORT_SYMBOL(drm_vram_mm_debugfs_init);
 static int drm_vram_mm_init(struct drm_vram_mm *vmm, struct drm_device *dev,
 			    uint64_t vram_base, size_t vram_size)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&vmm->bdev, TTM_PL_VRAM);
 	int ret;
 
 	vmm->vram_base = vram_base;
@@ -1116,9 +1115,10 @@ static int drm_vram_mm_init(struct drm_vram_mm *vmm, struct drm_device *dev,
 	if (ret)
 		return ret;
 
-	man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
-	man->default_caching = TTM_PL_FLAG_WC;
-	ret = ttm_range_man_init(&vmm->bdev, man, vram_size >> PAGE_SHIFT);
+	ret = ttm_range_man_init(&vmm->bdev, TTM_PL_VRAM,
+				 TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC,
+				 TTM_PL_FLAG_WC, false,
+				 vram_size >> PAGE_SHIFT);
 	if (ret)
 		return ret;
 
@@ -1127,7 +1127,7 @@ static int drm_vram_mm_init(struct drm_vram_mm *vmm, struct drm_device *dev,
 
 static void drm_vram_mm_cleanup(struct drm_vram_mm *vmm)
 {
-	ttm_range_man_fini(&vmm->bdev, ttm_manager_type(&vmm->bdev, TTM_PL_VRAM));
+	ttm_range_man_fini(&vmm->bdev, TTM_PL_VRAM);
 	ttm_bo_device_release(&vmm->bdev);
 }
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
index cc6cf04553dd..1c636723823c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
@@ -156,16 +156,17 @@ nouveau_ttm_init_host(struct nouveau_drm *drm, u8 kind)
 static int
 nouveau_ttm_init_vram(struct nouveau_drm *drm)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&drm->ttm.bdev, TTM_PL_VRAM);
 	struct nvif_mmu *mmu = &drm->client.mmu;
 
-	man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
-	man->default_caching = TTM_PL_FLAG_WC;
-
 	if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA) {
+		struct ttm_mem_type_manager *man = ttm_manager_type(&drm->ttm.bdev, TTM_PL_VRAM);
+
 		/* Some BARs do not support being ioremapped WC */
 		const u8 type = mmu->type[drm->ttm.type_vram].type;
 
+		man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
+		man->default_caching = TTM_PL_FLAG_WC;
+
 		if (type & NVIF_MEM_UNCACHED) {
 			man->available_caching = TTM_PL_FLAG_UNCACHED;
 			man->default_caching = TTM_PL_FLAG_UNCACHED;
@@ -178,7 +179,9 @@ nouveau_ttm_init_vram(struct nouveau_drm *drm)
 		ttm_mem_type_manager_set_used(man, true);
 		return 0;
 	} else {
-		return ttm_range_man_init(&drm->ttm.bdev, man,
+		return ttm_range_man_init(&drm->ttm.bdev, TTM_PL_VRAM,
+					  TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC,
+					  TTM_PL_FLAG_WC, false,
 					  drm->gem.vram_available >> PAGE_SHIFT);
 	}
 }
@@ -193,7 +196,7 @@ nouveau_ttm_fini_vram(struct nouveau_drm *drm)
 		ttm_mem_type_manager_force_list_clean(&drm->ttm.bdev, man);
 		ttm_mem_type_manager_cleanup(man);
 	} else
-		ttm_range_man_fini(&drm->ttm.bdev, man);
+		ttm_range_man_fini(&drm->ttm.bdev, TTM_PL_VRAM);
 }
 
 static int
@@ -216,9 +219,10 @@ nouveau_ttm_init_gtt(struct nouveau_drm *drm)
 	else if (!drm->agp.bridge)
 		man->func = &nv04_gart_manager;
 	else
-		return ttm_range_man_init(&drm->ttm.bdev, man,
+		return ttm_range_man_init(&drm->ttm.bdev, TTM_PL_TT,
+					  TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC,
+					  TTM_PL_FLAG_WC, true,
 					  size_pages);
-
 	ttm_mem_type_manager_init(&drm->ttm.bdev, man,
 				  size_pages);
 	ttm_mem_type_manager_set_used(man, true);
@@ -232,7 +236,7 @@ nouveau_ttm_fini_gtt(struct nouveau_drm *drm)
 
 	if (drm->client.device.info.family < NV_DEVICE_INFO_V0_TESLA &&
 	    drm->agp.bridge)
-		ttm_range_man_fini(&drm->ttm.bdev, man);
+		ttm_range_man_fini(&drm->ttm.bdev, TTM_PL_TT);
 	else {
 		ttm_mem_type_manager_disable(man);
 		ttm_mem_type_manager_force_list_clean(&drm->ttm.bdev, man);
diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index 57c96f7271db..b7365b2e4c7f 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -219,12 +219,8 @@ static int qxl_ttm_init_mem_type(struct qxl_device *qdev,
 				 unsigned int type,
 				 uint64_t size)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&qdev->mman.bdev, type);
-
-	man->available_caching = TTM_PL_MASK_CACHING;
-	man->default_caching = TTM_PL_FLAG_CACHED;
-
-	return ttm_range_man_init(&qdev->mman.bdev, man, size);
+	return ttm_range_man_init(&qdev->mman.bdev, type, TTM_PL_MASK_CACHING,
+				  TTM_PL_FLAG_CACHED, false, size);
 }
 
 int qxl_ttm_init(struct qxl_device *qdev)
@@ -266,9 +262,8 @@ int qxl_ttm_init(struct qxl_device *qdev)
 
 void qxl_ttm_fini(struct qxl_device *qdev)
 {
-
-	ttm_range_man_fini(&qdev->mman.bdev, ttm_manager_type(&qdev->mman.bdev, TTM_PL_VRAM));
-	ttm_range_man_fini(&qdev->mman.bdev, ttm_manager_type(&qdev->mman.bdev, TTM_PL_PRIV));
+	ttm_range_man_fini(&qdev->mman.bdev, TTM_PL_VRAM);
+	ttm_range_man_fini(&qdev->mman.bdev, TTM_PL_PRIV);
 	ttm_bo_device_release(&qdev->mman.bdev);
 	DRM_INFO("qxl: ttm finalized\n");
 }
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 03c0a24e74c4..474d2161da1e 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -68,35 +68,34 @@ struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
 
 static int radeon_ttm_init_vram(struct radeon_device *rdev)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&rdev->mman.bdev, TTM_PL_VRAM);
-
-	man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
-	man->default_caching = TTM_PL_FLAG_WC;
-
-	return ttm_range_man_init(&rdev->mman.bdev, man,
+	return ttm_range_man_init(&rdev->mman.bdev, TTM_PL_VRAM,
+				  TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC,
+				  TTM_PL_FLAG_WC, false,
 				  rdev->mc.real_vram_size >> PAGE_SHIFT);
 }
 
 static int radeon_ttm_init_gtt(struct radeon_device *rdev)
 {
-	struct ttm_mem_type_manager *man = ttm_manager_type(&rdev->mman.bdev, TTM_PL_TT);
+	uint32_t available_caching, default_caching;
+
+	available_caching = TTM_PL_MASK_CACHING;
+	default_caching = TTM_PL_FLAG_CACHED;
 
-	man->available_caching = TTM_PL_MASK_CACHING;
-	man->default_caching = TTM_PL_FLAG_CACHED;
-	man->use_tt = true;
 #if IS_ENABLED(CONFIG_AGP)
 	if (rdev->flags & RADEON_IS_AGP) {
 		if (!rdev->ddev->agp) {
 			DRM_ERROR("AGP is not enabled\n");
 			return -EINVAL;
 		}
-		man->available_caching = TTM_PL_FLAG_UNCACHED |
-					 TTM_PL_FLAG_WC;
-		man->default_caching = TTM_PL_FLAG_WC;
+		available_caching = TTM_PL_FLAG_UNCACHED |
+			TTM_PL_FLAG_WC;
+		default_caching = TTM_PL_FLAG_WC;
 	}
 #endif
 
-	return ttm_range_man_init(&rdev->mman.bdev, man,
+	return ttm_range_man_init(&rdev->mman.bdev, TTM_PL_TT,
+				  available_caching,
+				  default_caching, true,
 				  rdev->mc.gtt_size >> PAGE_SHIFT);
 }
 
@@ -825,8 +824,8 @@ void radeon_ttm_fini(struct radeon_device *rdev)
 		}
 		radeon_bo_unref(&rdev->stolen_vga_memory);
 	}
-	ttm_range_man_fini(&rdev->mman.bdev, ttm_manager_type(&rdev->mman.bdev, TTM_PL_VRAM));
-	ttm_range_man_fini(&rdev->mman.bdev, ttm_manager_type(&rdev->mman.bdev, TTM_PL_TT));
+	ttm_range_man_fini(&rdev->mman.bdev, TTM_PL_VRAM);
+	ttm_range_man_fini(&rdev->mman.bdev, TTM_PL_TT);
 	ttm_bo_device_release(&rdev->mman.bdev);
 	radeon_gart_fini(rdev);
 	rdev->mman.initialized = false;
diff --git a/drivers/gpu/drm/ttm/ttm_bo_manager.c b/drivers/gpu/drm/ttm/ttm_bo_manager.c
index 86bf5e71e959..d83cb967a107 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_manager.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_manager.c
@@ -107,19 +107,27 @@ static void ttm_bo_man_put_node(struct ttm_mem_type_manager *man,
 static const struct ttm_mem_type_manager_func ttm_bo_manager_func;
 
 int ttm_range_man_init(struct ttm_bo_device *bdev,
-		       struct ttm_mem_type_manager *man,
+		       unsigned type,
+		       uint32_t available_caching,
+		       uint32_t default_caching,
+		       bool use_tt,
 		       unsigned long p_size)
 {
+	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, type);
 	struct ttm_range_manager *rman;
 
-	man->func = &ttm_bo_manager_func;
-
-	ttm_mem_type_manager_init(bdev, man, p_size);
+	man->available_caching = available_caching;
+	man->default_caching = default_caching;
+	man->use_tt = use_tt;
 
 	rman = kzalloc(sizeof(*rman), GFP_KERNEL);
 	if (!rman)
 		return -ENOMEM;
 
+	man->func = &ttm_bo_manager_func;
+
+	ttm_mem_type_manager_init(bdev, man, p_size);
+
 	drm_mm_init(&rman->mm, 0, p_size);
 	spin_lock_init(&rman->lock);
 	man->priv = rman;
@@ -130,8 +138,9 @@ int ttm_range_man_init(struct ttm_bo_device *bdev,
 EXPORT_SYMBOL(ttm_range_man_init);
 
 int ttm_range_man_fini(struct ttm_bo_device *bdev,
-		       struct ttm_mem_type_manager *man)
+		       unsigned type)
 {
+	struct ttm_mem_type_manager *man = ttm_manager_type(bdev, type);
 	struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv;
 	struct drm_mm *mm = &rman->mm;
 	int ret;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 6ed92f38b54b..7168403fb4f8 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -626,13 +626,9 @@ static int vmw_vram_manager_init(struct vmw_private *dev_priv)
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 	ret = vmw_thp_init(dev_priv);
 #else
-	struct ttm_mem_type_manager *man = &dev_priv->bdev.man[TTM_PL_VRAM];
-
-	man->available_caching = TTM_PL_FLAG_CACHED;
-	man->default_caching = TTM_PL_FLAG_CACHED;
-
-	ret = ttm_range_man_init(&dev_priv->bdev, man,
-				 dev_priv->vram_size >> PAGE_SHIFT);
+	ret = ttm_range_man_init(&dev_priv->bdev, TTM_PL_VRAM,
+				 TTM_PL_FLAG_CACHED, TTM_PL_FLAG_CACHED,
+				 false, dev_priv->vram_size >> PAGE_SHIFT);
 #endif
 	ttm_manager_type(&dev_priv->bdev, TTM_PL_VRAM)->use_type = false;
 	return ret;
@@ -643,8 +639,7 @@ static void vmw_vram_manager_fini(struct vmw_private *dev_priv)
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 	vmw_thp_fini(dev_priv);
 #else
-	ttm_bo_man_fini(&dev_priv->bdev,
-			ttm_manager_type(&dev_priv->bdev, TTM_PL_VRAM));
+	ttm_bo_man_fini(&dev_priv->bdev, TTM_PL_VRAM);
 #endif
 }
 
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index 6940d85a531a..789c1eb26859 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -845,14 +845,20 @@ pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp);
  * ttm_range_man_init
  *
  * @bdev: ttm device
- * @man: the manager to initialise with the range manager.
+ * @type: memory manager type
+ * @available_caching: TTM_PL_FLAG_* for allowed caching modes
+ * @default_caching: default caching mode
+ * @use_tt: if the memory manager uses tt
  * @p_size: size of area to be managed in pages.
  *
  * Initialise a generic range manager for the selected memory type.
  * The range manager is installed for this device in the type slot.
  */
 int ttm_range_man_init(struct ttm_bo_device *bdev,
-		       struct ttm_mem_type_manager *man,
+		       unsigned type,
+		       uint32_t available_caching,
+		       uint32_t default_caching,
+		       bool use_tt,
 		       unsigned long p_size);
 
 /**
@@ -864,7 +870,7 @@ int ttm_range_man_init(struct ttm_bo_device *bdev,
  * Remove the generic range manager from a slot and tear it down.
  */
 int ttm_range_man_fini(struct ttm_bo_device *bdev,
-		       struct ttm_mem_type_manager *man);
+		       unsigned type);
 
 /**
  * ttm_mem_type_manager_debug
-- 
2.26.2

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

  parent reply	other threads:[~2020-08-04  2:58 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-04  2:55 [00/59] ttm misc cleanups, mem refactoring, rename objects. (v2) Dave Airlie
2020-08-04  2:55 ` [PATCH 01/59] drm/vmwgfx: consolidate ttm object creation and populate Dave Airlie
2020-08-05  7:56   ` daniel
2020-08-04  2:55 ` [PATCH 02/59] drm/vmwgfx: drop bo map/unmap dma functions Dave Airlie
2020-08-05  7:59   ` daniel
2020-08-04  2:55 ` [PATCH 03/59] nouveau: use ttm populate mapping functions. (v2) Dave Airlie
2020-08-05  5:32   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 04/59] qxl/ttm: drop the unusued no wait flag to reserve function Dave Airlie
2020-08-04 10:46   ` Gerd Hoffmann
2020-08-04  2:55 ` [PATCH 05/59] drm/ttm/amdgpu: consolidate ttm reserve paths Dave Airlie
2020-08-04 10:33   ` Christian König
2020-08-04  2:55 ` [PATCH 06/59] drm/ttm: use a helper for unlocked moves to the lru tail Dave Airlie
2020-08-04 10:34   ` Christian König
2020-08-05  5:32     ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 07/59] drm/vram-helper: remove populate/unpopulate Dave Airlie
2020-08-04  6:54   ` Thomas Zimmermann
2020-08-04  2:55 ` [PATCH 08/59] drm/ttm: export memory type debug entrypoint Dave Airlie
2020-08-04 10:35   ` Christian König
2020-08-05  5:34     ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 09/59] drm/nouveau/ttm: don't fill in blank ttm debug callback Dave Airlie
2020-08-05  5:34   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 10/59] drm/vmwgfx/gmrid: don't provide pointless " Dave Airlie
2020-08-04  2:55 ` [PATCH 11/59] drm/qxl/ttm: call ttm manager debug (v2) Dave Airlie
2020-08-04 10:48   ` Gerd Hoffmann
2020-08-04  2:55 ` [PATCH 12/59] drm/vram-helper: call the ttm manager debug function Dave Airlie
2020-08-04  6:55   ` Thomas Zimmermann
2020-08-04 10:48   ` Gerd Hoffmann
2020-08-04  2:55 ` [PATCH 13/59] drm/ttm: split the mm manager init code (v2) Dave Airlie
2020-08-04 11:07   ` Christian König
2020-08-04 13:08     ` Christian König
2020-08-04 11:10   ` Christian König
2020-08-04  2:55 ` [PATCH 14/59] drm/ttm: provide a driver-led init path for range mm manager. (v2) Dave Airlie
2020-08-04  2:55 ` [PATCH 15/59] drm/amdgpu/ttm: init managers from the driver side Dave Airlie
2020-08-04 11:15   ` Christian König
2020-08-04  2:55 ` [PATCH 16/59] drm/radeon: use new ttm man init path Dave Airlie
2020-08-04 11:15   ` Christian König
2020-08-04  2:55 ` [PATCH 17/59] drm/qxl/ttm: use new init path for manager Dave Airlie
2020-08-04 10:49   ` Gerd Hoffmann
2020-08-04  2:55 ` [PATCH 18/59] drm/vram_helper: use new ttm manager init function Dave Airlie
2020-08-04  6:58   ` Thomas Zimmermann
2020-08-04 10:49   ` Gerd Hoffmann
2020-08-04  2:55 ` [PATCH 19/59] drm/nouveau: use new memory manager init paths Dave Airlie
2020-08-05  5:40   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 20/59] drm/vmwgfx/ttm: convert vram mm init to new code paths Dave Airlie
2020-08-05  8:57   ` daniel
2020-08-04  2:55 ` [PATCH 21/59] drm/vmwgfx/ttm: switch gmrid allocator to new init paths Dave Airlie
2020-08-05  9:00   ` daniel
2020-08-04  2:55 ` [PATCH 22/59] drm/ttm: convert system manager init to new code Dave Airlie
2020-08-05  5:40   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 23/59] drm/ttm: purge old manager init path Dave Airlie
2020-08-05  5:41   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 24/59] drm/ttm: pass man around instead of mem_type in some places Dave Airlie
2020-08-05  5:42   ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 25/59] drm/ttm: make some inline helper functions for cleanup paths. (v2) Dave Airlie
2020-08-04 11:18   ` Christian König
2020-08-05  5:42     ` Ben Skeggs
2020-08-04  2:55 ` [PATCH 26/59] drm/ttm: start allowing drivers to use new takedown path (v2) Dave Airlie
2020-08-04 11:20   ` Christian König
2020-08-05  5:43     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 27/59] drm/amdgpu/ttm: use new takedown path Dave Airlie
2020-08-04  2:56 ` [PATCH 28/59] drm/vmwgfx: takedown vram manager Dave Airlie
2020-08-05  9:19   ` daniel
2020-08-04  2:56 ` [PATCH 29/59] drm/vram_helper: call explicit mm takedown Dave Airlie
2020-08-04  6:59   ` Thomas Zimmermann
2020-08-04  2:56 ` [PATCH 30/59] drm/nouveau: use new cleanup paths Dave Airlie
2020-08-05  5:44   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 31/59] drm/radeon/ttm: use new takedown paths Dave Airlie
2020-08-04  2:56 ` [PATCH 32/59] drm/qxl/ttm: use new takedown path Dave Airlie
2020-08-04 10:50   ` Gerd Hoffmann
2020-08-04  2:56 ` [PATCH 33/59] drm/vmwgfx: fix gmrid takedown paths to new interface Dave Airlie
2020-08-05  9:21   ` daniel
2020-08-04  2:56 ` [PATCH 34/59] drm/ttm: remove range manager legacy takedown path Dave Airlie
2020-08-05  5:45   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 35/59] drm/ttm: make TTM responsible for cleaning system only Dave Airlie
2020-08-05  5:46   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 36/59] drm/ttm: add wrapper to get manager from bdev Dave Airlie
2020-08-04 11:25   ` Christian König
2020-08-05  5:47     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 37/59] drm/amdgfx/ttm: use wrapper to get ttm memory managers Dave Airlie
2020-08-04 11:26   ` Christian König
2020-08-04  2:56 ` [PATCH 38/59] drm/vram-helper: use wrapper to access " Dave Airlie
2020-08-04  7:00   ` Thomas Zimmermann
2020-08-04  2:56 ` [PATCH 39/59] drm/nouveau/ttm: " Dave Airlie
2020-08-05  5:48   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 40/59] drm/qxl/ttm: use wrapper to access memory manager Dave Airlie
2020-08-04 10:50   ` Gerd Hoffmann
2020-08-04  2:56 ` [PATCH 41/59] drm/radeon/ttm: " Dave Airlie
2020-08-04 11:29   ` Christian König
2020-08-04  2:56 ` [PATCH 42/59] drm/vmwgfx/ttm: " Dave Airlie
2020-08-05  9:22   ` daniel
2020-08-04  2:56 ` [PATCH 43/59] drm/ttm: rename manager variable to make sure wrapper is used Dave Airlie
2020-08-04 11:29   ` Christian König
2020-08-05  5:49     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 44/59] drm/ttm: allow drivers to provide their own manager subclasses Dave Airlie
2020-08-04 11:30   ` Christian König
2020-08-05  5:49     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 45/59] drm/amdgpu/ttm: use bo manager subclassing for vram/gtt mgrs Dave Airlie
2020-08-04 11:32   ` Christian König
2020-08-04  2:56 ` Dave Airlie [this message]
2020-08-04 11:35   ` [PATCH 46/59] drm/ttm: make ttm_range_man_init/takedown take type + args Christian König
2020-08-05  5:51     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 47/59] drm/ttm: move range manager to subclassed driver allocation Dave Airlie
2020-08-05  5:52   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 48/59] drm/vmwgfx/ttm: move thp to driver managed Dave Airlie
2020-08-05  9:24   ` daniel
2020-08-04  2:56 ` [PATCH 49/59] drm/vmwgfx/gmrid: convert to driver controlled allocation Dave Airlie
2020-08-05  9:26   ` daniel
2020-08-04  2:56 ` [PATCH 50/59] drm/nouveau/ttm: move to driver allocated manager Dave Airlie
2020-08-05  5:53   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 51/59] drm/ttm: drop priv pointer in memory manager Dave Airlie
2020-08-05  5:54   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 52/59] drm/amdgpu/ttm: remove man->bdev references Dave Airlie
2020-08-04  2:56 ` [PATCH 53/59] drm/ttm: drop man->bdev link Dave Airlie
2020-08-05  5:54   ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 54/59] drm/ttm: drop list of memory managers from device. (v2) Dave Airlie
2020-08-04 11:37   ` Christian König
2020-08-05  5:55     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 55/59] drm/ttm: drop type manager has_type Dave Airlie
2020-08-04 11:37   ` Christian König
2020-08-05  5:55     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 56/59] drm/ttm: add a wrapper for checking if manager is in use Dave Airlie
2020-08-04 11:38   ` Christian König
2020-08-05  5:56     ` Ben Skeggs
2020-08-05  9:04   ` daniel
2020-08-04  2:56 ` [PATCH 57/59] drm/ttm: rename bo manager to range manager Dave Airlie
2020-08-04 11:40   ` Christian König
2020-08-05  5:56     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 58/59] drm/ttm: rename ttm_mem_type_manager -> ttm_resource_manager Dave Airlie
2020-08-04 11:41   ` Christian König
2020-08-05  5:57     ` Ben Skeggs
2020-08-04  2:56 ` [PATCH 59/59] drm/ttm: rename ttm_mem_reg to ttm_resource Dave Airlie
2020-08-04 11:41   ` Christian König
2020-08-05  5:58     ` Ben Skeggs
2020-08-04  3:01 ` [00/59] ttm misc cleanups, mem refactoring, rename objects. (v2) Dave Airlie
2020-08-05 11:55 ` Christian König
2020-08-05 11:59   ` 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=20200804025632.3868079-47-airlied@gmail.com \
    --to=airlied@gmail.com \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=linux-graphics-maintainer@vmware.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.