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 147Panel Self Refresh PSR (PSR/SRD) 148-------------------------------- 149 150.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 151 :doc: Panel Self Refresh (PSR/SRD) 152 153.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 154 :internal: 155 156Frame Buffer Compression (FBC) 157------------------------------ 158 159.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 160 :doc: Frame Buffer Compression (FBC) 161 162.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 163 :internal: 164 165Display Refresh Rate Switching (DRRS) 166------------------------------------- 167 168.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 169 :doc: Display Refresh Rate Switching (DRRS) 170 171.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 172 :functions: intel_dp_set_drrs_state 173 174.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 175 :functions: intel_edp_drrs_enable 176 177.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 178 :functions: intel_edp_drrs_disable 179 180.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 181 :functions: intel_edp_drrs_invalidate 182 183.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 184 :functions: intel_edp_drrs_flush 185 186.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 187 :functions: intel_dp_drrs_init 188 189DPIO 190---- 191 192.. kernel-doc:: drivers/gpu/drm/i915/intel_dpio_phy.c 193 :doc: DPIO 194 195CSR firmware support for DMC 196---------------------------- 197 198.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 199 :doc: csr support for dmc 200 201.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 202 :internal: 203 204Video BIOS Table (VBT) 205---------------------- 206 207.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 208 :doc: Video BIOS Table (VBT) 209 210.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 211 :internal: 212 213.. kernel-doc:: drivers/gpu/drm/i915/intel_vbt_defs.h 214 :internal: 215 216Display PLLs 217------------ 218 219.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c 220 :doc: Display PLLs 221 222.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.c 223 :internal: 224 225.. kernel-doc:: drivers/gpu/drm/i915/intel_dpll_mgr.h 226 :internal: 227 228Memory Management and Command Submission 229======================================== 230 231This sections covers all things related to the GEM implementation in the 232i915 driver. 233 234Batchbuffer Parsing 235------------------- 236 237.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 238 :doc: batch buffer command parser 239 240.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 241 :internal: 242 243Batchbuffer Pools 244----------------- 245 246.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 247 :doc: batch pool 248 249.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 250 :internal: 251 252Logical Rings, Logical Ring Contexts and Execlists 253-------------------------------------------------- 254 255.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 256 :doc: Logical Rings, Logical Ring Contexts and Execlists 257 258.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 259 :internal: 260 261Global GTT views 262---------------- 263 264.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 265 :doc: Global GTT views 266 267.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 268 :internal: 269 270GTT Fences and Swizzling 271------------------------ 272 273.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 274 :internal: 275 276Global GTT Fence Handling 277~~~~~~~~~~~~~~~~~~~~~~~~~ 278 279.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 280 :doc: fence register handling 281 282Hardware Tiling and Swizzling Details 283~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 285.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence_reg.c 286 :doc: tiling swizzling details 287 288Object Tiling IOCTLs 289-------------------- 290 291.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 292 :internal: 293 294.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 295 :doc: buffer object tiling 296 297Buffer Object Eviction 298---------------------- 299 300This section documents the interface functions for evicting buffer 301objects to make space available in the virtual gpu address spaces. Note 302that this is mostly orthogonal to shrinking buffer objects caches, which 303has the goal to make main memory (shared with the gpu through the 304unified memory architecture) available. 305 306.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_evict.c 307 :internal: 308 309Buffer Object Memory Shrinking 310------------------------------ 311 312This section documents the interface function for shrinking memory usage 313of buffer object caches. Shrinking is used to make main memory 314available. Note that this is mostly orthogonal to evicting buffer 315objects, which has the goal to make space in gpu virtual address spaces. 316 317.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_shrinker.c 318 :internal: 319 320GuC 321=== 322 323GuC-specific firmware loader 324---------------------------- 325 326.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 327 :doc: GuC-specific firmware loader 328 329.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 330 :internal: 331 332GuC-based command submission 333---------------------------- 334 335.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 336 :doc: GuC-based command submission 337 338.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 339 :internal: 340 341GuC Firmware Layout 342------------------- 343 344.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_fwif.h 345 :doc: GuC Firmware Layout 346 347Tracing 348======= 349 350This sections covers all things related to the tracepoints implemented 351in the i915 driver. 352 353i915_ppgtt_create and i915_ppgtt_release 354---------------------------------------- 355 356.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 357 :doc: i915_ppgtt_create and i915_ppgtt_release tracepoints 358 359i915_context_create and i915_context_free 360----------------------------------------- 361 362.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 363 :doc: i915_context_create and i915_context_free tracepoints 364 365switch_mm 366--------- 367 368.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 369 :doc: switch_mm tracepoint 370 371Perf 372==== 373 374Overview 375-------- 376.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 377 :doc: i915 Perf Overview 378 379Comparison with Core Perf 380------------------------- 381.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 382 :doc: i915 Perf History and Comparison with Core Perf 383 384i915 Driver Entry Points 385------------------------ 386 387This section covers the entrypoints exported outside of i915_perf.c to 388integrate with drm/i915 and to handle the `DRM_I915_PERF_OPEN` ioctl. 389 390.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 391 :functions: i915_perf_init 392.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 393 :functions: i915_perf_fini 394.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 395 :functions: i915_perf_register 396.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 397 :functions: i915_perf_unregister 398.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 399 :functions: i915_perf_open_ioctl 400.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 401 :functions: i915_perf_release 402 403i915 Perf Stream 404---------------- 405 406This section covers the stream-semantics-agnostic structures and functions 407for representing an i915 perf stream FD and associated file operations. 408 409.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 410 :functions: i915_perf_stream 411.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 412 :functions: i915_perf_stream_ops 413 414.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 415 :functions: read_properties_unlocked 416.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 417 :functions: i915_perf_open_ioctl_locked 418.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 419 :functions: i915_perf_destroy_locked 420.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 421 :functions: i915_perf_read 422.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 423 :functions: i915_perf_ioctl 424.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 425 :functions: i915_perf_enable_locked 426.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 427 :functions: i915_perf_disable_locked 428.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 429 :functions: i915_perf_poll 430.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 431 :functions: i915_perf_poll_locked 432 433i915 Perf Observation Architecture Stream 434----------------------------------------- 435 436.. kernel-doc:: drivers/gpu/drm/i915/i915_drv.h 437 :functions: i915_oa_ops 438 439.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 440 :functions: i915_oa_stream_init 441.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 442 :functions: i915_oa_read 443.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 444 :functions: i915_oa_stream_enable 445.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 446 :functions: i915_oa_stream_disable 447.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 448 :functions: i915_oa_wait_unlocked 449.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 450 :functions: i915_oa_poll_wait 451 452All i915 Perf Internals 453----------------------- 454 455This section simply includes all currently documented i915 perf internals, in 456no particular order, but may include some more minor utilities or platform 457specific details than found in the more high-level sections. 458 459.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c 460 :internal: 461 462.. WARNING: DOCPROC directive not supported: !Cdrivers/gpu/drm/i915/i915_irq.c 463