linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 2ccdf6a1c3 drm/i915: Pass intel_context to i915_request_create()
Start acquiring the logical intel_context and using that as our primary
means for request allocation. This is the initial step to allow us to
avoid requiring struct_mutex for request allocation along the
perma-pinned kernel context, but it also provides a foundation for
breaking up the complex request allocation to handle different scenarios
inside execbuf.

For the purpose of emitting a request from inside retirement (see the
next patch for engine power management), we also need to lift control
over the timeline mutex to the caller.

v2: Note that the request carries the active reference upon construction.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190424200717.1686-4-chris@chris-wilson.co.uk
2019-04-24 22:25:35 +01:00
..
gt drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
gvt drm/i915/gvt: Fix incorrect mask of mmio 0x22028 in gen8/9 mmio list 2019-04-16 16:52:51 +08:00
selftests drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
.gitignore drm/i915: add Makefile magic for testing headers are self-contained 2019-04-04 19:49:42 +03:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_active_types.h
i915_active.c
i915_active.h
i915_cmd_parser.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_debugfs.c drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
i915_drv.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_drv.h drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
i915_fixed.h
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_clflush.c
i915_gem_clflush.h
i915_gem_context_types.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_gem_context.c drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
i915_gem_context.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_gem_gtt.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_gem_internal.c
i915_gem_object.c
i915_gem_object.h drm/i915: Check domains for userptr on release 2019-03-31 12:46:52 +01:00
i915_gem_pm.c drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
i915_gem_pm.h drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
i915_gem_render_state.c
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Start writeback from the shrinker 2019-04-20 15:06:31 +01:00
i915_gem_stolen.c
i915_gem_tiling.c
i915_gem_userptr.c drm/i915: Check domains for userptr on release 2019-03-31 12:46:52 +01:00
i915_gem.c drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
i915_gem.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_gemfs.c
i915_gemfs.h
i915_globals.c drm/i915: Use static allocation for i915_globals_park() 2019-04-08 17:04:01 +01:00
i915_globals.h
i915_gpu_error.c drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
i915_gpu_error.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_ioc32.c
i915_irq.c drm/i915: fully convert the IRQ initialization macros to intel_uncore 2019-04-16 14:24:39 -07:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c
i915_oa_bdw.h
i915_oa_bxt.c
i915_oa_bxt.h
i915_oa_cflgt2.c
i915_oa_cflgt2.h
i915_oa_cflgt3.c
i915_oa_cflgt3.h
i915_oa_chv.c
i915_oa_chv.h
i915_oa_cnl.c
i915_oa_cnl.h
i915_oa_glk.c
i915_oa_glk.h
i915_oa_hsw.c
i915_oa_hsw.h
i915_oa_icl.c
i915_oa_icl.h
i915_oa_kblgt2.c
i915_oa_kblgt2.h
i915_oa_kblgt3.c
i915_oa_kblgt3.h
i915_oa_sklgt2.c
i915_oa_sklgt2.h
i915_oa_sklgt3.c
i915_oa_sklgt3.h
i915_oa_sklgt4.c
i915_oa_sklgt4.h
i915_params.c
i915_params.h
i915_pci.c drm/i915: Track HAS_RPS alongside HAS_RC6 in the device info 2019-04-19 15:52:26 +01:00
i915_perf.c drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
i915_pmu.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_pmu.h
i915_priolist_types.h drm/i915: Split out i915_priolist_types into its own header 2019-04-02 15:52:09 +01:00
i915_pvinfo.h
i915_query.c
i915_query.h
i915_reg.h drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
i915_request.c drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
i915_request.h drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
i915_scheduler_types.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_scheduler.c drm/i915: Bump ready tasks ahead of busywaits 2019-04-11 07:14:27 +01:00
i915_scheduler.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_selftest.h
i915_suspend.c drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
i915_sw_fence.c
i915_sw_fence.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c
i915_timeline_types.h drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_timeline.c drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_timeline.h drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.h
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_vma.h
icl_dsi.c drm/i915/icl: Fix port disable sequence for mipi-dsi 2019-04-10 15:39:45 +03:00
intel_acpi.c
intel_atomic_plane.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_atomic_plane.h drm/i915: extract intel_atomic_plane.h from intel_drv.h 2019-04-08 09:53:07 +03:00
intel_atomic.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_audio.c drm/i915: extract intel_audio.h from intel_drv.h 2019-04-08 09:51:22 +03:00
intel_audio.h drm/i915: extract intel_audio.h from intel_drv.h 2019-04-08 09:51:22 +03:00
intel_bios.c
intel_bios.h
intel_cdclk.c drm/i915/ehl: inherit icl cdclk init/uninit 2019-04-17 11:50:23 +03:00
intel_cdclk.h drm/i915/cdclk: have only one init/uninit function 2019-04-08 09:53:40 +03:00
intel_color.c drm/i915: extract intel_color.h from intel_drv.h 2019-04-08 09:52:14 +03:00
intel_color.h drm/i915: extract intel_color.h from intel_drv.h 2019-04-08 09:52:14 +03:00
intel_combo_phy.c drm/i915: Suppress spurious combo PHY B warning 2019-04-12 16:35:50 +03:00
intel_connector.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_connector.h drm/i915: extract intel_connector.h from intel_drv.h 2019-04-08 09:51:41 +03:00
intel_crt.c drm/i915: extract intel_connector.h from intel_drv.h 2019-04-08 09:51:41 +03:00
intel_crt.h drm/i915: extract intel_crt.h from intel_drv.h 2019-04-08 09:51:29 +03:00
intel_csr.c drm/i915: extract intel_csr.h from intel_drv.h 2019-04-08 09:51:49 +03:00
intel_csr.h drm/i915: extract intel_csr.h from intel_drv.h 2019-04-08 09:51:49 +03:00
intel_ddi.c drm/i915/icl: Fix MG_DP_MODE() register programming 2019-04-23 11:05:07 +03:00
intel_ddi.h drm/i915: extract intel_ddi.h from intel_drv.h 2019-04-08 09:51:36 +03:00
intel_device_info.c drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init 2019-04-03 10:55:43 +01:00
intel_device_info.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_display.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_display.h
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_dp_mst.c drm/i915: Set DP min_bpp to 8*3 for non-RGB output formats 2019-04-11 21:22:40 +03:00
intel_dp.c drm/i915: Do not enable FEC without DSC 2019-04-11 23:41:28 +03:00
intel_dp.h drm/i915: Set DP min_bpp to 8*3 for non-RGB output formats 2019-04-11 21:22:40 +03:00
intel_dpio_phy.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_dpll_mgr.c
intel_dpll_mgr.h
intel_drv.h drm/i915: Get power refs in encoder->get_power_domains() 2019-04-08 15:15:08 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c
intel_dsi.c
intel_dsi.h
intel_dvo.c drm/i915: extract intel_dvo.h from intel_drv.h 2019-04-08 09:53:25 +03:00
intel_dvo.h drm/i915: extract intel_dvo.h from intel_drv.h 2019-04-08 09:53:25 +03:00
intel_fbc.c drm/i915: extract intel_psr.h from intel_drv.h 2019-04-08 09:52:03 +03:00
intel_fbc.h drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
intel_fbdev.c drm/i915: extract intel_fbdev.h from intel_drv.h 2019-04-08 09:52:49 +03:00
intel_fbdev.h drm/i915: extract intel_fbdev.h from intel_drv.h 2019-04-08 09:52:49 +03:00
intel_fifo_underrun.c drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
intel_frontbuffer.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_frontbuffer.h drm/i915: make intel_frontbuffer.h self-contained 2019-04-08 09:51:18 +03:00
intel_guc_ads.c
intel_guc_ads.h
intel_guc_ct.c
intel_guc_ct.h
intel_guc_fw.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_guc_fw.h
intel_guc_fwif.h
intel_guc_log.c
intel_guc_log.h
intel_guc_reg.h
intel_guc_submission.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_guc_submission.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_guc.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_guc.h drm/i915/uc: Reserve upper range of GGTT 2019-04-20 08:19:12 +01:00
intel_gvt.c
intel_gvt.h
intel_hdcp.c drm/i915: extract intel_hdcp.h from intel_drv.h 2019-04-08 09:52:30 +03:00
intel_hdcp.h drm/i915: extract intel_hdcp.h from intel_drv.h 2019-04-08 09:52:30 +03:00
intel_hdmi.c drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_hdmi.h drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_hotplug.c
intel_huc_fw.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_huc_fw.h
intel_huc.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_huc.h drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_i2c.c
intel_lpe_audio.c
intel_lspcon.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_lspcon.h drm/i915: extract intel_lspcon.h from intel_drv.h 2019-04-08 09:52:21 +03:00
intel_lvds.c drm/i915: extract intel_lvds.h from intel_drv.h 2019-04-08 09:53:21 +03:00
intel_lvds.h drm/i915: extract intel_lvds.h from intel_drv.h 2019-04-08 09:53:21 +03:00
intel_opregion.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_opregion.h
intel_overlay.c drm/i915: Pass intel_context to i915_request_create() 2019-04-24 22:25:35 +01:00
intel_panel.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_panel.h drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_pipe_crc.c drm/i915: extract intel_pipe_crc.h from intel_drv.h 2019-04-08 09:53:12 +03:00
intel_pipe_crc.h drm/i915: extract intel_pipe_crc.h from intel_drv.h 2019-04-08 09:53:12 +03:00
intel_pm.c drm/i915: Track HAS_RPS alongside HAS_RC6 in the device info 2019-04-19 15:52:26 +01:00
intel_pm.h drm/i915: extract intel_pm.h from intel_drv.h 2019-04-08 09:52:43 +03:00
intel_psr.c drm/i915/psr: Do not enable PSR in interlaced mode for all GENs 2019-04-08 10:39:11 -07:00
intel_psr.h drm/i915: extract intel_psr.h from intel_drv.h 2019-04-08 09:52:03 +03:00
intel_quirks.c
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_runtime_pm.c drm/i915/ehl: Inherit Ice Lake conditional code 2019-04-12 15:15:01 -07:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_sdvo.h drm/i915: extract intel_sdvo.h from intel_drv.h 2019-04-08 09:52:26 +03:00
intel_sideband.c
intel_sprite.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_sprite.h drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_tv.c drm/i915: extract intel_tv.h from intel_drv.h 2019-04-08 09:53:16 +03:00
intel_tv.h drm/i915: extract intel_tv.h from intel_drv.h 2019-04-08 09:53:16 +03:00
intel_uc_fw.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_uc_fw.h drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_uc.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_uc.h
intel_uncore.c drm/i915: extract intel_pm.h from intel_drv.h 2019-04-08 09:52:43 +03:00
intel_uncore.h drm/i915: Convert i915_reset.c over to using uncore mmio 2019-04-05 22:03:24 +01:00
intel_vbt_defs.h
intel_vdsc.c
intel_wakeref.c drm/i915: Introduce struct intel_wakeref 2019-04-24 22:25:26 +01:00
intel_wakeref.h drm/i915: Introduce struct intel_wakeref 2019-04-24 22:25:26 +01:00
intel_wopcm.c
intel_wopcm.h
Kconfig drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Kconfig.debug
Kconfig.profile drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Makefile drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
Makefile.header-test drm/i915: Pull the GEM powermangement coupling into its own file 2019-04-24 22:25:28 +01:00
vlv_dsi_pll.c
vlv_dsi.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00