~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/gpu/i915.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/gpu/i915.rst (Version linux-6.12-rc7) and /Documentation/gpu/i915.rst (Version linux-3.10.108)


  1 ===========================                       
  2  drm/i915 Intel GFX Driver                        
  3 ===========================                       
  4                                                   
  5 The drm/i915 driver supports all (with the exc    
  6 models) integrated GFX chipsets with both Inte    
  7 blocks. This excludes a set of SoC platforms w    
  8 those have basic support through the gma500 dr    
  9                                                   
 10 Core Driver Infrastructure                        
 11 ==========================                        
 12                                                   
 13 This section covers core driver infrastructure    
 14 and the GEM parts of the driver.                  
 15                                                   
 16 Runtime Power Management                          
 17 ------------------------                          
 18                                                   
 19 .. kernel-doc:: drivers/gpu/drm/i915/intel_run    
 20    :doc: runtime pm                               
 21                                                   
 22 .. kernel-doc:: drivers/gpu/drm/i915/intel_run    
 23    :internal:                                     
 24                                                   
 25 .. kernel-doc:: drivers/gpu/drm/i915/intel_unc    
 26    :internal:                                     
 27                                                   
 28 Interrupt Handling                                
 29 ------------------                                
 30                                                   
 31 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.    
 32    :doc: interrupt handling                       
 33                                                   
 34 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.    
 35    :functions: intel_irq_init intel_irq_init_h    
 36                                                   
 37 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.    
 38    :functions: intel_runtime_pm_disable_interr    
 39                                                   
 40 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.    
 41    :functions: intel_runtime_pm_enable_interru    
 42                                                   
 43 Intel GVT-g Guest Support(vGPU)                   
 44 -------------------------------                   
 45                                                   
 46 .. kernel-doc:: drivers/gpu/drm/i915/i915_vgpu    
 47    :doc: Intel GVT-g guest support                
 48                                                   
 49 .. kernel-doc:: drivers/gpu/drm/i915/i915_vgpu    
 50    :internal:                                     
 51                                                   
 52 Intel GVT-g Host Support(vGPU device model)       
 53 -------------------------------------------       
 54                                                   
 55 .. kernel-doc:: drivers/gpu/drm/i915/intel_gvt    
 56    :doc: Intel GVT-g host support                 
 57                                                   
 58 .. kernel-doc:: drivers/gpu/drm/i915/intel_gvt    
 59    :internal:                                     
 60                                                   
 61 Workarounds                                       
 62 -----------                                       
 63                                                   
 64 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
 65    :doc: Hardware workarounds                     
 66                                                   
 67 Display Hardware Handling                         
 68 =========================                         
 69                                                   
 70 This section covers everything related to the     
 71 the mode setting infrastructure, plane, sprite    
 72 display, output probing and related topics.       
 73                                                   
 74 Mode Setting Infrastructure                       
 75 ---------------------------                       
 76                                                   
 77 The i915 driver is thus far the only DRM drive    
 78 common DRM helper code to implement mode setti    
 79 its own tailor-made infrastructure for executi    
 80 change.                                           
 81                                                   
 82 Frontbuffer Tracking                              
 83 --------------------                              
 84                                                   
 85 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
 86    :doc: frontbuffer tracking                     
 87                                                   
 88 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
 89    :internal:                                     
 90                                                   
 91 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
 92    :internal:                                     
 93                                                   
 94 Display FIFO Underrun Reporting                   
 95 -------------------------------                   
 96                                                   
 97 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
 98    :doc: fifo underrun handling                   
 99                                                   
