xref: /linux/Documentation/gpu/imagination/uapi.rst (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1====
2UAPI
3====
4The sources associated with this section can be found in ``pvr_drm.h``.
5
6.. kernel-doc:: include/uapi/drm/pvr_drm.h
7   :doc: PowerVR UAPI
8
9OBJECT ARRAYS
10=============
11.. kernel-doc:: include/uapi/drm/pvr_drm.h
12   :identifiers: drm_pvr_obj_array
13
14.. kernel-doc:: include/uapi/drm/pvr_drm.h
15   :identifiers: DRM_PVR_OBJ_ARRAY
16
17IOCTLS
18======
19.. kernel-doc:: include/uapi/drm/pvr_drm.h
20   :doc: PowerVR IOCTL interface
21
22.. kernel-doc:: include/uapi/drm/pvr_drm.h
23   :identifiers: PVR_IOCTL
24
25DEV_QUERY
26---------
27.. kernel-doc:: include/uapi/drm/pvr_drm.h
28   :doc: PowerVR IOCTL DEV_QUERY interface
29
30.. kernel-doc:: include/uapi/drm/pvr_drm.h
31   :identifiers: drm_pvr_dev_query
32
33.. kernel-doc:: include/uapi/drm/pvr_drm.h
34   :identifiers: drm_pvr_ioctl_dev_query_args
35
36.. kernel-doc:: include/uapi/drm/pvr_drm.h
37   :identifiers: drm_pvr_dev_query_gpu_info
38                 drm_pvr_dev_query_runtime_info
39                 drm_pvr_dev_query_hwrt_info
40                 drm_pvr_dev_query_quirks
41                 drm_pvr_dev_query_enhancements
42
43.. kernel-doc:: include/uapi/drm/pvr_drm.h
44   :identifiers: drm_pvr_heap_id
45                 drm_pvr_heap
46                 drm_pvr_dev_query_heap_info
47
48.. kernel-doc:: include/uapi/drm/pvr_drm.h
49   :identifiers: drm_pvr_static_data_area_usage
50                 drm_pvr_static_data_area
51                 drm_pvr_dev_query_static_data_areas
52
53CREATE_BO
54---------
55.. kernel-doc:: include/uapi/drm/pvr_drm.h
56   :doc: PowerVR IOCTL CREATE_BO interface
57
58.. kernel-doc:: include/uapi/drm/pvr_drm.h
59   :identifiers: drm_pvr_ioctl_create_bo_args
60
61.. kernel-doc:: include/uapi/drm/pvr_drm.h
62   :doc: Flags for CREATE_BO
63
64GET_BO_MMAP_OFFSET
65------------------
66.. kernel-doc:: include/uapi/drm/pvr_drm.h
67   :doc: PowerVR IOCTL GET_BO_MMAP_OFFSET interface
68
69.. kernel-doc:: include/uapi/drm/pvr_drm.h
70   :identifiers: drm_pvr_ioctl_get_bo_mmap_offset_args
71
72CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT
73----------------------------------------
74.. kernel-doc:: include/uapi/drm/pvr_drm.h
75   :doc: PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces
76
77.. kernel-doc:: include/uapi/drm/pvr_drm.h
78   :identifiers: drm_pvr_ioctl_create_vm_context_args
79                 drm_pvr_ioctl_destroy_vm_context_args
80
81VM_MAP and VM_UNMAP
82-------------------
83.. kernel-doc:: include/uapi/drm/pvr_drm.h
84   :doc: PowerVR IOCTL VM_MAP and VM_UNMAP interfaces
85
86.. kernel-doc:: include/uapi/drm/pvr_drm.h
87   :identifiers: drm_pvr_ioctl_vm_map_args
88                 drm_pvr_ioctl_vm_unmap_args
89
90CREATE_CONTEXT and DESTROY_CONTEXT
91----------------------------------
92.. kernel-doc:: include/uapi/drm/pvr_drm.h
93   :doc: PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces
94
95.. kernel-doc:: include/uapi/drm/pvr_drm.h
96   :identifiers: drm_pvr_ioctl_create_context_args
97
98.. kernel-doc:: include/uapi/drm/pvr_drm.h
99   :identifiers: drm_pvr_ctx_priority
100                 drm_pvr_ctx_type
101                 drm_pvr_static_render_context_state
102                 drm_pvr_static_render_context_state_format
103                 drm_pvr_reset_framework
104                 drm_pvr_reset_framework_format
105
106.. kernel-doc:: include/uapi/drm/pvr_drm.h
107   :identifiers: drm_pvr_ioctl_destroy_context_args
108
109CREATE_FREE_LIST and DESTROY_FREE_LIST
110--------------------------------------
111.. kernel-doc:: include/uapi/drm/pvr_drm.h
112   :doc: PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces
113
114.. kernel-doc:: include/uapi/drm/pvr_drm.h
115   :identifiers: drm_pvr_ioctl_create_free_list_args
116
117.. kernel-doc:: include/uapi/drm/pvr_drm.h
118   :identifiers: drm_pvr_ioctl_destroy_free_list_args
119
120CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET
121--------------------------------------------
122.. kernel-doc:: include/uapi/drm/pvr_drm.h
123   :doc: PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces
124
125.. kernel-doc:: include/uapi/drm/pvr_drm.h
126   :identifiers: drm_pvr_ioctl_create_hwrt_dataset_args
127
128.. kernel-doc:: include/uapi/drm/pvr_drm.h
129   :identifiers: drm_pvr_create_hwrt_geom_data_args
130                 drm_pvr_create_hwrt_rt_data_args
131
132.. kernel-doc:: include/uapi/drm/pvr_drm.h
133   :identifiers: drm_pvr_ioctl_destroy_hwrt_dataset_args
134
135SUBMIT_JOBS
136-----------
137.. kernel-doc:: include/uapi/drm/pvr_drm.h
138   :doc: PowerVR IOCTL SUBMIT_JOBS interface
139
140.. kernel-doc:: include/uapi/drm/pvr_drm.h
141   :doc: Flags for the drm_pvr_sync_op object.
142
143.. kernel-doc:: include/uapi/drm/pvr_drm.h
144   :identifiers: drm_pvr_ioctl_submit_jobs_args
145
146.. kernel-doc:: include/uapi/drm/pvr_drm.h
147   :doc: Flags for SUBMIT_JOB ioctl geometry command.
148
149.. kernel-doc:: include/uapi/drm/pvr_drm.h
150   :doc: Flags for SUBMIT_JOB ioctl fragment command.
151
152.. kernel-doc:: include/uapi/drm/pvr_drm.h
153   :doc: Flags for SUBMIT_JOB ioctl compute command.
154
155.. kernel-doc:: include/uapi/drm/pvr_drm.h
156   :doc: Flags for SUBMIT_JOB ioctl transfer command.
157
158.. kernel-doc:: include/uapi/drm/pvr_drm.h
159   :identifiers: drm_pvr_sync_op
160                 drm_pvr_job_type
161                 drm_pvr_hwrt_data_ref
162                 drm_pvr_job
163
164Internal notes
165==============
166.. kernel-doc:: drivers/gpu/drm/imagination/pvr_device.h
167   :doc: IOCTL validation helpers
168
169.. kernel-doc:: drivers/gpu/drm/imagination/pvr_device.h
170   :identifiers: PVR_STATIC_ASSERT_64BIT_ALIGNED PVR_IOCTL_UNION_PADDING_CHECK
171                 pvr_ioctl_union_padding_check
172