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