100 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
101    :internal:                                     
102                                                   
103 Plane Configuration                               
104 -------------------                               
105                                                   
106 This section covers plane configuration and co    
107 plane, sprites, cursors and overlays. This inc    
108 to do atomic vsync'ed updates of all this stat    
109 topics like watermark setup and computation, f    
110 panel self refresh.                               
111                                                   
112 Atomic Plane Helpers                              
113 --------------------                              
114                                                   
115 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
116    :doc: atomic plane helpers                     
117                                                   
118 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
119    :internal:                                     
120                                                   
121 Asynchronous Page Flip                            
122 ----------------------                            
123                                                   
124 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
125    :doc: asynchronous flip implementation         
126                                                   
127 Output Probing                                    
128 --------------                                    
129                                                   
130 This section covers output probing and related    
131 hotplug interrupt storm detection and mitigati    
132 i915 driver still uses most of the common DRM     
133 probing, so those sections fully apply.           
134                                                   
135 Hotplug                                           
136 -------                                           
137                                                   
138 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
139    :doc: Hotplug                                  
140                                                   
141 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
142    :internal:                                     
143                                                   
144 High Definition Audio                             
145 ---------------------                             
146                                                   
147 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
148    :doc: High Definition Audio over HDMI and D    
149                                                   
150 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
151    :internal:                                     
152                                                   
153 .. kernel-doc:: include/drm/intel/i915_compone    
154    :internal:                                     
155                                                   
156 Intel HDMI LPE Audio Support                      
157 ----------------------------                      
158                                                   
159 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
160    :doc: LPE Audio integration for HDMI or DP     
161                                                   
162 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
163    :internal:                                     
164                                                   
165 Panel Self Refresh PSR (PSR/SRD)                  
166 --------------------------------                  
167                                                   
168 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
169    :doc: Panel Self Refresh (PSR/SRD)             
170                                                   
171 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
172    :internal:                                     
173                                                   
174 Frame Buffer Compression (FBC)                    
175 ------------------------------                    
176                                                   
177 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
178    :doc: Frame Buffer Compression (FBC)           
179                                                   
180 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
181    :internal:                                     
182                                                   
183 Display Refresh Rate Switching (DRRS)             
184 -------------------------------------             
185                                                   
186 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
187    :doc: Display Refresh Rate Switching (DRRS)    
188                                                   
189 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
190    :internal:                                     
191                                                   
192 DPIO                                              
193 ----                                              
194                                                   
195 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
196    :doc: DPIO                                     
197                                                   
198 DMC Firmware Support                              
199 --------------------                              
200                                                   
201 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
202    :doc: DMC Firmware Support                     
203                                                   
204 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
205    :internal:                                     
206                                                   
207 DMC wakelock support                              
208 --------------------                              
209                                                   
210 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
211    :doc: DMC wakelock support                     
212                                                   
213 Video BIOS Table (VBT)                            
214 ----------------------                            
215                                                   
216 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
217    :doc: Video BIOS Table (VBT)                   
218                                                   
219 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
220    :internal:                                     
221                                                   
222 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
223    :internal:                                     
224                                                   
225 Display clocks                                    
226 --------------                                    
227                                                   
228 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
229    :doc: CDCLK / RAWCLK                           
230                                                   
231 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
232    :internal:                                     
233                                                   
234 Display PLLs                                      
235 ------------                                      
236                                                   
237 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
238    :doc: Display PLLs                             
239                                                   
240 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
241    :internal:                                     
242                                                   
243 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
244    :internal:                                     
245                                                   
246 Display State Buffer                              
247 --------------------                              
248                                                   
249 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
250    :doc: DSB                                      
251                                                   
252 .. kernel-doc:: drivers/gpu/drm/i915/display/i    
253    :internal:                                     
254                                                   
255 GT Programming                                    
256 ==============                                    
257                                                   
258 Multicast/Replicated (MCR) Registers              
259 ------------------------------------              
260                                                   
261 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
262    :doc: GT Multicast/Replicated (MCR) Registe    
263                                                   
264 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
265    :internal:                                     
266                                                   
267 Memory Management and Command Submission          
268 ========================================          
269                                                   
270 This sections covers all things related to the    
271 i915 driver.                                      
272                                                   
273 Intel GPU Basics                                  
274 ----------------                                  
275                                                   
276 An Intel GPU has multiple engines. There are s    
277                                                   
278 - Render Command Streamer (RCS). An engine for    
279   performing compute.                             
280 - Blitting Command Streamer (BCS). An engine f    
281   copying operations.                             
282 - Video Command Streamer. An engine used for v    
283   sometimes called 'BSD' in hardware documenta    
284 - Video Enhancement Command Streamer (VECS). A    
285   Also sometimes called 'VEBOX' in hardware do    
286 - Compute Command Streamer (CCS). An engine th    
287   GPGPU pipelines, but not the 3D pipeline.       
288 - Graphics Security Controller (GSCCS). A dedi    
289   communication with GSC controller on securit    
290   High-bandwidth Digital Content Protection (H    
291   and HuC firmware authentication.                
292                                                   
293 The Intel GPU family is a family of integrated    
294 Memory Access. For having the GPU "do work", u    
295 GPU batch buffers via one of the ioctls `DRM_I    
296 or `DRM_IOCTL_I915_GEM_EXECBUFFER2_WR`. Most s    
297 instruct the GPU to perform work (for example     
298 needs memory from which to read and memory to     
299 is encapsulated within GEM buffer objects (usu    
300 `DRM_IOCTL_I915_GEM_CREATE`). An ioctl providi    
301 to create will also list all GEM buffer object    
302 and/or writes. For implementation details of m    
303 `GEM BO Management Implementation Details`_.      
304                                                   
305 The i915 driver allows user space to create a     
306 `DRM_IOCTL_I915_GEM_CONTEXT_CREATE` which is i    
307 integer. Such a context should be viewed by us    
308 analogous to the idea of a CPU process of an o    
309 driver guarantees that commands issued to a fi    
310 executed so that writes of a previously issued    
311 reads of following commands. Actions issued be    
312 (even if from the same file descriptor) are NO    
313 and the only way to synchronize across context    
314 file descriptor) is through the use of fences.    
315 Gen4, also have that a context carries with it    
316 the HW context is essentially (most of at leas    
317 In addition to the ordering guarantees, the ke    
318 state via HW context when commands are issued     
319 user space the need to restore (most of at lea    
320 start of each batchbuffer. The non-deprecated     
321 work can pass that ID (in the lower bits of dr    
322 to identify what context to use with the comma    
323                                                   
324 The GPU has its own memory management and addr    
325 driver maintains the memory translation table     
326 GPUs (i.e. those before Gen8), there is a sing    
327 table, a global Graphics Translation Table (GT    
328 GPUs each context has its own translation tabl    
329 Graphics Translation Table (PPGTT). Of importa    
330 PPGTT is named per-process it is actually per     
331 submits a batchbuffer, the kernel walks the li    
332 used by the batchbuffer and guarantees that no    
333 each such GEM buffer object resident but it is    
334 (PP)GTT. If the GEM buffer object is not yet p    
335 then it is given an address. Two consequences     
336 needs to edit the batchbuffer submitted to wri    
337 the GPU address when a GEM BO is assigned a GP    
338 might evict a different GEM BO from the (PP)GT    
339 for another GEM BO. Consequently, the ioctls s    
340 for execution also include a list of all locat    
341 refer to GPU-addresses so that the kernel can     
342 This process is dubbed relocation.                
343                                                   
344 Locking Guidelines                                
345 ------------------                                
346                                                   
347 .. note::                                         
348    This is a description of how the locking sh    
349    refactoring is done. Does not necessarily r    
350    looks like while WIP.                          
351                                                   
352 #. All locking rules and interface contracts w    
353    (dma-buf, dma_fence) need to be followed.      
354                                                   
355 #. No struct_mutex anywhere in the code           
356                                                   
357 #. dma_resv will be the outermost lock (when n    
358    is to be hoisted at highest level and passe    
359    in the call chain                              
360                                                   
361 #. While holding lru/memory manager (buddy, dr    
362    system memory allocations are not allowed      
363                                                   
364         * Enforce this by priming lockdep (wit    
365           allocate memory while holding these     
366           of the shrinker vs. struct_mutex sag    
367           real bad.                               
368                                                   
369 #. Do not nest different lru/memory manager lo    
370    Take them in turn to update memory allocati    
371    dma_resv ww_mutex to serialize against othe    
372                                                   
373 #. The suggestion for lru/memory managers lock    
374    enough to be spinlocks.                        
375                                                   
376 #. All features need to come with exhaustive k    
377    IGT tests when appropriate                     
378                                                   
379 #. All LMEM uAPI paths need to be fully restar    
380    for all locks/waits/sleeps)                    
381                                                   
382         * Error handling validation through si    
383           Still the best strategy we have for     
384           corner cases.                           
385           Must be excessively used in the IGT,    
386           that we really have full path covera    
387                                                   
388         * -EDEADLK handling with ww_mutex         
389                                                   
390 GEM BO Management Implementation Details          
391 ----------------------------------------          
392                                                   
393 .. kernel-doc:: drivers/gpu/drm/i915/i915_vma_    
394    :doc: Virtual Memory Address                   
395                                                   
396 Buffer Object Eviction                            
397 ----------------------                            
398                                                   
399 This section documents the interface functions    
400 objects to make space available in the virtual    
401 that this is mostly orthogonal to shrinking bu    
402 has the goal to make main memory (shared with     
403 unified memory architecture) available.           
404                                                   
405 .. kernel-doc:: drivers/gpu/drm/i915/i915_gem_    
406    :internal:                                     
407                                                   
408 Buffer Object Memory Shrinking                    
409 ------------------------------                    
410                                                   
411 This section documents the interface function     
412 of buffer object caches. Shrinking is used to     
413 available. Note that this is mostly orthogonal    
414 objects, which has the goal to make space in g    
415                                                   
416 .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_    
417    :internal:                                     
418                                                   
419 Batchbuffer Parsing                               
420 -------------------                               
421                                                   
422 .. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_    
423    :doc: batch buffer command parser              
424                                                   
425 .. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_    
426    :internal:                                     
427                                                   
428 User Batchbuffer Execution                        
429 --------------------------                        
430                                                   
431 .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_    
432                                                   
433 .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_    
434    :doc: User command execution                   
435                                                   
436 Scheduling                                        
437 ----------                                        
438 .. kernel-doc:: drivers/gpu/drm/i915/i915_sche    
439    :functions: i915_sched_engine                  
440                                                   
441 Logical Rings, Logical Ring Contexts and Execl    
442 ----------------------------------------------    
443                                                   
444 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
445    :doc: Logical Rings, Logical Ring Contexts     
446                                                   
447 Global GTT views                                  
448 ----------------                                  
449                                                   
450 .. kernel-doc:: drivers/gpu/drm/i915/i915_vma_    
451    :doc: Global GTT views                         
452                                                   
453 .. kernel-doc:: drivers/gpu/drm/i915/i915_gem_    
454    :internal:                                     
455                                                   
456 GTT Fences and Swizzling                          
457 ------------------------                          
458                                                   
459 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
460    :internal:                                     
461                                                   
462 Global GTT Fence Handling                         
463 ~~~~~~~~~~~~~~~~~~~~~~~~~                         
464                                                   
465 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
466    :doc: fence register handling                  
467                                                   
468 Hardware Tiling and Swizzling Details             
469 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
470                                                   
471 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
472    :doc: tiling swizzling details                 
473                                                   
474 Object Tiling IOCTLs                              
475 --------------------                              
476                                                   
477 .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_    
478    :internal:                                     
479                                                   
480 .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_    
481    :doc: buffer object tiling                     
482                                                   
483 Protected Objects                                 
484 -----------------                                 
485                                                   
486 .. kernel-doc:: drivers/gpu/drm/i915/pxp/intel    
487    :doc: PXP                                      
488                                                   
489 .. kernel-doc:: drivers/gpu/drm/i915/pxp/intel    
490                                                   
491 Microcontrollers                                  
492 ================                                  
493                                                   
494 Starting from gen9, three microcontrollers are    
495 graphics microcontroller (GuC), the HEVC/H.265    
496 display microcontroller (DMC). The driver is r    
497 firmwares on the microcontrollers; the GuC and    
498 to WOPCM using the DMA engine, while the DMC f    
499                                                   
500 WOPCM                                             
501 -----                                             
502                                                   
503 WOPCM Layout                                      
504 ~~~~~~~~~~~~                                      
505                                                   
506 .. kernel-doc:: drivers/gpu/drm/i915/gt/intel_    
507    :doc: WOPCM Layout                             
508                                                   
509 GuC                                               
510 ---                                               
511                                                   
512 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
513    :doc: GuC                                      
514                                                   
515 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
516                                                   
517 GuC Firmware Layout                               
518 ~~~~~~~~~~~~~~~~~~~                               
519                                                   
520 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
521    :doc: Firmware Layout                          
522                                                   
523 GuC Memory Management                             
524 ~~~~~~~~~~~~~~~~~~~~~                             
525                                                   
526 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
527    :doc: GuC Memory Management                    
528 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
529    :functions: intel_guc_allocate_vma             
530                                                   
531                                                   
532 GuC-specific firmware loader                      
533 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
534                                                   
535 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
536    :internal:                                     
537                                                   
538 GuC-based command submission                      
539 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
540                                                   
541 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
542    :doc: GuC-based command submission             
543                                                   
544 GuC ABI                                           
545 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
546                                                   
547 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/abi    
548 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/abi    
549 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/abi    
550 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/abi    
551 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/abi    
552                                                   
553 HuC                                               
554 ---                                               
555 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
556    :doc: HuC                                      
557 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
558    :functions: intel_huc_auth                     
559                                                   
560 HuC Memory Management                             
561 ~~~~~~~~~~~~~~~~~~~~~                             
562                                                   
563 .. kernel-doc:: drivers/gpu/drm/i915/gt/uc/int    
564    :doc: HuC Memory Management                    
565                                                   
566 HuC Firmware Layout                               
567 ~~~~~~~~~~~~~~~~~~~                               
568 The HuC FW layout is the same as the GuC one,     
569                                                   
570 DMC                                               
571 ---                                               
572 See `DMC Firmware Support`_                       
573                                                   
574 Tracing                                           
575 =======                                           
576                                                   
577 This sections covers all things related to the    
578 in the i915 driver.                               
579                                                   
580 i915_ppgtt_create and i915_ppgtt_release          
581 ----------------------------------------          
582                                                   
583 .. kernel-doc:: drivers/gpu/drm/i915/i915_trac    
584    :doc: i915_ppgtt_create and i915_ppgtt_rele    
585                                                   
586 i915_context_create and i915_context_free         
587 -----------------------------------------         
588                                                   
589 .. kernel-doc:: drivers/gpu/drm/i915/i915_trac    
590    :doc: i915_context_create and i915_context_    
591                                                   
592 Perf                                              
593 ====                                              
594                                                   
595 Overview                                          
596 --------                                          
597 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
598    :doc: i915 Perf Overview                       
599                                                   
600 Comparison with Core Perf                         
601 -------------------------                         
602 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
603    :doc: i915 Perf History and Comparison with    
604                                                   
605 i915 Driver Entry Points                          
606 ------------------------                          
607                                                   
608 This section covers the entrypoints exported o    
609 integrate with drm/i915 and to handle the `DRM    
610                                                   
611 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
612    :functions: i915_perf_init                     
613 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
614    :functions: i915_perf_fini                     
615 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
616    :functions: i915_perf_register                 
617 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
618    :functions: i915_perf_unregister               
619 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
620    :functions: i915_perf_open_ioctl               
621 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
622    :functions: i915_perf_release                  
623 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
624    :functions: i915_perf_add_config_ioctl         
625 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
626    :functions: i915_perf_remove_config_ioctl      
627                                                   
628 i915 Perf Stream                                  
629 ----------------                                  
630                                                   
631 This section covers the stream-semantics-agnos    
632 for representing an i915 perf stream FD and as    
633                                                   
634 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
635    :functions: i915_perf_stream                   
636 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
637    :functions: i915_perf_stream_ops               
638                                                   
639 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
640    :functions: read_properties_unlocked           
641 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
642    :functions: i915_perf_open_ioctl_locked        
643 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
644    :functions: i915_perf_destroy_locked           
645 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
646    :functions: i915_perf_read                     
647 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
648    :functions: i915_perf_ioctl                    
649 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
650    :functions: i915_perf_enable_locked            
651 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
652    :functions: i915_perf_disable_locked           
653 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
654    :functions: i915_perf_poll                     
655 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
656    :functions: i915_perf_poll_locked              
657                                                   
658 i915 Perf Observation Architecture Stream         
659 -----------------------------------------         
660                                                   
661 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
662    :functions: i915_oa_ops                        
663                                                   
664 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
665    :functions: i915_oa_stream_init                
666 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
667    :functions: i915_oa_read                       
668 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
669    :functions: i915_oa_stream_enable              
670 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
671    :functions: i915_oa_stream_disable             
672 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
673    :functions: i915_oa_wait_unlocked              
674 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
675    :functions: i915_oa_poll_wait                  
676                                                   
677 Other i915 Perf Internals                         
678 -------------------------                         
679                                                   
680 This section simply includes all other current    
681 in no particular order, but may include some m    
682 specific details than found in the more high-l    
683                                                   
684 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf    
685    :internal:                                     
686    :no-identifiers:                               
687        i915_perf_init                             
688        i915_perf_fini                             
689        i915_perf_register                         
690        i915_perf_unregister                       
691        i915_perf_open_ioctl                       
692        i915_perf_release                          
693        i915_perf_add_config_ioctl                 
694        i915_perf_remove_config_ioctl              
695        read_properties_unlocked                   
696        i915_perf_open_ioctl_locked                
697        i915_perf_destroy_locked                   
698        i915_perf_read i915_perf_ioctl             
699        i915_perf_enable_locked                    
700        i915_perf_disable_locked                   
701        i915_perf_poll i915_perf_poll_locked       
702        i915_oa_stream_init i915_oa_read           
703        i915_oa_stream_enable                      
704        i915_oa_stream_disable                     
705        i915_oa_wait_unlocked                      
706        i915_oa_poll_wait                          
707                                                   
708 Style                                             
709 =====                                             
710                                                   
711 The drm/i915 driver codebase has some style ru    
712 cases, deviating from) the kernel coding style    
713                                                   
714 Register macro definition style                   
715 -------------------------------                   
716                                                   
717 The style guide for ``i915_reg.h``.               
718                                                   
719 .. kernel-doc:: drivers/gpu/drm/i915/i915_reg.    
720    :doc: The i915 register macro definition st    
721                                                   
722 .. _i915-usage-stats:                             
723                                                   
724 i915 DRM client usage stats implementation        
725 ==========================================        
726                                                   
727 The drm/i915 driver implements the DRM client     
728 documented in :ref:`drm-client-usage-stats`.      
729                                                   
730 Example of the output showing the implemented     
731 the currently possible format options:            
732                                                   
733 ::                                                
734                                                   
735       pos:    0                                   
736       flags:  0100002                             
737       mnt_id: 21                                  
738       drm-driver: i915                            
739       drm-pdev:   0000:00:02.0                    
740       drm-client-id:      7                       
741       drm-engine-render:  9288864723 ns           
742       drm-engine-copy:    2035071108 ns           
743       drm-engine-video:   0 ns                    
744       drm-engine-capacity-video:   2              
745       drm-engine-video-enhance:   0 ns            
746                                                   
747 Possible `drm-engine-` key names are: `render`    
748 `video-enhance`.                                  
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php