Skip to content

Commit 815d8b0

Browse files
sarah-walker-imgtecmripard
authored andcommitted
drm/imagination: Add driver documentation
Add documentation for the UAPI. Changes since v5: - Remove obsolete VM documentation Co-developed-by: Matt Coster <matt.coster@imgtec.com> Signed-off-by: Matt Coster <matt.coster@imgtec.com> Co-developed-by: Donald Robson <donald.robson@imgtec.com> Signed-off-by: Donald Robson <donald.robson@imgtec.com> Signed-off-by: Sarah Walker <sarah.walker@imgtec.com> Reviewed-by: Maxime Ripard <mripard@kernel.org> Link: https://lore.kernel.org/r/76a7b18cfbe93066efcee3311ae795176ce7c65d.1700668843.git.donald.robson@imgtec.com Signed-off-by: Maxime Ripard <mripard@kernel.org>
1 parent cb56cd6 commit 815d8b0

4 files changed

Lines changed: 190 additions & 0 deletions

File tree

Documentation/gpu/drivers.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ GPU Driver Documentation
33
========================
44

55
.. toctree::
6+
:maxdepth: 3
67

78
amdgpu/index
89
i915
10+
imagination/index
911
mcde
1012
meson
1113
pl111
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=======================================
2+
drm/imagination PowerVR Graphics Driver
3+
=======================================
4+
5+
.. kernel-doc:: drivers/gpu/drm/imagination/pvr_drv.c
6+
:doc: PowerVR Graphics Driver
7+
8+
Contents
9+
========
10+
.. toctree::
11+
:maxdepth: 2
12+
13+
uapi
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
====
2+
UAPI
3+
====
4+
The 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+
9+
OBJECT 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+
17+
IOCTLS
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+
25+
DEV_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+
:doc: Flags for DRM_PVR_DEV_QUERY_HEAP_INFO_GET.
50+
51+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
52+
:identifiers: drm_pvr_static_data_area_usage
53+
drm_pvr_static_data_area
54+
drm_pvr_dev_query_static_data_areas
55+
56+
CREATE_BO
57+
---------
58+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
59+
:doc: PowerVR IOCTL CREATE_BO interface
60+
61+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
62+
:identifiers: drm_pvr_ioctl_create_bo_args
63+
64+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
65+
:doc: Flags for CREATE_BO
66+
67+
GET_BO_MMAP_OFFSET
68+
------------------
69+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
70+
:doc: PowerVR IOCTL GET_BO_MMAP_OFFSET interface
71+
72+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
73+
:identifiers: drm_pvr_ioctl_get_bo_mmap_offset_args
74+
75+
CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT
76+
----------------------------------------
77+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
78+
:doc: PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces
79+
80+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
81+
:identifiers: drm_pvr_ioctl_create_vm_context_args
82+
drm_pvr_ioctl_destroy_vm_context_args
83+
84+
VM_MAP and VM_UNMAP
85+
-------------------
86+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
87+
:doc: PowerVR IOCTL VM_MAP and VM_UNMAP interfaces
88+
89+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
90+
:identifiers: drm_pvr_ioctl_vm_map_args
91+
drm_pvr_ioctl_vm_unmap_args
92+
93+
CREATE_CONTEXT and DESTROY_CONTEXT
94+
----------------------------------
95+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
96+
:doc: PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces
97+
98+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
99+
:identifiers: drm_pvr_ioctl_create_context_args
100+
101+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
102+
:identifiers: drm_pvr_ctx_priority
103+
drm_pvr_ctx_type
104+
drm_pvr_static_render_context_state
105+
drm_pvr_static_render_context_state_format
106+
drm_pvr_reset_framework
107+
drm_pvr_reset_framework_format
108+
109+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
110+
:identifiers: drm_pvr_ioctl_destroy_context_args
111+
112+
CREATE_FREE_LIST and DESTROY_FREE_LIST
113+
--------------------------------------
114+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
115+
:doc: PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces
116+
117+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
118+
:identifiers: drm_pvr_ioctl_create_free_list_args
119+
120+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
121+
:identifiers: drm_pvr_ioctl_destroy_free_list_args
122+
123+
CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET
124+
--------------------------------------
125+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
126+
:doc: PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces
127+
128+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
129+
:identifiers: drm_pvr_ioctl_create_hwrt_dataset_args
130+
131+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
132+
:identifiers: drm_pvr_create_hwrt_geom_data_args
133+
drm_pvr_create_hwrt_rt_data_args
134+
135+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
136+
:identifiers: drm_pvr_ioctl_destroy_hwrt_dataset_args
137+
138+
SUBMIT_JOBS
139+
-----------
140+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
141+
:doc: PowerVR IOCTL SUBMIT_JOBS interface
142+
143+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
144+
:doc: Flags for the drm_pvr_sync_op object.
145+
146+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
147+
:identifiers: drm_pvr_ioctl_submit_jobs_args
148+
149+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
150+
:doc: Flags for SUBMIT_JOB ioctl geometry command.
151+
152+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
153+
:doc: Flags for SUBMIT_JOB ioctl fragment command.
154+
155+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
156+
:doc: Flags for SUBMIT_JOB ioctl compute command.
157+
158+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
159+
:doc: Flags for SUBMIT_JOB ioctl transfer command.
160+
161+
.. kernel-doc:: include/uapi/drm/pvr_drm.h
162+
:identifiers: drm_pvr_sync_op
163+
drm_pvr_job_type
164+
drm_pvr_hwrt_data_ref
165+
drm_pvr_job
166+
167+
Internal notes
168+
==============
169+
.. kernel-doc:: drivers/gpu/drm/imagination/pvr_device.h
170+
:doc: IOCTL validation helpers
171+
172+
.. kernel-doc:: drivers/gpu/drm/imagination/pvr_device.h
173+
:identifiers: PVR_STATIC_ASSERT_64BIT_ALIGNED PVR_IOCTL_UNION_PADDING_CHECK
174+
pvr_ioctl_union_padding_check

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10398,6 +10398,7 @@ M: Donald Robson <donald.robson@imgtec.com>
1039810398
M: Matt Coster <matt.coster@imgtec.com>
1039910399
S: Supported
1040010400
F: Documentation/devicetree/bindings/gpu/img,powervr.yaml
10401+
F: Documentation/gpu/imagination/
1040110402
F: drivers/gpu/drm/imagination/
1040210403
F: include/uapi/drm/pvr_drm.h
1040310404

0 commit comments

Comments
 (0)