Re: [PATCH 08/59] drm/ttm: export memory type debug entrypoint.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 4 Aug 2020 at 20:35, Christian König <christian.koenig@xxxxxxx> wrote:
>
> Am 04.08.20 um 04:55 schrieb Dave Airlie:
> > From: Dave Airlie <airlied@xxxxxxxxxx>
> >
> > As suggested on review, just export the memory type debug for
> > drivers to use, while also making the debug callback optional
> > (don't need to test for system as it won't init it).
> >
> > rename it to be more consistent with object name for now.
> > (we may rename all the objects later.)
> >
> > Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
>
> Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Reviewed-by: Ben Skeggs <bskeggs@xxxxxxxxxx>

>
> > ---
> >   drivers/gpu/drm/ttm/ttm_bo.c    | 13 +++++++------
> >   include/drm/ttm/ttm_bo_driver.h |  8 ++++++++
> >   2 files changed, 15 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> > index 2b49037231eb..2ac70ec1f37d 100644
> > --- a/drivers/gpu/drm/ttm/ttm_bo.c
> > +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> > @@ -77,26 +77,26 @@ static inline int ttm_mem_type_from_place(const struct ttm_place *place,
> >       return 0;
> >   }
> >
> > -static void ttm_mem_type_debug(struct ttm_bo_device *bdev, struct drm_printer *p,
> > -                            int mem_type)
> > +void ttm_mem_type_manager_debug(struct ttm_mem_type_manager *man,
> > +                             struct drm_printer *p)
> >   {
> > -     struct ttm_mem_type_manager *man = &bdev->man[mem_type];
> > -
> >       drm_printf(p, "    has_type: %d\n", man->has_type);
> >       drm_printf(p, "    use_type: %d\n", man->use_type);
> >       drm_printf(p, "    use_tt: %d\n", man->use_tt);
> >       drm_printf(p, "    size: %llu\n", man->size);
> >       drm_printf(p, "    available_caching: 0x%08X\n", man->available_caching);
> >       drm_printf(p, "    default_caching: 0x%08X\n", man->default_caching);
> > -     if (mem_type != TTM_PL_SYSTEM)
> > +     if (man->func && man->func->debug)
> >               (*man->func->debug)(man, p);
> >   }
> > +EXPORT_SYMBOL(ttm_mem_type_manager_debug);
> >
> >   static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo,
> >                                       struct ttm_placement *placement)
> >   {
> >       struct drm_printer p = drm_debug_printer(TTM_PFX);
> >       int i, ret, mem_type;
> > +     struct ttm_mem_type_manager *man;
> >
> >       drm_printf(&p, "No space for %p (%lu pages, %luK, %luM)\n",
> >                  bo, bo->mem.num_pages, bo->mem.size >> 10,
> > @@ -108,7 +108,8 @@ static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo,
> >                       return;
> >               drm_printf(&p, "  placement[%d]=0x%08X (%d)\n",
> >                          i, placement->placement[i].flags, mem_type);
> > -             ttm_mem_type_debug(bo->bdev, &p, mem_type);
> > +             man = &bo->bdev->man[mem_type];
> > +             ttm_mem_type_manager_debug(man, &p);
> >       }
> >   }
> >
> > diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> > index 7958e411269a..73f5d9c766cc 100644
> > --- a/include/drm/ttm/ttm_bo_driver.h
> > +++ b/include/drm/ttm/ttm_bo_driver.h
> > @@ -795,4 +795,12 @@ pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp);
> >
> >   extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;
> >
> > +/**
> > + * ttm_mem_type_manager_debug
> > + *
> > + * @man: manager type to dump.
> > + * @p: printer to use for debug.
> > + */
> > +void ttm_mem_type_manager_debug(struct ttm_mem_type_manager *man,
> > +                             struct drm_printer *p);
> >   #endif
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux