linux_dsm_epyc7002/drivers/gpu/drm/i915
Kenneth Graunke 0f5418e564 drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters.
This patch makes the I915_PARAM_HAS_EXEC_CONSTANTS getparam return 0
(indicating the optional feature is not supported), and makes execbuf
always return -EINVAL if the flags are used.

Apparently, no userspace ever shipped which used this optional feature:
I checked the git history of Mesa, xf86-video-intel, libva, and Beignet,
and there were zero commits showing a use of these flags.  Kernel commit
72bfa19c8d apparently introduced the feature prematurely.  According
to Chris, the intention was to use this in cairo-drm, but "the use was
broken for gen6", so I don't think it ever happened.

'relative_constants_mode' has always been tracked per-device, but this
has actually been wrong ever since hardware contexts were introduced, as
the INSTPM register is saved (and automatically restored) as part of the
render ring context. The software per-device value could therefore get
out of sync with the hardware per-context value.  This meant that using
them is actually unsafe: a client which tried to use them could damage
the state of other clients, causing the GPU to interpret their BO
offsets as absolute pointers, leading to bogus memory reads.

These flags were also never ported to execlist mode, making them no-ops
on Gen9+ (which requires execlists), and Gen8 in the default mode.

On Gen8+, userspace can write these registers directly, achieving the
same effect.  On Gen6-7.5, it likely makes sense to extend the command
parser to support them.  I don't think anyone wants this on Gen4-5.

Based on a patch by Dave Gordon.

v3: Return -ENODEV for the getparam, as this is what we do for other
    obsolete features.  Suggested by Chris Wilson.

