1=========================== 2 drm/i915 Intel GFX Driver 3=========================== 4 5The drm/i915 driver supports all (with the exception of some very early 6models) integrated GFX chipsets with both Intel display and rendering 7blocks. This excludes a set of SoC platforms with an SGX rendering unit, 8those have basic support through the gma500 drm driver. 9 10Core Driver Infrastructure 11========================== 12 13This section covers core driver infrastructure used by both the display 14and the GEM parts of the driver. 15 16Runtime Power Management 17------------------------ 18 19.. kernel-doc:: drivers/gpu/drm/i915/intel_runtime_pm.c 20 :doc: runtime pm 21 22.. kernel-doc:: drivers/gpu/drm/i915/intel_runtime_pm.c 23 :internal: 24 25.. kernel-doc:: drivers/gpu/drm/i915/intel_uncore.c 26 :internal: 27 28Interrupt Handling 29------------------ 30 31.. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c 32 :doc: interrupt handling 33 34.. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c 35 :functions: intel_irq_init intel_irq_init_hw intel_hpd_init 36 37.. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c 38 :functions: intel_runtime_pm_disable_interrupts 39 40.. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c 41 :functions: intel_runtime_pm_enable_interrupts 42 43Intel GVT-g Guest Support(vGPU) 44------------------------------- 45 46.. kernel-doc:: drivers/gpu/drm/i915/i915_vgpu.c 47 :doc: Intel GVT-g guest support 48 49.. kernel-doc:: drivers/gpu/drm/i915/i915_vgpu.c 50 :internal: 51 52Intel GVT-g Host Support(vGPU device model) 53------------------------------------------- 54 55.. kernel-doc:: drivers/gpu/drm/i915/intel_gvt.c 56 :doc: Intel GVT-g host support 57 58.. kernel-doc:: drivers/gpu/drm/i915/intel_gvt.c 59 :internal: 60 61Display Hardware Handling 62========================= 63 64This section covers everything related to the display hardware including 65the mode setting infrastructure, plane, sprite and cursor handling and 66display, output probing and related topics. 67 68Mode Setting Infrastructure 69--------------------------- 70 71The i915 driver is thus far the only DRM driver which doesn't use the 72common DRM helper code to implement mode setting sequences. Thus it has 73its own tailor-made infrastructure for executing a display configuration 74change. 75 76Frontbuffer Tracking 77-------------------- 78 79.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c 80 :doc: frontbuffer tracking 81 82.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.h 83 :internal: 84 85.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c 86 :internal: 87 88.. kernel-doc:: drivers/gpu/drm/i915/i915_gem.c 89 :functions: i915_gem_track_fb 90 91Display FIFO Underrun Reporting 92------------------------------- 93 94.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c 95 :doc: fifo underrun handling 96 97.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c 98 :internal: 99 100Plane Configuration 101------------------- 102 103This section covers plane configuration and composition with the primary 104plane, sprites, cursors and overlays. This includes the infrastructure 105to do atomic vsync'ed updates of all this state and also tightly coupled 106topics like watermark setup and computation, framebuffer compression and 107panel self refresh. 108 109Atomic Plane Helpers 110-------------------- 111 112.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c 113 :doc: atomic plane helpers 114 115.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c 116 :internal: 117 118Output Probing 119-------------- 120 121This section covers output probing and related infrastructure like the 122hotplug interrupt storm detection and mitigation code. Note that the 123i915 driver still uses most of the common DRM helper code for output 124probing, so those sections fully apply. 125 126Hotplug 127------- 128 129.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c 130 :doc: Hotplug 131 132.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c 133 :internal: 134 135High Definition Audio 136--------------------- 137 138.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c 139 :doc: High Definition Audio over HDMI and Display Port 140 141.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c 142 :internal: 143 144.. kernel-doc:: include/drm/i915_component.h 145 :internal: 146 147Intel HDMI LPE Audio Support 148---------------------------- 149 150.. kernel-doc:: drivers/gpu/drm/i915/intel_lpe_audio.c 151 :doc: LPE Audio integration for HDMI or DP playback 152 153.. kernel-doc:: drivers/gpu/drm/i915/intel_lpe_audio.c 154 :internal: 155 156Panel Self Refresh PSR (PSR/SRD) 157-------------------------------- 158 159.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 160 :doc: Panel Self Refresh (PSR/SRD) 161 162.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 163 :internal: 164 165Frame Buffer Compression (FBC) 166------------------------------ 167 168.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 169 :doc: Frame Buffer Compression (FBC) 170 171.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 172 :internal: 173 174Display Refresh Rate Switching (DRRS) 175------------------------------------- 176 177.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 178 :doc: Display Refresh Rate Switching (DRRS) 179 180.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 181 :functions: intel_dp_set_drrs_state 182 183.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 184 :functions: intel_edp_drrs_enable 185 186.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 187 :functions: intel_edp_drrs_disable 188 189.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 190 :functions: intel_edp_drrs_invalidate 191 192.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 193 :functions: intel_edp_drrs_flush 194 195.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 196 :functions: intel_dp_drrs_init 197 198DPIO 199---- 200 201.. kernel-doc:: drivers/gpu/drm/i915/intel_dpio_phy.c 202 :doc: DPIO 203 204CSR firmware support for DMC 205---------------------------- 206 207.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 208 :doc: csr support for dmc 209 210.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 211 :internal: 212 213Video BIOS Table (VBT) 214---------------------- 215 216.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 217 :doc: Video BIOS Table (VBT) 218 219.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 220 :internal: 221 222.. kernel-doc:: drivers/gpu/drm/i915/intel_vbt_defs.h 223 :internal: 224 225Display clocks 226-------------- 227 228.. kernel-doc:: drivers/gpu/drm/i915/intel_cdclk.c 229 :doc: CDCLK / RAWCLK 230 231.. kernel-doc:: drivers/gpu/drm/i915/intel_cdclk.c 232 :internal: 233 234Display PLLs 235------------ 236 237.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c 238 :doc: Display PLLs 239 240.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c 241 :internal: 242 243.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.h 244 :internal: 245 246Memory Management and Command Submission 247======================================== 248 249This sections covers all things related to the GEM implementation in the 250i915 driver. 251 252Batchbuffer Parsing 253------------------- 254 255.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 256 :doc: batch buffer command parser 257 258.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 259 :internal: 260 261Batchbuffer Pools 262----------------- 263 264.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 265 :doc: batch pool 266 267.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 268 :internal: 269 270Logical Rings, Logical Ring Contexts and Execlists 271-------------------------------------------------- 272 273.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 274 :doc: Logical Rings, Logical Ring Contexts and Execlists 275 276.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 277 :internal: 278 279Global GTT views 280---------------- 281 282.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 283 :doc: Global GTT views 284 285.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 286 :internal: 287 288GTT Fences and Swizzling 289------------------------ 290 291.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 292 :internal: 293 294Global GTT Fence Handling 295~~~~~~~~~~~~~~~~~~~~~~~~~ 296 297.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 298 :doc: fence register handling 299 300Hardware Tiling and Swizzling Details 301~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 303.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 304 :doc: tiling swizzling details 305 306Object Tiling IOCTLs 307-------------------- 308 309.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 310 :internal: 311 312.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 313 :doc: buffer object tiling 314 315Buffer Object Eviction 316---------------------- 317 318This section documents the interface functions for evicting buffer 319objects to make space available in the virtual gpu address spaces. Note 320that this is mostly orthogonal to shrinking buffer objects caches, which 321has the goal to make main memory (shared with the gpu through the 322unified memory architecture) available. 323 324.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_evict.c 325 :internal: 326 327Buffer Object Memory Shrinking 328------------------------------ 329 330This section documents the interface function for shrinking memory usage 331of buffer object caches. Shrinking is used to make main memory 332available. Note that this is mostly orthogonal to evicting buffer 333objects, which has the goal to make space in gpu virtual address spaces. 334 335.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_shrinker.c 336 :internal: 337 338GuC 339=== 340 341GuC-specific firmware loader 342---------------------------- 343 344.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 345 :doc: GuC-specific firmware loader 346 347.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 348 :internal: 349 350GuC-based command submission 351---------------------------- 352 353.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 354 :doc: GuC-based command submission 355 356.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 357 :internal: 358 359GuC Firmware Layout 360------------------- 361 362.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_fwif.h 363 :doc: GuC Firmware Layout 364 365Tracing 366======= 367 368This sections covers all things related to the tracepoints implemented 369in the i915 driver. 370 371i915_ppgtt_create and i915_ppgtt_release 372---------------------------------------- 373 374.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 375 :doc: i915_ppgtt_create and i915_ppgtt_release tracepoints 376 377i915_context_create and i915_context_free 378----------------------------------------- 379 380.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 381 :doc: i915_context_create and i915_context_free tracepoints 382 383switch_mm 384--------- 385 386.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 387 :doc: switch_mm tracepoint 388 389Perf 390==== 391 392Overview 393-------- 394.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 395 :doc: i915 Perf Overview 396 397Comparison with Core Perf 398------------------------- 399.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 400 :doc: i915 Perf History and Comparison with Core Perf 401 402i915 Driver Entry Points 403------------------------ 404 405This section covers the entrypoints exported outside of i915_perf.c to 406integrate with drm/i915 and to handle the `DRM_I915_PERF_OPEN` ioctl. 407 408.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 409 :functions: i915_perf_init 410.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 411 :functions: i915_perf_fini 412.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 413 :functions: i915_perf_register 414.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 415 :functions: i915_perf_unregister 416.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 417 :functions: i915_perf_open_ioctl 418.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 419 :functions: i915_perf_release 420 421i915 Perf Stream 422---------------- 423 424This section covers the stream-semantics-agnostic structures and functions 425for representing an i915 perf stream FD and associated file operations. 426 427.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 428 :functions: i915_perf_stream 429.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 430 :functions: i915_perf_stream_ops 431 432.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 433 :functions: read_properties_unlocked 434.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 435 :functions: i915_perf_open_ioctl_locked 436.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 437 :functions: i915_perf_destroy_locked 438.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 439 :functions: i915_perf_read 440.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 441 :functions: i915_perf_ioctl 442.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 443 :functions: i915_perf_enable_locked 444.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 445 :functions: i915_perf_disable_locked 446.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 447 :functions: i915_perf_poll 448.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 449 :functions: i915_perf_poll_locked 450 451i915 Perf Observation Architecture Stream 452----------------------------------------- 453 454.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 455 :functions: i915_oa_ops 456 457.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 458 :functions: i915_oa_stream_init 459.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 460 :functions: i915_oa_read 461.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 462 :functions: i915_oa_stream_enable 463.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 464 :functions: i915_oa_stream_disable 465.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 466 :functions: i915_oa_wait_unlocked 467.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 468 :functions: i915_oa_poll_wait 469 470All i915 Perf Internals 471----------------------- 472 473This section simply includes all currently documented i915 perf internals, in 474no particular order, but may include some more minor utilities or platform 475specific details than found in the more high-level sections. 476 477.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 478 :internal: 479 480.. WARNING: DOCPROC directive not supported: !Cdrivers/gpu/drm/i915/i915_irq.c 481