.. | .. |
---|
61 | 61 | Workarounds |
---|
62 | 62 | ----------- |
---|
63 | 63 | |
---|
64 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_workarounds.c |
---|
| 64 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/intel_workarounds.c |
---|
65 | 65 | :doc: Hardware workarounds |
---|
66 | 66 | |
---|
67 | 67 | Display Hardware Handling |
---|
.. | .. |
---|
82 | 82 | Frontbuffer Tracking |
---|
83 | 83 | -------------------- |
---|
84 | 84 | |
---|
85 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c |
---|
| 85 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_frontbuffer.c |
---|
86 | 86 | :doc: frontbuffer tracking |
---|
87 | 87 | |
---|
88 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.h |
---|
| 88 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_frontbuffer.h |
---|
89 | 89 | :internal: |
---|
90 | 90 | |
---|
91 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c |
---|
| 91 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_frontbuffer.c |
---|
92 | 92 | :internal: |
---|
93 | | - |
---|
94 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem.c |
---|
95 | | - :functions: i915_gem_track_fb |
---|
96 | 93 | |
---|
97 | 94 | Display FIFO Underrun Reporting |
---|
98 | 95 | ------------------------------- |
---|
99 | 96 | |
---|
100 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c |
---|
| 97 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_fifo_underrun.c |
---|
101 | 98 | :doc: fifo underrun handling |
---|
102 | 99 | |
---|
103 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c |
---|
| 100 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_fifo_underrun.c |
---|
104 | 101 | :internal: |
---|
105 | 102 | |
---|
106 | 103 | Plane Configuration |
---|
.. | .. |
---|
115 | 112 | Atomic Plane Helpers |
---|
116 | 113 | -------------------- |
---|
117 | 114 | |
---|
118 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c |
---|
| 115 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_atomic_plane.c |
---|
119 | 116 | :doc: atomic plane helpers |
---|
120 | 117 | |
---|
121 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c |
---|
| 118 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_atomic_plane.c |
---|
122 | 119 | :internal: |
---|
123 | 120 | |
---|
124 | 121 | Output Probing |
---|
.. | .. |
---|
132 | 129 | Hotplug |
---|
133 | 130 | ------- |
---|
134 | 131 | |
---|
135 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c |
---|
| 132 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_hotplug.c |
---|
136 | 133 | :doc: Hotplug |
---|
137 | 134 | |
---|
138 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c |
---|
| 135 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_hotplug.c |
---|
139 | 136 | :internal: |
---|
140 | 137 | |
---|
141 | 138 | High Definition Audio |
---|
142 | 139 | --------------------- |
---|
143 | 140 | |
---|
144 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c |
---|
| 141 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_audio.c |
---|
145 | 142 | :doc: High Definition Audio over HDMI and Display Port |
---|
146 | 143 | |
---|
147 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c |
---|
| 144 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_audio.c |
---|
148 | 145 | :internal: |
---|
149 | 146 | |
---|
150 | 147 | .. kernel-doc:: include/drm/i915_component.h |
---|
.. | .. |
---|
153 | 150 | Intel HDMI LPE Audio Support |
---|
154 | 151 | ---------------------------- |
---|
155 | 152 | |
---|
156 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_lpe_audio.c |
---|
| 153 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_lpe_audio.c |
---|
157 | 154 | :doc: LPE Audio integration for HDMI or DP playback |
---|
158 | 155 | |
---|
159 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_lpe_audio.c |
---|
| 156 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_lpe_audio.c |
---|
160 | 157 | :internal: |
---|
161 | 158 | |
---|
162 | 159 | Panel Self Refresh PSR (PSR/SRD) |
---|
163 | 160 | -------------------------------- |
---|
164 | 161 | |
---|
165 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c |
---|
| 162 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_psr.c |
---|
166 | 163 | :doc: Panel Self Refresh (PSR/SRD) |
---|
167 | 164 | |
---|
168 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c |
---|
| 165 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_psr.c |
---|
169 | 166 | :internal: |
---|
170 | 167 | |
---|
171 | 168 | Frame Buffer Compression (FBC) |
---|
172 | 169 | ------------------------------ |
---|
173 | 170 | |
---|
174 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c |
---|
| 171 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_fbc.c |
---|
175 | 172 | :doc: Frame Buffer Compression (FBC) |
---|
176 | 173 | |
---|
177 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c |
---|
| 174 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_fbc.c |
---|
178 | 175 | :internal: |
---|
179 | 176 | |
---|
180 | 177 | Display Refresh Rate Switching (DRRS) |
---|
181 | 178 | ------------------------------------- |
---|
182 | 179 | |
---|
183 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 180 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
184 | 181 | :doc: Display Refresh Rate Switching (DRRS) |
---|
185 | 182 | |
---|
186 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 183 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
187 | 184 | :functions: intel_dp_set_drrs_state |
---|
188 | 185 | |
---|
189 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 186 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
190 | 187 | :functions: intel_edp_drrs_enable |
---|
191 | 188 | |
---|
192 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 189 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
193 | 190 | :functions: intel_edp_drrs_disable |
---|
194 | 191 | |
---|
195 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 192 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
196 | 193 | :functions: intel_edp_drrs_invalidate |
---|
197 | 194 | |
---|
198 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 195 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
199 | 196 | :functions: intel_edp_drrs_flush |
---|
200 | 197 | |
---|
201 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c |
---|
| 198 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp.c |
---|
202 | 199 | :functions: intel_dp_drrs_init |
---|
203 | 200 | |
---|
204 | 201 | DPIO |
---|
205 | 202 | ---- |
---|
206 | 203 | |
---|
207 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dpio_phy.c |
---|
| 204 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dpio_phy.c |
---|
208 | 205 | :doc: DPIO |
---|
209 | 206 | |
---|
210 | 207 | CSR firmware support for DMC |
---|
211 | 208 | ---------------------------- |
---|
212 | 209 | |
---|
213 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c |
---|
| 210 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_csr.c |
---|
214 | 211 | :doc: csr support for dmc |
---|
215 | 212 | |
---|
216 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c |
---|
| 213 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_csr.c |
---|
217 | 214 | :internal: |
---|
218 | 215 | |
---|
219 | 216 | Video BIOS Table (VBT) |
---|
220 | 217 | ---------------------- |
---|
221 | 218 | |
---|
222 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c |
---|
| 219 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_bios.c |
---|
223 | 220 | :doc: Video BIOS Table (VBT) |
---|
224 | 221 | |
---|
225 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c |
---|
| 222 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_bios.c |
---|
226 | 223 | :internal: |
---|
227 | 224 | |
---|
228 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_vbt_defs.h |
---|
| 225 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_vbt_defs.h |
---|
229 | 226 | :internal: |
---|
230 | 227 | |
---|
231 | 228 | Display clocks |
---|
232 | 229 | -------------- |
---|
233 | 230 | |
---|
234 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_cdclk.c |
---|
| 231 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_cdclk.c |
---|
235 | 232 | :doc: CDCLK / RAWCLK |
---|
236 | 233 | |
---|
237 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_cdclk.c |
---|
| 234 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_cdclk.c |
---|
238 | 235 | :internal: |
---|
239 | 236 | |
---|
240 | 237 | Display PLLs |
---|
241 | 238 | ------------ |
---|
242 | 239 | |
---|
243 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c |
---|
| 240 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dpll_mgr.c |
---|
244 | 241 | :doc: Display PLLs |
---|
245 | 242 | |
---|
246 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c |
---|
| 243 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dpll_mgr.c |
---|
247 | 244 | :internal: |
---|
248 | 245 | |
---|
249 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.h |
---|
| 246 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dpll_mgr.h |
---|
| 247 | + :internal: |
---|
| 248 | + |
---|
| 249 | +Display State Buffer |
---|
| 250 | +-------------------- |
---|
| 251 | + |
---|
| 252 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dsb.c |
---|
| 253 | + :doc: DSB |
---|
| 254 | + |
---|
| 255 | +.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dsb.c |
---|
250 | 256 | :internal: |
---|
251 | 257 | |
---|
252 | 258 | Memory Management and Command Submission |
---|
.. | .. |
---|
323 | 329 | refer to GPU-addresses so that the kernel can edit the buffer correctly. |
---|
324 | 330 | This process is dubbed relocation. |
---|
325 | 331 | |
---|
| 332 | +Locking Guidelines |
---|
| 333 | +------------------ |
---|
| 334 | + |
---|
| 335 | +.. note:: |
---|
| 336 | + This is a description of how the locking should be after |
---|
| 337 | + refactoring is done. Does not necessarily reflect what the locking |
---|
| 338 | + looks like while WIP. |
---|
| 339 | + |
---|
| 340 | +#. All locking rules and interface contracts with cross-driver interfaces |
---|
| 341 | + (dma-buf, dma_fence) need to be followed. |
---|
| 342 | + |
---|
| 343 | +#. No struct_mutex anywhere in the code |
---|
| 344 | + |
---|
| 345 | +#. dma_resv will be the outermost lock (when needed) and ww_acquire_ctx |
---|
| 346 | + is to be hoisted at highest level and passed down within i915_gem_ctx |
---|
| 347 | + in the call chain |
---|
| 348 | + |
---|
| 349 | +#. While holding lru/memory manager (buddy, drm_mm, whatever) locks |
---|
| 350 | + system memory allocations are not allowed |
---|
| 351 | + |
---|
| 352 | + * Enforce this by priming lockdep (with fs_reclaim). If we |
---|
| 353 | + allocate memory while holding these looks we get a rehash |
---|
| 354 | + of the shrinker vs. struct_mutex saga, and that would be |
---|
| 355 | + real bad. |
---|
| 356 | + |
---|
| 357 | +#. Do not nest different lru/memory manager locks within each other. |
---|
| 358 | + Take them in turn to update memory allocations, relying on the object’s |
---|
| 359 | + dma_resv ww_mutex to serialize against other operations. |
---|
| 360 | + |
---|
| 361 | +#. The suggestion for lru/memory managers locks is that they are small |
---|
| 362 | + enough to be spinlocks. |
---|
| 363 | + |
---|
| 364 | +#. All features need to come with exhaustive kernel selftests and/or |
---|
| 365 | + IGT tests when appropriate |
---|
| 366 | + |
---|
| 367 | +#. All LMEM uAPI paths need to be fully restartable (_interruptible() |
---|
| 368 | + for all locks/waits/sleeps) |
---|
| 369 | + |
---|
| 370 | + * Error handling validation through signal injection. |
---|
| 371 | + Still the best strategy we have for validating GEM uAPI |
---|
| 372 | + corner cases. |
---|
| 373 | + Must be excessively used in the IGT, and we need to check |
---|
| 374 | + that we really have full path coverage of all error cases. |
---|
| 375 | + |
---|
| 376 | + * -EDEADLK handling with ww_mutex |
---|
| 377 | + |
---|
326 | 378 | GEM BO Management Implementation Details |
---|
327 | 379 | ---------------------------------------- |
---|
328 | 380 | |
---|
329 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_vma.h |
---|
| 381 | +.. kernel-doc:: drivers/gpu/drm/i915/i915_vma_types.h |
---|
330 | 382 | :doc: Virtual Memory Address |
---|
331 | 383 | |
---|
332 | 384 | Buffer Object Eviction |
---|
.. | .. |
---|
349 | 401 | available. Note that this is mostly orthogonal to evicting buffer |
---|
350 | 402 | objects, which has the goal to make space in gpu virtual address spaces. |
---|
351 | 403 | |
---|
352 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_shrinker.c |
---|
| 404 | +.. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_shrinker.c |
---|
353 | 405 | :internal: |
---|
354 | 406 | |
---|
355 | 407 | Batchbuffer Parsing |
---|
.. | .. |
---|
361 | 413 | .. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c |
---|
362 | 414 | :internal: |
---|
363 | 415 | |
---|
364 | | -Batchbuffer Pools |
---|
365 | | ------------------ |
---|
366 | | - |
---|
367 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c |
---|
368 | | - :doc: batch pool |
---|
369 | | - |
---|
370 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c |
---|
371 | | - :internal: |
---|
372 | | - |
---|
373 | 416 | User Batchbuffer Execution |
---|
374 | 417 | -------------------------- |
---|
375 | 418 | |
---|
376 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_execbuffer.c |
---|
| 419 | +.. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c |
---|
377 | 420 | :doc: User command execution |
---|
378 | 421 | |
---|
379 | 422 | Logical Rings, Logical Ring Contexts and Execlists |
---|
380 | 423 | -------------------------------------------------- |
---|
381 | 424 | |
---|
382 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c |
---|
| 425 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/intel_lrc.c |
---|
383 | 426 | :doc: Logical Rings, Logical Ring Contexts and Execlists |
---|
384 | | - |
---|
385 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c |
---|
386 | | - :internal: |
---|
387 | 427 | |
---|
388 | 428 | Global GTT views |
---|
389 | 429 | ---------------- |
---|
390 | 430 | |
---|
391 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c |
---|
| 431 | +.. kernel-doc:: drivers/gpu/drm/i915/i915_vma_types.h |
---|
392 | 432 | :doc: Global GTT views |
---|
393 | 433 | |
---|
394 | 434 | .. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c |
---|
.. | .. |
---|
397 | 437 | GTT Fences and Swizzling |
---|
398 | 438 | ------------------------ |
---|
399 | 439 | |
---|
400 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c |
---|
| 440 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c |
---|
401 | 441 | :internal: |
---|
402 | 442 | |
---|
403 | 443 | Global GTT Fence Handling |
---|
404 | 444 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
405 | 445 | |
---|
406 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c |
---|
| 446 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c |
---|
407 | 447 | :doc: fence register handling |
---|
408 | 448 | |
---|
409 | 449 | Hardware Tiling and Swizzling Details |
---|
410 | 450 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
411 | 451 | |
---|
412 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c |
---|
| 452 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c |
---|
413 | 453 | :doc: tiling swizzling details |
---|
414 | 454 | |
---|
415 | 455 | Object Tiling IOCTLs |
---|
416 | 456 | -------------------- |
---|
417 | 457 | |
---|
418 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c |
---|
| 458 | +.. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_tiling.c |
---|
419 | 459 | :internal: |
---|
420 | 460 | |
---|
421 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c |
---|
| 461 | +.. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_tiling.c |
---|
422 | 462 | :doc: buffer object tiling |
---|
423 | 463 | |
---|
| 464 | +Microcontrollers |
---|
| 465 | +================ |
---|
| 466 | + |
---|
| 467 | +Starting from gen9, three microcontrollers are available on the HW: the |
---|
| 468 | +graphics microcontroller (GuC), the HEVC/H.265 microcontroller (HuC) and the |
---|
| 469 | +display microcontroller (DMC). The driver is responsible for loading the |
---|
| 470 | +firmwares on the microcontrollers; the GuC and HuC firmwares are transferred |
---|
| 471 | +to WOPCM using the DMA engine, while the DMC firmware is written through MMIO. |
---|
| 472 | + |
---|
424 | 473 | WOPCM |
---|
425 | | -===== |
---|
| 474 | +----- |
---|
426 | 475 | |
---|
427 | 476 | WOPCM Layout |
---|
428 | | ------------- |
---|
| 477 | +~~~~~~~~~~~~ |
---|
429 | 478 | |
---|
430 | 479 | .. kernel-doc:: drivers/gpu/drm/i915/intel_wopcm.c |
---|
431 | 480 | :doc: WOPCM Layout |
---|
432 | 481 | |
---|
433 | 482 | GuC |
---|
434 | | -=== |
---|
| 483 | +--- |
---|
| 484 | + |
---|
| 485 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_guc.c |
---|
| 486 | + :doc: GuC |
---|
| 487 | + |
---|
| 488 | +GuC Firmware Layout |
---|
| 489 | +~~~~~~~~~~~~~~~~~~~ |
---|
| 490 | + |
---|
| 491 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h |
---|
| 492 | + :doc: Firmware Layout |
---|
| 493 | + |
---|
| 494 | +GuC Memory Management |
---|
| 495 | +~~~~~~~~~~~~~~~~~~~~~ |
---|
| 496 | + |
---|
| 497 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_guc.c |
---|
| 498 | + :doc: GuC Memory Management |
---|
| 499 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_guc.c |
---|
| 500 | + :functions: intel_guc_allocate_vma |
---|
| 501 | + |
---|
435 | 502 | |
---|
436 | 503 | GuC-specific firmware loader |
---|
437 | | ----------------------------- |
---|
| 504 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
438 | 505 | |
---|
439 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_fw.c |
---|
| 506 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c |
---|
440 | 507 | :internal: |
---|
441 | 508 | |
---|
442 | 509 | GuC-based command submission |
---|
443 | | ----------------------------- |
---|
| 510 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
444 | 511 | |
---|
445 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_submission.c |
---|
| 512 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c |
---|
446 | 513 | :doc: GuC-based command submission |
---|
447 | 514 | |
---|
448 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_submission.c |
---|
449 | | - :internal: |
---|
| 515 | +HuC |
---|
| 516 | +--- |
---|
| 517 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_huc.c |
---|
| 518 | + :doc: HuC |
---|
| 519 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_huc.c |
---|
| 520 | + :functions: intel_huc_auth |
---|
450 | 521 | |
---|
451 | | -GuC Firmware Layout |
---|
452 | | -------------------- |
---|
| 522 | +HuC Memory Management |
---|
| 523 | +~~~~~~~~~~~~~~~~~~~~~ |
---|
453 | 524 | |
---|
454 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_fwif.h |
---|
455 | | - :doc: GuC Firmware Layout |
---|
| 525 | +.. kernel-doc:: drivers/gpu/drm/i915/gt/uc/intel_huc.c |
---|
| 526 | + :doc: HuC Memory Management |
---|
456 | 527 | |
---|
457 | | -GuC Address Space |
---|
458 | | ------------------ |
---|
| 528 | +HuC Firmware Layout |
---|
| 529 | +~~~~~~~~~~~~~~~~~~~ |
---|
| 530 | +The HuC FW layout is the same as the GuC one, see `GuC Firmware Layout`_ |
---|
459 | 531 | |
---|
460 | | -.. kernel-doc:: drivers/gpu/drm/i915/intel_guc.c |
---|
461 | | - :doc: GuC Address Space |
---|
| 532 | +DMC |
---|
| 533 | +--- |
---|
| 534 | +See `CSR firmware support for DMC`_ |
---|
462 | 535 | |
---|
463 | 536 | Tracing |
---|
464 | 537 | ======= |
---|
.. | .. |
---|
477 | 550 | |
---|
478 | 551 | .. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h |
---|
479 | 552 | :doc: i915_context_create and i915_context_free tracepoints |
---|
480 | | - |
---|
481 | | -switch_mm |
---|
482 | | ---------- |
---|
483 | | - |
---|
484 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h |
---|
485 | | - :doc: switch_mm tracepoint |
---|
486 | 553 | |
---|
487 | 554 | Perf |
---|
488 | 555 | ==== |
---|
.. | .. |
---|
526 | 593 | This section covers the stream-semantics-agnostic structures and functions |
---|
527 | 594 | for representing an i915 perf stream FD and associated file operations. |
---|
528 | 595 | |
---|
529 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h |
---|
| 596 | +.. kernel-doc:: drivers/gpu/drm/i915/i915_perf_types.h |
---|
530 | 597 | :functions: i915_perf_stream |
---|
531 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h |
---|
| 598 | +.. kernel-doc:: drivers/gpu/drm/i915/i915_perf_types.h |
---|
532 | 599 | :functions: i915_perf_stream_ops |
---|
533 | 600 | |
---|
534 | 601 | .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c |
---|
.. | .. |
---|
553 | 620 | i915 Perf Observation Architecture Stream |
---|
554 | 621 | ----------------------------------------- |
---|
555 | 622 | |
---|
556 | | -.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h |
---|
| 623 | +.. kernel-doc:: drivers/gpu/drm/i915/i915_perf_types.h |
---|
557 | 624 | :functions: i915_oa_ops |
---|
558 | 625 | |
---|
559 | 626 | .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c |
---|
.. | .. |
---|
569 | 636 | .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c |
---|
570 | 637 | :functions: i915_oa_poll_wait |
---|
571 | 638 | |
---|
572 | | -All i915 Perf Internals |
---|
573 | | ------------------------ |
---|
| 639 | +Other i915 Perf Internals |
---|
| 640 | +------------------------- |
---|
574 | 641 | |
---|
575 | | -This section simply includes all currently documented i915 perf internals, in |
---|
576 | | -no particular order, but may include some more minor utilities or platform |
---|
| 642 | +This section simply includes all other currently documented i915 perf internals, |
---|
| 643 | +in no particular order, but may include some more minor utilities or platform |
---|
577 | 644 | specific details than found in the more high-level sections. |
---|
578 | 645 | |
---|
579 | 646 | .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c |
---|
580 | 647 | :internal: |
---|
| 648 | + :no-identifiers: |
---|
| 649 | + i915_perf_init |
---|
| 650 | + i915_perf_fini |
---|
| 651 | + i915_perf_register |
---|
| 652 | + i915_perf_unregister |
---|
| 653 | + i915_perf_open_ioctl |
---|
| 654 | + i915_perf_release |
---|
| 655 | + i915_perf_add_config_ioctl |
---|
| 656 | + i915_perf_remove_config_ioctl |
---|
| 657 | + read_properties_unlocked |
---|
| 658 | + i915_perf_open_ioctl_locked |
---|
| 659 | + i915_perf_destroy_locked |
---|
| 660 | + i915_perf_read i915_perf_ioctl |
---|
| 661 | + i915_perf_enable_locked |
---|
| 662 | + i915_perf_disable_locked |
---|
| 663 | + i915_perf_poll i915_perf_poll_locked |
---|
| 664 | + i915_oa_stream_init i915_oa_read |
---|
| 665 | + i915_oa_stream_enable |
---|
| 666 | + i915_oa_stream_disable |
---|
| 667 | + i915_oa_wait_unlocked |
---|
| 668 | + i915_oa_poll_wait |
---|
581 | 669 | |
---|
582 | 670 | Style |
---|
583 | 671 | ===== |
---|