[PATCH 1/5] drm/ttm: remove the outdated kerneldoc section

Christian König ckoenig.leichtzumerken at gmail.com
Tue Sep 7 06:46:29 UTC 2021



Am 03.09.21 um 16:22 schrieb Matthew Auld:
> On Fri, 3 Sept 2021 at 13:31, Christian König
> <ckoenig.leichtzumerken at gmail.com> wrote:
>> Clean up to start over with new and more accurate documentation.
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
> For the series,
> Reviewed-by: Matthew Auld <matthew.auld at intel.com>

Thanks.

>
> We could maybe also bring in ttm_pool.[ch]? It looks like it already
> has near complete kernel-doc?

Yes, just didn't had time to cleanup the remaining fallout yet.

The last and most important remaining beast is the BO documentation, but 
that will still take a while.

Regards,
Christian.

>
>> ---
>>   Documentation/gpu/drm-mm.rst | 49 ------------------------------------
>>   1 file changed, 49 deletions(-)
>>
>> diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst
>> index 0198fa43d254..8ca981065e1a 100644
>> --- a/Documentation/gpu/drm-mm.rst
>> +++ b/Documentation/gpu/drm-mm.rst
>> @@ -30,55 +30,6 @@ The Translation Table Manager (TTM)
>>
>>   TTM design background and information belongs here.
>>
>> -TTM initialization
>> -------------------
>> -
>> -    **Warning**
>> -    This section is outdated.
>> -
>> -Drivers wishing to support TTM must pass a filled :c:type:`ttm_bo_driver
>> -<ttm_bo_driver>` structure to ttm_bo_device_init, together with an
>> -initialized global reference to the memory manager.  The ttm_bo_driver
>> -structure contains several fields with function pointers for
>> -initializing the TTM, allocating and freeing memory, waiting for command
>> -completion and fence synchronization, and memory migration.
>> -
>> -The :c:type:`struct drm_global_reference <drm_global_reference>` is made
>> -up of several fields:
>> -
>> -.. code-block:: c
>> -
>> -              struct drm_global_reference {
>> -                      enum ttm_global_types global_type;
>> -                      size_t size;
>> -                      void *object;
>> -                      int (*init) (struct drm_global_reference *);
>> -                      void (*release) (struct drm_global_reference *);
>> -              };
>> -
>> -
>> -There should be one global reference structure for your memory manager
>> -as a whole, and there will be others for each object created by the
>> -memory manager at runtime. Your global TTM should have a type of
>> -TTM_GLOBAL_TTM_MEM. The size field for the global object should be
>> -sizeof(struct ttm_mem_global), and the init and release hooks should
>> -point at your driver-specific init and release routines, which probably
>> -eventually call ttm_mem_global_init and ttm_mem_global_release,
>> -respectively.
>> -
>> -Once your global TTM accounting structure is set up and initialized by
>> -calling ttm_global_item_ref() on it, you need to create a buffer
>> -object TTM to provide a pool for buffer object allocation by clients and
>> -the kernel itself. The type of this object should be
>> -TTM_GLOBAL_TTM_BO, and its size should be sizeof(struct
>> -ttm_bo_global). Again, driver-specific init and release functions may
>> -be provided, likely eventually calling ttm_bo_global_ref_init() and
>> -ttm_bo_global_ref_release(), respectively. Also, like the previous
>> -object, ttm_global_item_ref() is used to create an initial reference
>> -count for the TTM, which will call your initialization function.
>> -
>> -See the radeon_ttm.c file for an example of usage.
>> -
>>   The Graphics Execution Manager (GEM)
>>   ====================================
>>
>> --
>> 2.25.1
>>



More information about the dri-devel mailing list