linux-hardened/drivers/gpu/drm/i915
Daniel Vetter 0875546c53 drm/i915: Fix up the vma aliasing ppgtt binding
Currently we have the problem that the decision whether ptes need to
be (re)written is splattered all over the codebase. Move all that into
i915_vma_bind. This needs a few changes:
- Just reuse the PIN_* flags for i915_vma_bind and do the conversion
  to vma->bound in there to avoid duplicating the conversion code all
  over.
- We need to make binding for EXECBUF (i.e. pick aliasing ppgtt if
  around) explicit, add PIN_USER for that.
- Two callers want to update ptes, give them a PIN_UPDATE for that.

Of course we still want to avoid double-binding, but that should be
taken care of:
- A ppgtt vma will only ever see PIN_USER, so no issue with
  double-binding.
- A ggtt vma with aliasing ppgtt needs both types of binding, and we
  track that properly now.
- A ggtt vma without aliasing ppgtt could be bound twice. In the
  lower-level ->bind_vma functions hence unconditionally set
  GLOBAL_BIND when writing the ggtt ptes.

There's still a bit room for cleanup, but that's for follow-up
patches.

v2: Fixup fumbles.

v3: s/PIN_EXECBUF/PIN_USER/ for clearer meaning, suggested by Chris.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-04-23 21:06:39 +02:00
..
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c Enabled dithering in the intel VCH DVO for 18bpp pipelines. 2015-03-30 16:39:31 +02:00
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Tidy batch pool logic 2015-04-10 08:56:04 +02:00
i915_debugfs.c drm/i915: fix semicolon.cocci warnings 2015-04-16 12:59:57 +02:00
i915_dma.c Merge branch 'topic/bxt-stage1' into drm-intel-next-queued 2015-04-14 14:00:56 +02:00
i915_drv.c drm/i915/bxt: Add DC9 Trigger sequence 2015-04-16 09:27:17 +02:00
i915_drv.h drm/i915: Fix up the vma aliasing ppgtt binding 2015-04-23 21:06:39 +02:00
i915_gem.c drm/i915: Fix up the vma aliasing ppgtt binding 2015-04-23 21:06:39 +02:00
i915_gem_batch_pool.c drm/i915: Split batch pool into size buckets 2015-04-10 08:56:05 +02:00
i915_gem_batch_pool.h drm/i915: Split batch pool into size buckets 2015-04-10 08:56:05 +02:00
i915_gem_context.c drm/i915: Don't use atomics for pg_dirty_rings 2015-04-23 21:06:02 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: kerneldoc for i915_gem_shrinker.c 2015-03-20 11:48:16 +01:00
i915_gem_execbuffer.c drm/i915: Fix up the vma aliasing ppgtt binding 2015-04-23 21:06:39 +02:00
i915_gem_gtt.c drm/i915: Fix up the vma aliasing ppgtt binding 2015-04-23 21:06:39 +02:00
i915_gem_gtt.h drm/i915: Move PTE_READ_ONLY to ->pte_encode vfunc 2015-04-20 08:59:14 -07:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Simplify object is-pinned checking for shrinker 2015-04-10 10:58:34 +02:00
i915_gem_stolen.c drm/i915: use proper FBC base register on all new platforms 2015-04-09 15:57:46 +02:00
i915_gem_tiling.c drm/i915: Simplify i915_gem_obj_is_pinned() test for set-tiling 2015-04-16 11:20:29 +02:00
i915_gem_userptr.c drm/i915: Prevent use-after-free in invalidate_range_start callback 2015-02-05 16:31:30 +02:00
i915_gpu_error.c drm/i915: Record ring->start address in error state 2015-04-10 08:56:07 +02:00
i915_ioc32.c
i915_irq.c drm/i915/bxt: Enable GMBUS IRQ 2015-04-14 14:53:04 +02:00
i915_params.c drm/i915: Add module param to test the load detect code 2015-03-27 11:22:52 +01:00
i915_reg.h drm/i915/bxt: VSwing programming sequence 2015-04-16 11:42:39 +02:00
i915_suspend.c drm/i915: Remove regfile code&data for UMS suspend/resume 2015-02-27 18:10:39 +01:00
i915_sysfs.c drm/i915/skl: Updated the act_freq_mhz_show sysfs function 2015-03-17 22:30:25 +01:00
i915_trace.h drm/i915: Remove request->uniq 2015-04-10 10:41:11 +02:00
i915_trace_points.c
i915_vgpu.c drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
i915_vgpu.h drm/i915: Add ULL postfix to VGT_MAGIC constant 2015-03-17 22:30:18 +01:00
intel_acpi.c
intel_atomic.c drm/i915: copy staged scaler state from drm state to crtc->config. 2015-04-13 11:44:09 +02:00
intel_atomic_plane.c drm/i915/skl: Support for 90/270 rotation 2015-04-10 16:16:39 +02:00
intel_audio.c drm/i915/audio: remove duplicated include from intel_audio.c 2015-04-16 17:53:15 +02:00
intel_bios.c drm/i915: Fix the VBT child device parsing for BSW 2015-04-10 08:56:14 +02:00
intel_bios.h drm/i915: Fix the VBT child device parsing for BSW 2015-04-10 08:56:14 +02:00
intel_crt.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_ddi.c drm/i915/bxt: VSwing programming sequence 2015-04-16 11:42:39 +02:00
intel_display.c drm/i915/skl: Support Y tiling in MMIO flips 2015-04-20 10:26:47 -07:00
intel_dp.c drm/i915: Add a delay in Displayport AUX transactions for compliance testing 2015-04-16 13:31:46 +02:00
intel_dp_mst.c drm/i915/bxt: Restrict PORT_CLK_SEL programming below gen9 2015-04-16 11:29:05 +02:00
intel_drv.h drm/i915: Add automated testing support for Displayport compliance testing 2015-04-16 13:26:43 +02:00
intel_dsi.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_dsi.h drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein 2015-01-29 16:57:14 +01:00
intel_dsi_pll.c drm/i915: Use DSI Pll1 for enabling MIPI DSI on Port C 2014-12-10 17:47:21 +01:00
intel_dvo.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_fbc.c drm/i915: kill i915.powersave 2015-03-26 13:04:23 +01:00
intel_fbdev.c drm/i915: Pass in plane state when (un)pinning frame buffers 2015-03-23 15:00:57 +01:00
intel_fifo_underrun.c drm/i915: Check for driver readyness before handling an underrun interrupt 2015-03-04 10:04:19 +02:00
intel_frontbuffer.c drm/i915: PSR VLV: Add single frame update. 2015-04-14 19:15:23 +02:00
intel_hdmi.c drm/i915/vlv: check port in infoframe_enabled v2 2015-04-16 11:20:30 +02:00
intel_i2c.c drm/i915: add bxt gmbus support 2015-04-14 14:01:55 +02:00
intel_lrc.c Merge branch 'topic/bxt-stage1' into drm-intel-next-queued 2015-04-14 14:00:56 +02:00
intel_lrc.h drm/i915: Move common request allocation code into a common function 2015-04-01 07:54:30 +02:00
intel_lvds.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_modes.c
intel_opregion.c drm/i915: Remove DRIVER_MODESET checks from modeset code 2015-02-27 18:10:53 +01:00
intel_overlay.c drm/i915: Allow disabling the destination colorkey for overlay 2015-04-10 08:55:54 +02:00
intel_panel.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
intel_pm.c drm/i915: Re-adjusting rc6 promotional timer for chv 2015-04-16 16:05:24 +02:00
intel_psr.c drm/i915: PSR VLV: Add single frame update. 2015-04-14 19:15:23 +02:00
intel_renderstate.h
intel_renderstate_gen6.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen7.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen8.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen9.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_ringbuffer.c Merge branch 'topic/bxt-stage1' into drm-intel-next-queued 2015-04-14 14:00:56 +02:00
intel_ringbuffer.h drm/i915: Split the batch pool by engine 2015-04-10 08:56:04 +02:00
intel_runtime_pm.c drm/i915/bxt: Implement enable/disable for Display C9 state 2015-04-16 09:20:16 +02:00
intel_sdvo.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Correct the IOSF Dev_FN field for IOSF transfers 2015-02-09 14:26:19 +02:00
intel_sprite.c Merge branch 'topic/bxt-stage1' into drm-intel-next-queued 2015-04-14 14:00:56 +02:00
intel_tv.c drm/i915: Allocate connector state together with the connectors 2015-04-13 11:23:25 +02:00
intel_uncore.c drm/i915: Reduce locking in execlist command submission 2015-04-10 10:31:44 +02:00
Kconfig drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
Makefile drm/i915: Extract i915_gem_shrinker.c 2015-03-20 11:48:15 +01:00