Somehow those two patches didn't ended up on dri-devel. So forwarding manually, Christian. Am 07.08.2017 um 17:48 schrieb Christian König: > From: Christian König <christian.koenig at amd.com> > > Provide the drm printer directly instead of just the callback. > > Signed-off-by: Christian König <christian.koenig at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 7 +++---- > drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 7 +++---- > drivers/gpu/drm/nouveau/nouveau_ttm.c | 6 ++++-- > drivers/gpu/drm/ttm/ttm_bo.c | 3 ++- > drivers/gpu/drm/ttm/ttm_bo_manager.c | 5 ++--- > drivers/gpu/drm/virtio/virtgpu_ttm.c | 2 +- > drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 4 ++-- > include/drm/ttm/ttm_bo_driver.h | 5 +++-- > 8 files changed, 20 insertions(+), 19 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c > index 5e6b90c..26818b0 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c > @@ -253,18 +253,17 @@ static void amdgpu_gtt_mgr_del(struct ttm_mem_type_manager *man, > * amdgpu_gtt_mgr_debug - dump VRAM table > * > * @man: TTM memory type manager > - * @prefix: text prefix > + * @printer: DRM printer to use > * > * Dump the table content using printk. > */ > static void amdgpu_gtt_mgr_debug(struct ttm_mem_type_manager *man, > - const char *prefix) > + struct drm_printer *printer) > { > struct amdgpu_gtt_mgr *mgr = man->priv; > - struct drm_printer p = drm_debug_printer(prefix); > > spin_lock(&mgr->lock); > - drm_mm_print(&mgr->mm, &p); > + drm_mm_print(&mgr->mm, printer); > spin_unlock(&mgr->lock); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c > index a2c59a0..3f86b47 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c > @@ -204,18 +204,17 @@ static void amdgpu_vram_mgr_del(struct ttm_mem_type_manager *man, > * amdgpu_vram_mgr_debug - dump VRAM table > * > * @man: TTM memory type manager > - * @prefix: text prefix > + * @printer: DRM printer to use > * > * Dump the table content using printk. > */ > static void amdgpu_vram_mgr_debug(struct ttm_mem_type_manager *man, > - const char *prefix) > + struct drm_printer *printer) > { > struct amdgpu_vram_mgr *mgr = man->priv; > - struct drm_printer p = drm_debug_printer(prefix); > > spin_lock(&mgr->lock); > - drm_mm_print(&mgr->mm, &p); > + drm_mm_print(&mgr->mm, printer); > spin_unlock(&mgr->lock); > } > > diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c > index 13e5cc5..9142068 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c > @@ -179,7 +179,8 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man, > } > > static void > -nouveau_gart_manager_debug(struct ttm_mem_type_manager *man, const char *prefix) > +nouveau_gart_manager_debug(struct ttm_mem_type_manager *man, > + struct drm_printer *printer) > { > } > > @@ -252,7 +253,8 @@ nv04_gart_manager_new(struct ttm_mem_type_manager *man, > } > > static void > -nv04_gart_manager_debug(struct ttm_mem_type_manager *man, const char *prefix) > +nv04_gart_manager_debug(struct ttm_mem_type_manager *man, > + struct drm_printer *printer) > { > } > > diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c > index d3463eb..58e7fce 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo.c > +++ b/drivers/gpu/drm/ttm/ttm_bo.c > @@ -70,6 +70,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, int mem_type) > { > struct ttm_mem_type_manager *man = &bdev->man[mem_type]; > + struct drm_printer p = drm_debug_printer(TTM_PFX); > > pr_err(" has_type: %d\n", man->has_type); > pr_err(" use_type: %d\n", man->use_type); > @@ -79,7 +80,7 @@ static void ttm_mem_type_debug(struct ttm_bo_device *bdev, int mem_type) > pr_err(" available_caching: 0x%08X\n", man->available_caching); > pr_err(" default_caching: 0x%08X\n", man->default_caching); > if (mem_type != TTM_PL_SYSTEM) > - (*man->func->debug)(man, TTM_PFX); > + (*man->func->debug)(man, &p); > } > > static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, > diff --git a/drivers/gpu/drm/ttm/ttm_bo_manager.c b/drivers/gpu/drm/ttm/ttm_bo_manager.c > index 90a6c0b..a7c232d 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo_manager.c > +++ b/drivers/gpu/drm/ttm/ttm_bo_manager.c > @@ -136,13 +136,12 @@ static int ttm_bo_man_takedown(struct ttm_mem_type_manager *man) > } > > static void ttm_bo_man_debug(struct ttm_mem_type_manager *man, > - const char *prefix) > + struct drm_printer *printer) > { > struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv; > - struct drm_printer p = drm_debug_printer(prefix); > > spin_lock(&rman->lock); > - drm_mm_print(&rman->mm, &p); > + drm_mm_print(&rman->mm, printer); > spin_unlock(&rman->lock); > } > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ttm.c b/drivers/gpu/drm/virtio/virtgpu_ttm.c > index 4e8e27d..ed2a6d2 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_ttm.c > +++ b/drivers/gpu/drm/virtio/virtgpu_ttm.c > @@ -192,7 +192,7 @@ static int ttm_bo_man_takedown(struct ttm_mem_type_manager *man) > } > > static void ttm_bo_man_debug(struct ttm_mem_type_manager *man, > - const char *prefix) > + struct drm_printer *printer) > { > } > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c b/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c > index c1900f4..5b82c3f 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c > @@ -157,9 +157,9 @@ static int vmw_gmrid_man_takedown(struct ttm_mem_type_manager *man) > } > > static void vmw_gmrid_man_debug(struct ttm_mem_type_manager *man, > - const char *prefix) > + struct drm_printer *printer) > { > - pr_info("%s: No debug info available for the GMR id manager\n", prefix); > + drm_printf(printer, "No debug info available for the GMR id manager\n"); > } > > const struct ttm_mem_type_manager_func vmw_gmrid_manager_func = { > diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h > index 04380ba..c92bf07 100644 > --- a/include/drm/ttm/ttm_bo_driver.h > +++ b/include/drm/ttm/ttm_bo_driver.h > @@ -228,13 +228,14 @@ struct ttm_mem_type_manager_func { > * struct ttm_mem_type_manager member debug > * > * @man: Pointer to a memory type manager. > - * @prefix: Prefix to be used in printout to identify the caller. > + * @printer: Prefix to be used in printout to identify the caller. > * > * This function is called to print out the state of the memory > * type manager to aid debugging of out-of-memory conditions. > * It may not be called from within atomic context. > */ > - void (*debug)(struct ttm_mem_type_manager *man, const char *prefix); > + void (*debug)(struct ttm_mem_type_manager *man, > + struct drm_printer *printer); > }; > > /**