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 52Display Hardware Handling 53========================= 54 55This section covers everything related to the display hardware including 56the mode setting infrastructure, plane, sprite and cursor handling and 57display, output probing and related topics. 58 59Mode Setting Infrastructure 60--------------------------- 61 62The i915 driver is thus far the only DRM driver which doesn't use the 63common DRM helper code to implement mode setting sequences. Thus it has 64its own tailor-made infrastructure for executing a display configuration 65change. 66 67Frontbuffer Tracking 68-------------------- 69 70.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c 71 :doc: frontbuffer tracking 72 73.. kernel-doc:: drivers/gpu/drm/i915/intel_frontbuffer.c 74 :internal: 75 76.. kernel-doc:: drivers/gpu/drm/i915/i915_gem.c 77 :functions: i915_gem_track_fb 78 79Display FIFO Underrun Reporting 80------------------------------- 81 82.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c 83 :doc: fifo underrun handling 84 85.. kernel-doc:: drivers/gpu/drm/i915/intel_fifo_underrun.c 86 :internal: 87 88Plane Configuration 89------------------- 90 91This section covers plane configuration and composition with the primary 92plane, sprites, cursors and overlays. This includes the infrastructure 93to do atomic vsync'ed updates of all this state and also tightly coupled 94topics like watermark setup and computation, framebuffer compression and 95panel self refresh. 96 97Atomic Plane Helpers 98-------------------- 99 100.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c 101 :doc: atomic plane helpers 102 103.. kernel-doc:: drivers/gpu/drm/i915/intel_atomic_plane.c 104 :internal: 105 106Output Probing 107-------------- 108 109This section covers output probing and related infrastructure like the 110hotplug interrupt storm detection and mitigation code. Note that the 111i915 driver still uses most of the common DRM helper code for output 112probing, so those sections fully apply. 113 114Hotplug 115------- 116 117.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c 118 :doc: Hotplug 119 120.. kernel-doc:: drivers/gpu/drm/i915/intel_hotplug.c 121 :internal: 122 123High Definition Audio 124--------------------- 125 126.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c 127 :doc: High Definition Audio over HDMI and Display Port 128 129.. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c 130 :internal: 131 132.. kernel-doc:: include/drm/i915_component.h 133 :internal: 134 135Panel Self Refresh PSR (PSR/SRD) 136-------------------------------- 137 138.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 139 :doc: Panel Self Refresh (PSR/SRD) 140 141.. kernel-doc:: drivers/gpu/drm/i915/intel_psr.c 142 :internal: 143 144Frame Buffer Compression (FBC) 145------------------------------ 146 147.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 148 :doc: Frame Buffer Compression (FBC) 149 150.. kernel-doc:: drivers/gpu/drm/i915/intel_fbc.c 151 :internal: 152 153Display Refresh Rate Switching (DRRS) 154------------------------------------- 155 156.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 157 :doc: Display Refresh Rate Switching (DRRS) 158 159.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 160 :functions: intel_dp_set_drrs_state 161 162.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 163 :functions: intel_edp_drrs_enable 164 165.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 166 :functions: intel_edp_drrs_disable 167 168.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 169 :functions: intel_edp_drrs_invalidate 170 171.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 172 :functions: intel_edp_drrs_flush 173 174.. kernel-doc:: drivers/gpu/drm/i915/intel_dp.c 175 :functions: intel_dp_drrs_init 176 177DPIO 178---- 179 180.. kernel-doc:: drivers/gpu/drm/i915/i915_reg.h 181 :doc: DPIO 182 183CSR firmware support for DMC 184---------------------------- 185 186.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 187 :doc: csr support for dmc 188 189.. kernel-doc:: drivers/gpu/drm/i915/intel_csr.c 190 :internal: 191 192Video BIOS Table (VBT) 193---------------------- 194 195.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 196 :doc: Video BIOS Table (VBT) 197 198.. kernel-doc:: drivers/gpu/drm/i915/intel_bios.c 199 :internal: 200 201.. kernel-doc:: drivers/gpu/drm/i915/intel_vbt_defs.h 202 :internal: 203 204Memory Management and Command Submission 205======================================== 206 207This sections covers all things related to the GEM implementation in the 208i915 driver. 209 210Batchbuffer Parsing 211------------------- 212 213.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 214 :doc: batch buffer command parser 215 216.. kernel-doc:: drivers/gpu/drm/i915/i915_cmd_parser.c 217 :internal: 218 219Batchbuffer Pools 220----------------- 221 222.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 223 :doc: batch pool 224 225.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_batch_pool.c 226 :internal: 227 228Logical Rings, Logical Ring Contexts and Execlists 229-------------------------------------------------- 230 231.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 232 :doc: Logical Rings, Logical Ring Contexts and Execlists 233 234.. kernel-doc:: drivers/gpu/drm/i915/intel_lrc.c 235 :internal: 236 237Global GTT views 238---------------- 239 240.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 241 :doc: Global GTT views 242 243.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_gtt.c 244 :internal: 245 246GTT Fences and Swizzling 247------------------------ 248 249.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence.c 250 :internal: 251 252Global GTT Fence Handling 253~~~~~~~~~~~~~~~~~~~~~~~~~ 254 255.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence.c 256 :doc: fence register handling 257 258Hardware Tiling and Swizzling Details 259~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 261.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_fence.c 262 :doc: tiling swizzling details 263 264Object Tiling IOCTLs 265-------------------- 266 267.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 268 :internal: 269 270.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_tiling.c 271 :doc: buffer object tiling 272 273Buffer Object Eviction 274---------------------- 275 276This section documents the interface functions for evicting buffer 277objects to make space available in the virtual gpu address spaces. Note 278that this is mostly orthogonal to shrinking buffer objects caches, which 279has the goal to make main memory (shared with the gpu through the 280unified memory architecture) available. 281 282.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_evict.c 283 :internal: 284 285Buffer Object Memory Shrinking 286------------------------------ 287 288This section documents the interface function for shrinking memory usage 289of buffer object caches. Shrinking is used to make main memory 290available. Note that this is mostly orthogonal to evicting buffer 291objects, which has the goal to make space in gpu virtual address spaces. 292 293.. kernel-doc:: drivers/gpu/drm/i915/i915_gem_shrinker.c 294 :internal: 295 296GuC 297=== 298 299GuC-specific firmware loader 300---------------------------- 301 302.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 303 :doc: GuC-specific firmware loader 304 305.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_loader.c 306 :internal: 307 308GuC-based command submission 309---------------------------- 310 311.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 312 :doc: GuC-based command submission 313 314.. kernel-doc:: drivers/gpu/drm/i915/i915_guc_submission.c 315 :internal: 316 317GuC Firmware Layout 318------------------- 319 320.. kernel-doc:: drivers/gpu/drm/i915/intel_guc_fwif.h 321 :doc: GuC Firmware Layout 322 323Tracing 324======= 325 326This sections covers all things related to the tracepoints implemented 327in the i915 driver. 328 329i915_ppgtt_create and i915_ppgtt_release 330---------------------------------------- 331 332.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 333 :doc: i915_ppgtt_create and i915_ppgtt_release tracepoints 334 335i915_context_create and i915_context_free 336----------------------------------------- 337 338.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 339 :doc: i915_context_create and i915_context_free tracepoints 340 341switch_mm 342--------- 343 344.. kernel-doc:: drivers/gpu/drm/i915/i915_trace.h 345 :doc: switch_mm tracepoint 346 347.. WARNING: DOCPROC directive not supported: !Cdrivers/gpu/drm/i915/i915_irq.c 348