|
@@ -34,25 +34,26 @@ TTM initialization
|
|
|
------------------
|
|
|
|
|
|
**Warning**
|
|
|
-
|
|
|
This section is outdated.
|
|
|
|
|
|
-Drivers wishing to support TTM must fill out a drm_bo_driver
|
|
|
-structure. The 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. See
|
|
|
-the radeon_ttm.c file for an example of usage.
|
|
|
+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 ttm_global_reference structure is made up of several fields:
|
|
|
+The :c:type:`struct drm_global_reference <drm_global_reference>` is made
|
|
|
+up of several fields:
|
|
|
|
|
|
.. code-block:: c
|
|
|
|
|
|
- struct ttm_global_reference {
|
|
|
+ struct drm_global_reference {
|
|
|
enum ttm_global_types global_type;
|
|
|
size_t size;
|
|
|
void *object;
|
|
|
- int (*init) (struct ttm_global_reference *);
|
|
|
- void (*release) (struct ttm_global_reference *);
|
|
|
+ int (*init) (struct drm_global_reference *);
|
|
|
+ void (*release) (struct drm_global_reference *);
|
|
|
};
|
|
|
|
|
|
|
|
@@ -76,6 +77,12 @@ ttm_bo_global_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.
|
|
|
+
|
|
|
+.. kernel-doc:: drivers/gpu/drm/drm_global.c
|
|
|
+ :export:
|
|
|
+
|
|
|
+
|
|
|
The Graphics Execution Manager (GEM)
|
|
|
====================================
|
|
|
|