android_kernel_oneplus_msm8998/drivers/gpu/drm/i915
Daniel Vetter e62b59e413 drm/i915: Simplify flush_cpu_write_domain
We can push down the decision whether to force flushing into the
implementation since in all places that matter obj->pin_display is
accurate already. The only place where the optimization really matters
is the sw_finish_ioctl, and that already checks for obj->pin_display
on its own.

I suspect that this was simply an artifact of how

commit 2c22569bba
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 9 12:26:45 2013 +0100

    drm/i915: Update rules for writing through the LLC with the cpu

evolved - only v2 added the pin_display tracking.

Note that we still retain the gist of this logic from the above commit
with the explicit force argument for the low-level clflush function.

Ville noted in his review that there's a slight behavioural change in
the set_to_gtt_domain function, which now also will flush display
plane data. This opens-open the potential for userspace to start doing
buggy things by omitting the sw_finish_ioctl, which is why I've
rejected a functional equivalent patch from Ville a while ago:

http://lists.freedesktop.org/archives/intel-gfx/2013-November/036421.html

But on second consideration it's not that evil, and in any case the
justification here is more clarity, not allowing crazy userspace.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-27 09:51:08 +01: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 GPGPU_THREADS_DISPATCHED to the register whitelist 2014-12-16 10:39:10 +01:00
i915_debugfs.c drm/i915/skl: Adding power domains for AUX controllers 2015-01-27 09:50:58 +01:00
i915_dma.c drm/i915: add I915_PARAM_HAS_BSD2 to i915_getparam 2015-01-27 09:51:05 +01:00
i915_drv.c drm/i915: Rename the forcewake get/put functions 2015-01-27 09:50:57 +01:00
i915_drv.h drm/i915: Performed deferred clflush inside set-cache-level 2015-01-27 09:51:07 +01:00
i915_gem.c drm/i915: Simplify flush_cpu_write_domain 2015-01-27 09:51:08 +01:00
i915_gem_batch_pool.c drm/i915: Mark shadow batch buffers as purgeable 2014-12-16 10:39:09 +01:00
i915_gem_context.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Add some extra guards in evict_vm 2015-01-06 09:07:59 +01:00
i915_gem_execbuffer.c drm/i915: Specify bsd rings through exec flag 2015-01-27 09:51:05 +01:00
i915_gem_gtt.c drm/i915: Organize bind_vma funcs 2014-12-17 18:23:12 +01:00
i915_gem_gtt.h drm/i915: Infrastructure for supporting different GGTT views per object 2014-12-15 11:25:04 +01: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_stolen.c drm/i915: Don't complain about stolen conflicts on gen3 2014-12-10 11:11:28 +02:00
i915_gem_tiling.c drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_userptr.c
i915_gpu_error.c drm/i915: Removed duplicate members from submit_request 2015-01-27 09:50:52 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
i915_params.c drm/i915: tame the chattermouth (v2) 2014-12-16 10:39:13 +01:00
i915_reg.h drm/i915/skl: Gen9 coarse power gating 2015-01-27 09:51:00 +01:00
i915_suspend.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_sysfs.c drm/i915: Rename 'reg' to 'clk_reg' to unconfuse it from the other 'reg' 2015-01-27 09:50:47 +01:00
i915_trace.h drm/i915: Additional request structure tracing 2014-12-06 01:46:27 +01:00
i915_trace_points.c
i915_ums.c
intel_acpi.c
intel_atomic_plane.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_audio.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_bios.c Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_bios.h Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_crt.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_ddi.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_display.c drm/i915: Use sizeof(*fb) not sizeof(struct ...) in get_initial_plane_config() 2015-01-27 09:51:08 +01:00
intel_dp.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_dp_mst.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_drv.h drm/i915: Rename plane_config to initial_plane_config 2015-01-27 09:51:04 +01:00
intel_dsi.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_dsi.h drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
intel_dsi_cmd.c drm/i915: Dual link needs Shutdown and Turn on packet for both ports 2014-12-05 15:28:26 +01:00
intel_dsi_cmd.h drm/i915: Added port as parameter to the functions which does read/write of DSI Controller 2014-12-04 12:21:58 +01:00
intel_dsi_panel_vbt.c drm/i915: Changes related to the sequence port no for 2014-12-15 09:54:22 +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: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_fbc.c drm/i915: Rename the forcewake get/put functions 2015-01-27 09:50:57 +01:00
intel_fbdev.c drm/i915: Rename plane_config to initial_plane_config 2015-01-27 09:51:04 +01:00
intel_fifo_underrun.c
intel_frontbuffer.c
intel_hdmi.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_i2c.c
intel_lrc.c drm/i915: Rename unpin_count to pin_count 2015-01-27 09:51:06 +01:00
intel_lrc.h drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request 2015-01-27 09:50:53 +01:00
intel_lvds.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_modes.c
intel_opregion.c
intel_overlay.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_panel.c drm/i915: Embedded struct drm_crtc_state in intel_crtc_state 2015-01-27 09:50:48 +01:00
intel_pm.c drm/i915/skl: Gen9 coarse power gating 2015-01-27 09:51:00 +01:00
intel_psr.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01: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 drm/i915: Rename the forcewake get/put functions 2015-01-27 09:50:57 +01:00
intel_ringbuffer.h drm/i915: Remove FIXME_lrc_ctx backpointer 2015-01-27 09:50:53 +01:00
intel_runtime_pm.c drm/i915/skl: Adding power domains for AUX controllers 2015-01-27 09:50:58 +01:00
intel_sdvo.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Increase the range of sideband address. 2015-01-27 09:50:43 +01:00
intel_sprite.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_tv.c drm/i915: Embedded struct drm_crtc_state in intel_crtc_state 2015-01-27 09:50:48 +01:00
intel_uncore.c drm/i915: Enum forcewake domains and domain identifiers 2015-01-27 09:50:57 +01:00
Kconfig
Makefile drm/i915: Move to atomic plane helpers (v9) 2015-01-12 23:59:31 +01:00