linux_dsm_epyc7002/drivers/gpu/drm/i915
Daniel Vetter f9b61ff6bc drm/i915: Push vblank enable/disable past encoder->enable/disable
It is platform/output depenedent when exactly the pipe will start
running. Sometimes we just need the (cpu) pipe enabled, in other cases
the pch transcoder is enough and in yet other cases the (DP) port is
sending the frame start signal.

In a perfect world we'd put the drm_crtc_vblank_on call exactly where
the pipe starts running, but due to cloning and similar things this
will get messy. And the current approach of picking the most
conservative place for all combinations also doesn't work since that
results in legit vblank waits (in encoder->enable hooks, e.g. the 2
vblank waits for sdvo) failing.

Completely going back to the old world before

commit 51e31d49c8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Sep 15 12:36:02 2014 +0200

    drm/i915: Use generic vblank wait

isn't great either since screaming when the vblank wait work because
the pipe is off is kinda nice.

Pick a compromise and move the drm_crtc_vblank_on right before the
encoder->enable call. This is a lie on some outputs/platforms, but
after the ->enable callback the pipe is guaranteed to run everywhere.
So not that bad really. Suggested by Ville.

v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've
missed the ibx pipe B select w/a, which also has a vblank wait in the
disable function (while the pipe is obviously still running).

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-01-07 18:18:56 +01: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: Add GPGPU_THREADS_DISPATCHED to the register whitelist 2014-12-16 10:39:10 +01:00
i915_debugfs.c drm/i915: Implement a framework for batch buffer pools 2014-12-16 10:39:08 +01:00
i915_dma.c drm/i915: Support creation of unbound wc user mappings for objects 2015-01-06 09:08:00 +01:00
i915_drv.c drm/i915: Skip gunit save/restore for cherryview 2014-12-16 10:39:11 +01:00
i915_drv.h drm/i915: Move the ban period onto the context 2015-01-07 14:20:20 +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 drm/i915: Move the ban period onto the context 2015-01-07 14:20:20 +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: Tidy up execbuffer command parsing code 2014-12-16 10:39:10 +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
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_gem.c drm/i915: Move the ban period onto the context 2015-01-07 14:20:20 +01:00
i915_gpu_error.c drm/i915: Organize INSTDONE report for future. 2014-12-17 18:18:43 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Name the lrc irq handler correctly 2014-12-15 09:54:05 +01:00
i915_params.c drm/i915: tame the chattermouth (v2) 2014-12-16 10:39:13 +01:00
i915_reg.h drm/i915: Make sample_c messages go faster on Haswell. 2015-01-06 09:07:03 +01:00
i915_suspend.c drm/i915: Move FBC stuff to intel_fbc.c 2014-12-10 17:47:20 +01:00
i915_sysfs.c
i915_trace_points.c
i915_trace.h drm/i915: Additional request structure tracing 2014-12-06 01:46:27 +01:00
i915_ums.c
intel_acpi.c
intel_audio.c
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
intel_ddi.c drm/i915: Consolidate DDI clock reading out in a single function 2014-12-15 15:43:02 +01:00
intel_display.c drm/i915: Push vblank enable/disable past encoder->enable/disable 2015-01-07 18:18:56 +01:00
intel_dp_mst.c
intel_dp.c drm/i915: tame the chattermouth (v2) 2014-12-16 10:39:13 +01:00
intel_drv.h drm/i915: Move FBC stuff to intel_fbc.c 2014-12-10 17:47: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_dsi.c drm/i915: Software workaround for getting the HW status of DSI Port C on BYT 2014-12-10 17:47:22 +01:00
intel_dsi.h drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
intel_dvo.c
intel_fbc.c drm/i915: Introduce FBC DocBook. 2014-12-10 17:47:23 +01:00
intel_fbdev.c
intel_fifo_underrun.c
intel_frontbuffer.c
intel_hdmi.c drm/i915/chv: Enable AVI, SPD and HDMI infoframes for CHV. 2014-12-03 09:29:34 +01:00
intel_i2c.c
intel_lrc.c drm/i915: Warn about missing context state workarounds only once 2014-12-16 10:39:12 +01:00
intel_lrc.h drm/i915: Name the lrc irq handler correctly 2014-12-15 09:54:05 +01:00
intel_lvds.c
intel_modes.c
intel_opregion.c
intel_overlay.c drm/i915: Deal with video overlay on GPU reset 2014-12-03 09:35:24 +01:00
intel_panel.c
intel_pm.c drm/i915: Make sample_c messages go faster on Haswell. 2015-01-06 09:07:03 +01:00
intel_psr.c drm/i915: VLV/CHV PSR Software timer mode 2014-12-03 09:35:08 +01:00
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_renderstate.h
intel_ringbuffer.c drm/i915: Warn about missing context state workarounds only once 2014-12-16 10:39:12 +01:00
intel_ringbuffer.h drm/i915: s/init()/init_hw()/ in intel_engine_cs 2014-12-03 09:35:27 +01:00
intel_runtime_pm.c drm/i915: tame the chattermouth (v2) 2014-12-16 10:39:13 +01:00
intel_sdvo_regs.h
intel_sdvo.c
intel_sideband.c
intel_sprite.c drm/i915: Move FBC stuff to intel_fbc.c 2014-12-10 17:47:20 +01:00
intel_tv.c
intel_uncore.c drm/i915: Forcewake Register Range changes for CHV 2014-12-15 09:54:23 +01:00
Kconfig
Makefile drm/i915: Implement a framework for batch buffer pools 2014-12-16 10:39:08 +01:00