linux_dsm_epyc7002/drivers/gpu/drm/i915
Oscar Mateo c9e003af2d drm/i915/bdw: Introduce one context backing object per engine
A context backing object only makes sense for a given engine (because
it holds state data specific to that engine).

In legacy ringbuffer sumission mode, the only MI_SET_CONTEXT we really
perform is for the render engine, so one backing object is all we nee.

With Execlists, however, we need backing objects for every engine, as
contexts become the only way to submit workloads to the GPU. To tackle
this problem, we multiplex the context struct to contain <no-of-engines>
objects.

Originally, I colored this code by instantiating one new context for
every engine I wanted to use, but this change suggested by Brad Volkin
makes it more elegant.

v2: Leave the old backing object pointer behind. Daniel Vetter suggested
using a union, but it makes more sense to keep rcs_state as a NULL
pointer behind, to make sure no one uses it incorrectly when Execlists
are enabled, similar to what he suggested for ring->buffer (Rusty's API
level 5).

v3: Use the name "state" instead of the too-generic "obj", so that it
mirrors the name choice for the legacy rcs_state.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-08-11 16:04:16 +02:00
..
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: Add some L3 registers to the parser whitelist 2014-06-18 00:48:35 +02:00
i915_debugfs.c drm/i915: fix i915_interrupt_info on BDW 2014-08-09 10:57:18 +02:00
i915_dma.c drm/i915: Agnostic INTEL_INFO 2014-08-11 13:44:48 +02:00
i915_drv.c Revert "drm/i915: Enable semaphores on BDW" 2014-08-08 16:22:19 +02:00
i915_drv.h drm/i915/bdw: Introduce one context backing object per engine 2014-08-11 16:04:16 +02:00
i915_gem_context.c drm/i915/bdw: Initialization for Logical Ring Contexts 2014-08-11 16:04:11 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem_evict.c drm/i915: Prevent negative relocation deltas from wrapping 2014-05-27 11:18:40 +03:00
i915_gem_execbuffer.c drm/i915: Simplify relocate_entry_gtt() and make 64-bit safe 2014-08-11 14:16:04 +02:00
i915_gem_gtt.c drm/i915: clean up PPGTT checking logic 2014-08-08 17:43:58 +02:00
i915_gem_gtt.h drm/i915: clean up PPGTT checking logic 2014-08-08 17:43:58 +02:00
i915_gem_render_state.c drm/i915: fix freeze with blank screen booting highmem 2014-07-22 08:10:36 +02:00
i915_gem_stolen.c Linux 3.16 2014-08-05 09:04:59 +10:00
i915_gem_tiling.c drm/i915: Remove fenced_gpu_access and pending_fenced_gpu_access 2014-08-11 12:20:25 +02:00
i915_gem_userptr.c drm/i915/userptr: Keep spin_lock/unlock in the same block 2014-07-25 09:39:03 +02:00
i915_gem.c drm/i915/bdw: Macro for LRCs and module option for Execlists 2014-08-11 16:00:27 +02:00
i915_gpu_error.c drm/i915: Fix DEIER and GTIER collecting for BDW. 2014-08-07 14:04:08 +02:00
i915_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
i915_irq.c drm/i915: Fix erroneous conversion to u8 2014-08-08 20:52:31 +02:00
i915_params.c drm/i915/bdw: Macro for LRCs and module option for Execlists 2014-08-11 16:00:27 +02:00
i915_reg.h drm/i915: Add sprite watermark programming for VLV and CHV 2014-08-08 17:44:00 +02:00
i915_suspend.c drm/i915: disable GT power saving early during system suspend 2014-05-22 21:53:27 +02:00
i915_sysfs.c drm/i915/chv: calculate rc6 residency correctly 2014-07-12 11:13:47 +02:00
i915_trace_points.c
i915_trace.h drm/i915: s/intel_ring_buffer/intel_engine_cs 2014-05-22 23:01:05 +02:00
i915_ums.c
intel_acpi.c
intel_bios.c drm/i915: Gather the HDMI level shifter logic into one place 2014-08-08 17:43:46 +02:00
intel_bios.h drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_crt.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
intel_ddi.c drm/i915: Fix wrong number of HDMI translation entries 2014-08-11 11:29:29 +02:00
intel_display.c drm/i915: Make intel_disable_shared_dpll() static 2014-08-11 13:27:26 +02:00
intel_dp_mst.c drm/i915: fix build without fbdev. 2014-07-22 20:11:29 +10:00
intel_dp.c drm/i915: Demote the DRRS messages to debug messages 2014-08-08 17:43:49 +02:00
intel_drv.h drm/i915: Free pending page flip events at .preclose() 2014-08-08 17:43:58 +02:00
intel_dsi_cmd.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi_cmd.h drm/i915: wait for all DSI FIFOs to be empty 2014-08-07 11:07:15 +02:00
intel_dsi_panel_vbt.c drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dsi_pll.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi.h drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dvo.c Merge tag 'drm-intel-next-2014-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-09 10:38:42 +10:00
intel_fbdev.c drm/i915: fix initial fbdev setup warnings 2014-07-24 10:27:42 +10:00
intel_hdmi.c drm/i915: Introduce a for_each_intel_encoder() macro 2014-08-08 17:43:50 +02:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lrc.c drm/i915/bdw: Initialization for Logical Ring Contexts 2014-08-11 16:04:11 +02:00
intel_lrc.h drm/i915/bdw: Initialization for Logical Ring Contexts 2014-08-11 16:04:11 +02:00
intel_lvds.c drm/i915: Introduce a for_each_intel_encoder() macro 2014-08-08 17:43:50 +02:00
intel_modes.c
intel_opregion.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_overlay.c drm/i915: use helpers 2014-07-18 14:25:15 +10:00
intel_panel.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_pm.c drm/i915: Remove set but unused 'gt_perf_status' 2014-08-11 13:27:34 +02:00
intel_renderstate_gen6.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen7.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen8.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate.h drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_ringbuffer.c drm/i915: Double check ring is idle before declaring the GPU wedged 2014-08-11 13:33:49 +02:00
intel_ringbuffer.h drm/i915: Don't accumulate hangcheck score on forward progress 2014-08-07 14:04:07 +02:00
intel_sdvo_regs.h
intel_sdvo.c Merge tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-08 11:04:35 +10:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Add rotation property for sprites 2014-08-08 17:43:53 +02:00
intel_tv.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
intel_uncore.c drm/i915: BDW can also detect unclaimed registers 2014-07-23 07:05:37 +02:00
Kconfig drm/i915: Ditch UMS config option 2014-07-24 10:59:53 +02:00
Makefile drm/i915/bdw: New source and header file for LRs, LRCs and Execlists 2014-08-11 16:00:07 +02:00