linux-stable/drivers/gpu/drm/i915
Oscar Mateo 8c8579176a drm/i915/bdw: A bit more advanced LR context alloc/free
Now that we have the ability to allocate our own context backing objects
and we have multiplexed one of them per engine inside the context structs,
we can finally allocate and free them correctly.

Regarding the context size, reading the register to calculate the sizes
can work, I think, however the docs are very clear about the actual
context sizes on GEN8, so just hardcode that and use it.

v2: Rebased on top of the Full PPGTT series. It is important to notice
that at this point we have one global default context per engine, all
of them using the aliasing PPGTT (as opposed to the single global
default context we have with legacy HW contexts).

v3:
- Go back to one single global default context, this time with multiple
  backing objects inside.
- Use different context sizes for non-render engines, as suggested by
  Damien (still hardcoded, since the information about the context size
  registers in the BSpec is, well, *lacking*).
- Render ctx size is 20 (or 19) pages, but not 21 (caught by Damien).
- Move default context backing object creation to intel_init_ring (so
  that we don't waste memory in rings that might not get initialized).

v4:
- Reuse the HW legacy context init/fini.
- Create a separate free function.
- Rename the functions with an intel_ preffix.

v5: Several rebases to account for the changes in the previous patches.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net> (v1)
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:08:18 +02:00
..
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
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: A bit more advanced LR context alloc/free 2014-08-11 16:08:18 +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_gem_context.c drm/i915/bdw: A bit more advanced LR context alloc/free 2014-08-11 16:08:18 +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_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.h drm/i915: s/intel_ring_buffer/intel_engine_cs 2014-05-22 23:01:05 +02:00
i915_trace_points.c
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.c drm/i915: Demote the DRRS messages to debug messages 2014-08-08 17:43:49 +02:00
intel_dp_mst.c drm/i915: fix build without fbdev. 2014-07-22 20:11:29 +10:00
intel_drv.h drm/i915: Free pending page flip events at .preclose() 2014-08-08 17:43:58 +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_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_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: A bit more advanced LR context alloc/free 2014-08-11 16:08:18 +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.h drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +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_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.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_sdvo_regs.h
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