[PATCH 0/3] Provide struct ttm_global for TTM global state

Koenig, Christian Christian.Koenig at amd.com
Fri Oct 19 07:24:38 UTC 2018


Hi Thomas,

I honestly still find that way to complicated compared to what it 
actually does.

Both ttm_mem_global and ttm_bo_global can just be some static variables. 
E.g. the whole handling with drm_global_reference is just superfluous.

Can I just write a patch to clean up the mess we created?

Regards,
Christian.

Am 18.10.18 um 18:27 schrieb Thomas Zimmermann:
> TTM provides global memory and a global BO that is shared by all
> TTM-based drivers. The data structures are provided by struct drm_global
> and its helpers. All TTM-based DRM drivers copy the initialization and
> clean-up code for the global TTM state from each other; leading to code
> duplication.
>
> The new structure struct ttm_global and its helpers provide a unified
> implementation. Drivers only have to initialize it and forward the
> contained BO global object to ttm_bo_device_init().
>
> The amdgpu and radeon drivers are converted to struct ttm_global as
> part of this patch set. All other TTM-based drivers share exactly the
> same code patterns and can be converted in the same way.
>
> Future directions: I already have patches for converting the remaining
> TTM drivers to struct ttm_global. These patches can be merged after
> the structure has become available in upstream. struct ttm_global is
> implemented on top of struct drm_global. The latter actually maintains
> TTM state instead of DRM state. Once all drivers have been converted,
>      the code for struct drm_global can be merged into struct ttm_global.
>
> (Resending this patch set, as I forgot to CC the mailing lists as first.)
>
> Thomas Zimmermann (3):
>    drm/ttm: Provide struct ttm_global for referencing TTM global state
>    drm/amdgpu: Replace TTM initialization/release with ttm_global
>    drm/radeon: Replace TTM initialization/release with ttm_global
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 63 ++--------------
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h |  4 +-
>   drivers/gpu/drm/radeon/radeon.h         |  4 +-
>   drivers/gpu/drm/radeon/radeon_ttm.c     | 40 ++--------
>   drivers/gpu/drm/ttm/Makefile            |  2 +-
>   drivers/gpu/drm/ttm/ttm_global.c        | 98 +++++++++++++++++++++++++
>   include/drm/drm_global.h                |  8 ++
>   include/drm/ttm/ttm_global.h            | 79 ++++++++++++++++++++
>   8 files changed, 200 insertions(+), 98 deletions(-)
>   create mode 100644 drivers/gpu/drm/ttm/ttm_global.c
>   create mode 100644 include/drm/ttm/ttm_global.h
>
> --
> 2.19.1
>



More information about the amd-gfx mailing list