Cc: stable@vger.kernel.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92448
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170215093446.21291-1-kenneth@whitecape.org
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170313170433.26843-1-chris@chris-wilson.co.uk
(cherry picked from commit ef0f411f51)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2017-03-14 12:28:25 +02:00
..
gvt Merge tag 'gvt-fixes-2017-03-08' of https://github.com/01org/gvt-linux into drm-intel-fixes 2017-03-08 12:21:54 +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: Consolidate checks for memcpy-from-wc support 2017-01-06 16:02:07 +00:00
i915_debugfs.c drm/i915/huc: Add debugfs for HuC loading status check 2017-01-19 11:19:04 +02:00
i915_drv.c drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. 2017-03-14 12:28:25 +02:00
i915_drv.h drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. 2017-03-14 12:28:25 +02:00
i915_gem_batch_pool.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Remove i915_vma_create from VMA API 2017-01-19 10:17:39 +00:00
i915_gem_context.h drm/i915: Simplify testing for am-I-the-kernel-context? 2017-01-06 16:02:12 +00:00
i915_gem_dmabuf.c Merge remote-tracking branch 'ovl/for-viro' into for-linus 2017-03-02 06:41:22 -05:00
i915_gem_evict.c drm/i915: use correct node for handling cache domain eviction 2017-03-13 17:30:09 +02:00
i915_gem_execbuffer.c drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. 2017-03-14 12:28:25 +02:00
i915_gem_fence_reg.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_fence_reg.h drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_gtt.c drm/i915: A hotfix for making aliasing PPGTT work for GVT-g 2017-02-16 11:59:12 +02:00
i915_gem_gtt.h drm/i915: Eliminate superfluous i915_ggtt_view_normal 2017-01-14 16:18:36 +00:00
i915_gem_internal.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
i915_gem_object.h drm/i915: Use pagecache write to prepopulate shmemfs from pwrite-ioctl 2017-03-09 10:46:07 +02:00
i915_gem_render_state.c scripts/spelling.txt: add "aligment" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
i915_gem_render_state.h drm/i915: Reuse the active golden render state batch 2016-10-28 20:53:44 +01:00
i915_gem_request.c sched/headers: Prepare for the reduction of <linux/sched.h>'s signal API dependency 2017-03-02 08:42:37 +01:00
i915_gem_request.h drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff 2017-01-03 11:41:17 +02:00
i915_gem_shrinker.c Main pull request for drm for 4.10 kernel 2016-12-13 09:35:09 -08:00
i915_gem_stolen.c drm/i915/gvt: Disable access to stolen memory as a guest 2017-02-16 11:59:13 +02:00
i915_gem_tiling.c drm/i915: Reject set-tiling-ioctl with stride==0 and a tiling mode 2017-02-16 11:59:10 +02:00
i915_gem_timeline.c drm/i915: Assert all timeline requests are gone before fini 2017-01-05 15:34:40 +00:00
i915_gem_timeline.h drm/i915: Rename i915_gem_timeline.next_seqno to .seqno 2016-11-25 07:01:11 +00:00
i915_gem_userptr.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/mm.h> 2017-03-02 08:42:28 +01:00
i915_gem.c drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. 2017-03-14 12:28:25 +02:00
i915_gem.h drm/i915: introduce GEM_WARN_ON 2016-12-16 21:16:36 +00:00
i915_gpu_error.c drm/i915: Use __printf markup to silence compiler 2017-01-16 12:20:17 +00:00
i915_guc_reg.h drm/i915/huc: Add HuC fw loading support 2017-01-19 11:18:55 +02:00
i915_guc_submission.c drm/i915: Remove i915_vma_create from VMA API 2017-01-19 10:17:39 +00:00
i915_ioc32.c
i915_irq.c drm/i915: Only enable hotplug interrupts if the display interrupts are enabled 2017-03-14 12:27:20 +02:00
i915_memcpy.c
i915_mm.c
i915_oa_hsw.c drm/i915: Add more Haswell OA metric sets 2016-11-22 14:40:00 +01:00
i915_oa_hsw.h drm/i915: advertise available metrics via sysfs 2016-11-22 14:38:51 +01:00
i915_params.c drm/i915: Use the precomputed value for whether to enable command parsing 2016-11-24 13:52:34 +00:00
i915_params.h drm/i915: Use the precomputed value for whether to enable command parsing 2016-11-24 13:52:34 +00:00
i915_pci.c drm/i915: actually drive the BDW reserved IDs 2017-01-04 14:40:46 -02:00
i915_perf.c drm/i915: Simplify releasing context reference 2016-12-18 16:18:53 +00:00
i915_pvinfo.h
i915_reg.h Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
i915_suspend.c drm/i915: Make i915_save/restore_state and intel_i2c_reset take dev_priv 2016-12-01 18:01:23 +00:00
i915_sw_fence.c drm/i915: Flush the change in debugobject before reallocation 2017-01-16 12:21:19 +00:00
i915_sw_fence.h drm/i915: Hold a reference on the request for its fence chain 2016-12-05 11:00:32 +02:00
i915_sysfs.c drm/i915/glk: Convert a few more IS_BROXTON() to IS_GEN9_LP() 2017-01-10 11:03:57 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Extract reserving space in the GTT to a helper 2017-01-11 12:28:13 +00:00
i915_utils.h drm/i915: Move a few more utility macros to i915_utils.h 2017-01-05 21:02:04 +00:00
i915_vgpu.c drm/i915: Fix a typo in vgt_balloon_space() 2017-01-17 15:08:58 +00:00
i915_vgpu.h
i915_vma.c drm/i915: Remove the vma from the drm_mm if binding fails 2017-03-09 10:43:55 +02:00
i915_vma.h drm/i915: Remove i915_gem_object_to_ggtt() 2017-01-19 10:18:21 +00:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_atomic.c drm/i915: Move intel_atomic_get_shared_dpll_state() to intel_dpll_mgr.c 2017-01-02 11:31:53 +02:00
intel_audio.c Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
intel_bios.c drm/i915: Use range_overflows() 2017-01-06 16:02:11 +00:00
intel_bios.h drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET 2016-12-20 16:28:25 +02:00
intel_breadcrumbs.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
intel_color.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_crt.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
intel_csr.c drm/i915/DMC/GLK: Load DMC on GLK 2017-01-10 11:03:56 +02:00
intel_ddi.c drm/i915: Rename intel_shared_dpll_config to intel_shared_dpll_state 2016-12-30 09:26:10 +02:00
intel_device_info.c drm/i915/glk: Convert a few more IS_BROXTON() to IS_GEN9_LP() 2017-01-10 11:03:57 +02:00
intel_display.c drm/i915: Drain the freed state from the tail of the next commit 2017-03-09 10:47:31 +02:00
intel_dp_aux_backlight.c
intel_dp_link_training.c
intel_dp_mst.c drm/dp: Store drm_device in MST topology manager 2017-01-25 06:01:48 +01:00
intel_dp.c drm/i915: Avoid spurious WARNs about the wrong pipe in the PPS code 2017-02-16 11:59:13 +02:00
intel_dpio_phy.c drm/i915: Only poll DW3_A when init DDI PHY for ports B and C. 2016-12-02 12:16:25 -08:00
intel_dpll_mgr.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
intel_dpll_mgr.h drm/i915: Add dpll entrypoint for dumping hw state 2016-12-30 09:32:34 +02:00
intel_drv.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h> 2017-03-02 08:42:27 +01:00
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting 2016-12-20 16:28:38 +02:00
intel_dsi_pll.c drm/i915: relax uncritical udelay_range() 2016-12-16 11:22:01 +02:00
intel_dsi.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
intel_dsi.h
intel_dvo.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_engine_cs.c drm/i915: Remove i915_vma_create from VMA API 2017-01-19 10:17:39 +00:00
intel_fbc.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_fbdev.c drm/i915/fbdev: Stop repeating tile configuration on stagnation 2017-03-09 10:43:17 +02:00
intel_fifo_underrun.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_frontbuffer.c
intel_frontbuffer.h drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
intel_guc_fwif.h drm/i915/huc: Support HuC authentication 2017-01-19 11:19:07 +02:00
intel_guc_loader.c drm/i915/huc: Support HuC authentication 2017-01-19 11:19:07 +02:00
intel_guc_log.c drm/i915/guc: Move GuC log related functions into dedicated file 2017-01-18 07:29:04 +00:00
intel_gvt.c drm/i915: make intel_gvt_init() later instead of too early 2017-02-07 17:21:06 +08:00
intel_gvt.h drm/i915/gvt: clean up intel_gvt.h as interface for i915 core 2016-10-20 17:18:30 +08:00
intel_hangcheck.c drm/i915: Disable hangcheck when wedged 2016-11-22 17:42:17 +00:00
intel_hdmi.c Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
intel_hotplug.c drm/i915: Only enable hotplug interrupts if the display interrupts are enabled 2017-03-14 12:27:20 +02:00
intel_huc.c drm/i915/huc: Assert that HuC vma is placed in GuC accessible range 2017-01-20 19:59:57 +00:00
intel_i2c.c drm/i915: add some more "i" in platform names for consistency 2016-12-07 15:19:31 +02:00
intel_lpe_audio.c drm/i915: Enable VLV audio chicken bit for LPE audio 2017-02-03 16:19:08 +01:00
intel_lrc.c drm/i915: Restore context and pd for ringbuffer submission after reset 2017-02-16 11:59:11 +02:00
intel_lrc.h drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
intel_lspcon.c drm/i915/lspcon: Fix resume time initialization due to unasserted HPD 2017-02-16 11:59:10 +02:00
intel_lvds.c drm/i915: Intel panel detection cleanup 2016-12-13 17:25:26 +02:00
intel_mocs.c drm/i915/glk: Reuse broxton code for geminilake 2016-12-02 16:38:56 +02:00
intel_mocs.h drm/i915: Make various init functions take dev_priv 2016-12-01 18:01:15 +00:00
intel_modes.c
intel_opregion.c drm/i915: Fix not finding the VBT when it overlaps with OPREGION_ASLE_EXT 2017-02-16 11:59:14 +02:00
intel_overlay.c drm/i915: Eliminate superfluous i915_ggtt_view_normal 2017-01-14 16:18:36 +00:00
intel_panel.c drm/i915: clean up Hz to PWM for i965 2016-12-13 17:28:08 +02:00
intel_pipe_crc.c drm/i915: Avoid drm_atomic_state_put(NULL) on error paths 2017-01-18 13:47:22 +00:00
intel_pm.c drm/i915/gen9: Increase PCODE request timeout to 50ms 2017-03-09 10:44:25 +02:00
intel_psr.c drm/i915/psr: Fix compiler warnings for hsw_psr_disable() 2017-01-18 10:25:01 +00:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Restore context and pd for ringbuffer submission after reset 2017-02-16 11:59:11 +02:00
intel_ringbuffer.h drm/i915: request ring to be pinned above GUC_WOPCM_TOP 2016-12-24 10:06:59 +00:00
intel_runtime_pm.c drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating 2016-12-20 16:27:46 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: distinguish G33 and Pineview from each other 2016-12-07 23:28:33 +02:00
intel_sideband.c
intel_sprite.c drm/i915: Nuke skl_update_plane debug message from the pipe update critical section 2017-03-13 17:30:26 +02:00
intel_tv.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_uc.c drm/i915/guc: Move GuC log related functions into dedicated file 2017-01-18 07:29:04 +00:00
intel_uc.h drm/i915/huc: Support HuC authentication 2017-01-19 11:19:07 +02:00
intel_uncore.c drm/i915: Fix forcewake active domain tracking 2017-03-13 17:30:54 +02:00
intel_vbt_defs.h drm/915: Parsing the missed out DTD fields from the VBT 2016-12-23 15:13:39 +02:00
Kconfig drm/i915/gvt/kvmgt: add vfio/mdev support to KVMGT 2016-12-16 16:55:26 +08:00
Kconfig.debug drm/i915: Enable swfence debugobject support for i915.ko 2016-12-05 20:49:17 +00:00
Makefile Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00