linux/drivers/gpu/drm/i915
Chris Wilson 57e8853181 drm/i915: Use VMA for ringbuffer tracking
Use the GGTT VMA as the primary cookie for handing ring objects as
the most common action upon the ring is mapping and unmapping which act
upon the VMA itself. By restructuring the code to work with the ring
VMA, we can shrink the code and remove a few cycles from context pinning.

v2: Move the flush of the object back to before the first pin. We use
the am-I-bound? query to only have to check the flush on the first
bind and so avoid stalling on active rings.
Lots of little renames and small hoops.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1471254551-25805-18-git-send-email-chris@chris-wilson.co.uk
2016-08-15 11:01:05 +01:00
..
gvt
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915/cmdparser: Remove stray intel_engine_cs *ring 2016-07-27 16:23:05 +01:00
i915_debugfs.c drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
i915_drv.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-15 10:41:47 +02:00
i915_drv.h drm/i915: Use VMA as the primary object for context state 2016-08-15 11:01:02 +01:00
i915_gem_batch_pool.c drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_batch_pool.h drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_context.c drm/i915: Only change the context object's domain when binding 2016-08-15 11:01:03 +01:00
i915_gem_dmabuf.c drm/i915: Support for creating write combined type vmaps 2016-08-12 13:06:36 +01:00
i915_gem_dmabuf.h
i915_gem_evict.c drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex 2016-08-05 10:54:37 +01:00
i915_gem_execbuffer.c drm/i915: Add convenience wrappers for vma's object get/put 2016-08-15 11:00:57 +01:00
i915_gem_fence.c drm/i915: Convert fence computations to use vma directly 2016-08-15 11:01:00 +01:00
i915_gem_gtt.c drm/i915: Move assertion for iomap access to i915_vma_pin_iomap 2016-08-15 11:01:04 +01:00
i915_gem_gtt.h drm/i915: Track pinned vma inside guc 2016-08-15 11:00:58 +01:00
i915_gem_render_state.c drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin() 2016-08-04 20:20:00 +01:00
i915_gem_render_state.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
i915_gem_request.c drm/i915: Remove redundant WARN_ON from __i915_add_request() 2016-08-15 11:00:53 +01:00
i915_gem_request.h drm/i915: Move setting of request->batch into its single callsite 2016-08-10 16:07:52 +01:00
i915_gem_shrinker.c drm/i915: Remove unused no-shrinker-steal 2016-08-05 10:54:39 +01:00
i915_gem_stolen.c drm/i915: Account for TSEG size when determining 865G stolen base 2016-08-11 17:20:42 +03:00
i915_gem_tiling.c drm/i915: Use VMA directly for checking tiling parameters 2016-08-15 11:01:01 +01:00
i915_gem_userptr.c drm/i915/userptr: Remove superfluous interruptible=false on waiting 2016-08-05 10:54:36 +01:00
i915_gem.c drm/i915: Always set the vma->pages 2016-08-15 11:00:54 +01:00
i915_gem.h
i915_gpu_error.c drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
i915_guc_reg.h
i915_guc_submission.c drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Move missed interrupt detection from hangcheck to breadcrumbs 2016-08-10 10:37:35 +01:00
i915_memcpy.c drm/i915: Use SSE4.1 movntdqa to accelerate reads from WC memory 2016-08-12 13:06:37 +01:00
i915_params.c drm/i915: Add a way to test the modeset done during gpu reset, v3. 2016-08-05 23:28:28 +03:00
i915_params.h drm/i915: Add a way to test the modeset done during gpu reset, v3. 2016-08-05 23:28:28 +03:00
i915_pci.c drm/i915: Add missing ring_mask to Pineview 2016-07-29 16:22:42 +01:00
i915_pvinfo.h
i915_reg.h drm/i915: Show RPS autotuning thresholds along with waitboost 2016-08-15 10:03:46 +01:00
i915_suspend.c drm/i915: Remove LVDS and PPS suspend time save/restore 2016-08-10 16:02:14 +03:00
i915_sysfs.c drm/i915: Fix up some stray to_i915(dev) after a recent merge 2016-07-28 07:28:17 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Remove surplus drm_device parameter to i915_gem_evict_something() 2016-08-04 20:19:50 +01:00
i915_vgpu.c drm/i915: Update missing kerneldoc 2016-07-19 10:34:24 +02:00
i915_vgpu.h
intel_acpi.c
intel_atomic_plane.c drm/i915: Use drm_plane_helper_check_state() 2016-08-08 14:19:56 -04:00
intel_atomic.c
intel_audio.c drm/i915: Acquire audio powerwell for HD-Audio registers 2016-08-04 18:17:20 +01:00
intel_bios.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Use RCU to annotate and enforce protection for breadcrumb's bh 2016-08-10 10:37:49 +01:00
intel_color.c drm/i915: Kill has_dsi_encoder 2016-07-07 13:10:20 +03:00
intel_crt.c drm/i915/vlv: Disable HPD in valleyview_crt_detect_hotplug() 2016-07-19 09:17:09 +02:00
intel_csr.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-05 10:36:15 +02:00
intel_ddi.c Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_device_info.c drm/i915: Split out runtime configuration of device info to its own file 2016-07-05 11:53:27 +01:00
intel_display.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-15 10:41:47 +02:00
intel_dp_aux_backlight.c
intel_dp_link_training.c
intel_dp_mst.c Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_dp.c drm/i915: Apply the PPS register unlock workaround more consistently 2016-08-10 16:01:42 +03:00
intel_dpio_phy.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dpll_mgr.c drm/i915: s/INTEL_OUTPUT_DISPLAYPORT/INTEL_OUTPUT_DP/ 2016-07-07 13:10:16 +03:00
intel_dpll_mgr.h
intel_drv.h Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-15 10:41:47 +02:00
intel_dsi_dcs_backlight.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi_panel_vbt.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi_pll.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi.c drm/i915: Kill has_dsi_encoder 2016-07-07 13:10:20 +03:00
intel_dsi.h
intel_dvo.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_engine_cs.c drm/i915: Store number of active engines in device info 2016-08-11 11:33:10 +01:00
intel_fbc.c Merge tag 'drm-intel-next-2016-08-08' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-08-15 16:53:57 +10:00
intel_fbdev.c Merge tag 'drm-intel-next-2016-08-08' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-08-15 16:53:57 +10:00
intel_fifo_underrun.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_frontbuffer.c drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_frontbuffer.h drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_guc_fwif.h
intel_guc_loader.c drm/i915: Track pinned vma inside guc 2016-08-15 11:00:58 +01:00
intel_guc.h drm/i915: Track pinned vma inside guc 2016-08-15 11:00:58 +01:00
intel_gvt.c
intel_gvt.h
intel_hdmi.c drm/i915: Simplify hdmi_12bpc_possible() 2016-07-07 13:10:24 +03:00
intel_hotplug.c drm/i915: Update missing kerneldoc 2016-07-19 10:34:24 +02:00
intel_i2c.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_lrc.c drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
intel_lrc.h drm/i915: Unify legacy/execlists submit_execbuf callbacks 2016-08-02 22:58:31 +01:00
intel_lvds.c drm/i915: Apply the PPS register unlock workaround more consistently 2016-08-10 16:01:42 +03:00
intel_mocs.c drm/i915: Rename struct intel_ringbuffer to struct intel_ring 2016-08-02 22:58:16 +01:00
intel_mocs.h drm/i915: rename 'ring' where it refers to an engine or engine_id 2016-07-21 09:59:41 +01:00
intel_modes.c drm: Remove superflous linux/fb.h includes 2016-08-12 10:41:39 +02:00
intel_opregion.c Linux 4.7 2016-07-26 17:26:29 +10:00
intel_overlay.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_panel.c drm/i915: Introduce Kabypoint PCH for Kabylake H/DT. 2016-07-15 15:51:30 +03:00
intel_pm.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-15 10:41:47 +02:00
intel_psr.c Merge tag 'drm-intel-next-2016-08-08' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-08-15 16:53:57 +10:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
intel_ringbuffer.c drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
intel_ringbuffer.h drm/i915: Use VMA for ringbuffer tracking 2016-08-15 11:01:05 +01:00
intel_runtime_pm.c drm/i915: Apply the PPS register unlock workaround more consistently 2016-08-10 16:01:42 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_sideband.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:33 +01:00
intel_sprite.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-15 10:41:47 +02:00
intel_tv.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_uncore.c Revert "drm/i915: Enable RC6 immediately" 2016-07-21 21:43:19 +01:00
intel_vbt_defs.h
Kconfig
Kconfig.debug drm/i915: Select DRM_VGEM for igt 2016-07-10 13:22:39 +01:00
Makefile drm/i915: Use SSE4.1 movntdqa to accelerate reads from WC memory 2016-08-12 13:06:37 +01:00