linux/drivers/gpu/drm/i915
Chris Wilson 221c78623e drm/i915: Lift acquiring the vlv punit magic to a common sb-get
As we now employ a very heavy pm_qos around the punit access, we want to
minimise the number of synchronous requests by performing one for the
whole punit sequence rather than around individual accesses. The
sideband lock is used for this, so push the pm_qos into the sideband
lock acquisition and release, moving it from the lowlevel punit rw
routine to the callers. In the first step, we move the punit magic into
the common sideband lock so that we can acquire a bunch of ports
simultaneously, and if need be extend the workaround protection later.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190426081725.31217-2-chris@chris-wilson.co.uk
2019-04-26 10:20:28 +01:00
..
gt drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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 drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_active_types.h drm/i915: Pull i915_gem_active into the i915_active family 2019-02-05 17:20:11 +00:00
i915_active.c drm/i915: Protect i915_active iterators from the shrinker 2019-03-08 09:52:29 -08:00
i915_active.h drm/i915: Remove has-kernel-context 2019-03-08 10:57:12 +00:00
i915_cmd_parser.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_debugfs.c drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_drv.c drm/i915: Disable preemption and sleeping while using the punit sideband 2019-04-26 10:20:26 +01:00
i915_drv.h drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
i915_fixed.h drm/i915/fixed: cosmetic cleanup 2018-11-20 12:49:24 +02:00
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: Allow multiple user handles to the same VM 2019-04-25 07:33:57 +01:00
i915_gem_context.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem_dmabuf.c drm/i915: Flush pages on acquisition 2019-03-21 17:28:12 +00:00
i915_gem_evict.c drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem_execbuffer.c drm/i915: Explicitly pin the logical context for execbuf 2019-04-25 06:35:35 +01:00
i915_gem_fence_reg.c drm/i915: Switch to bitmap_zalloc() 2019-03-20 17:50:35 +00:00
i915_gem_fence_reg.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
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: Allow multiple user handles to the same VM 2019-04-25 07:33:57 +01:00
i915_gem_internal.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
i915_gem_object.c drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem_pm.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem_render_state.c drm/i915: Flush pages on acquisition 2019-03-21 17:28:12 +00:00
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 drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
i915_gem_tiling.c drm/i915: Switch to bitmap_zalloc() 2019-03-20 17:50:35 +00:00
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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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 drm/i915: Move over to intel_context_lookup() 2019-03-08 13:59:52 +00:00
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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_ioc32.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
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 drm/i915: Enable fastboot by default on Skylake and newer 2019-01-29 10:41:58 +01:00
i915_params.h drm/i915: Enable fastboot by default on Skylake and newer 2019-01-29 10:41:58 +01:00
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 Merge back earlier PM core material for v5.1. 2019-02-24 21:20:27 +01:00
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 drm/i915: Mark up vGPU support for full-ppgtt 2019-03-15 09:04:54 +00:00
i915_query.c drm/i915/query: Split out query item checks 2019-02-26 10:32:57 +00:00
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: Explicitly pin the logical context for execbuf 2019-04-25 06:35:35 +01:00
i915_request.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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 drm/i915/selftests: Apply a subtest filter 2019-01-29 19:59:57 +00:00
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 drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_sw_fence.h drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
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 drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_user_extensions.h drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_utils.h Merge drm/drm-next into drm-intel-next-queued 2019-03-27 18:23:53 +02:00
i915_vgpu.c drm/i915: rename raw reg access functions 2019-03-26 19:15:15 +00:00
i915_vgpu.h drm/i915: Mark up vGPU support for full-ppgtt 2019-03-15 09:04:54 +00:00
i915_vma.c drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_vma.h drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
icl_dsi.c drm/i915/icl: Fix port disable sequence for mipi-dsi 2019-04-10 15:39:45 +03:00
intel_acpi.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
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 drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-25 15:16:33 +02:00
intel_bios.h
intel_cdclk.c drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01: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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
intel_display.h drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01: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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
intel_dpll_mgr.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
intel_dpll_mgr.h drm/i915: Nuke icl_calc_dp_combo_pll_link() 2019-03-19 12:57:55 +02:00
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 drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
intel_dsi.c drm/i915: Determine DSI panel orientation from VBT 2018-11-13 17:20:32 +02:00
intel_dsi.h drm/i915: Adjust DSI fixed mode handling 2019-03-22 18:41:39 +02:00
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 drm/i915: Track the pinned kernel contexts on each engine 2019-03-08 14:00:02 +00:00
intel_guc_ads.h
intel_guc_ct.c drm/i915/guc: Support for extended GuC notification messages 2019-03-24 11:31:47 +00:00
intel_guc_ct.h drm/i915/guc: Splitting CT channel open/close functions 2019-02-20 23:53:04 +00:00
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 drm/i915/guc: Flush the residual log capture irq on disabling 2019-02-22 11:25:32 +00:00
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 drm/i915: Enable gfx virtualization for Coffeelake platform 2019-01-10 11:38:34 +08:00
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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01: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 drm/i915: Rename HAS_GMCH 2019-02-05 09:43:23 -08:00
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 drm/i915: intel_wait_for_register_fw to uncore 2019-03-26 20:16:45 +00:00
intel_lpe_audio.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
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 drm/i915: Fixup stub definitions for intel_opregion_suspend|resume 2018-11-30 09:46:31 +00:00
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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +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: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01: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 drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
intel_uc.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
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 drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time 2019-03-13 14:20:19 -07:00
intel_vdsc.c drm/dsc: Split DSC PPS and SDP header initialisations 2019-03-05 13:24:34 -05:00
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 drm/i915/uc: add dev_priv parameter to intel_uc_is_using_* functions 2018-12-31 15:27:23 +02:00
intel_wopcm.h
Kconfig drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Kconfig.debug drm/i915: Track all held rpm wakerefs 2019-01-14 16:17:50 +00:00
Kconfig.profile drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Makefile drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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 drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00
vlv_dsi.c drm/i915: Lift acquiring the vlv punit magic to a common sb-get 2019-04-26 10:20:28 +01:00