linux_dsm_epyc7002/drivers/gpu/drm/i915
Mario Kleiner 49b14a5ca2 drm/i915: Add Guess-o-matic for pageflip timestamping.
This patch changes the strategy for pageflip completion
timestamping. It detects if the pageflip completion
routine gets executed before or after drm_handle_vblank,
and thereby decides if the returned vblank count and
timestamp must be incremented by 1 frame(duration) or
not. It compares the current system time at invocation
against the current vblank timestamp. If the difference
is more than 0.9 video refresh interval durations then
it assumes the vblank timestamp and count are outdated
and need to be incremented and does so. Otherwise it
assumes a delayed pageflip irq and doesn't correct
the timestamp and count.

Advantage of this patch: Pageflip timestamping becomes
more robust against implementation errors and is
maintenance free for future GPU's.

Disadvantage: A few dozen (hundred?) nsecs extra
time spent in pageflip irq handler for each flip,
compared to hard-coded per-gpu settings?

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-16 21:02:26 +00:00
..
dvo_ch7xxx.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_ch7017.c drm/i915: Tidy dvo_ch7017 and print out which chip we detect 2010-09-28 23:33:17 +01:00
dvo_ivch.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_sil164.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_tfp410.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: Add self-refresh support on Sandybridge 2010-12-15 11:16:57 +00:00
i915_dma.c drm/i915: Add frame buffer compression on Sandybridge 2010-12-15 11:22:27 +00:00
i915_drv.c drm/i915: Add support for precise vblank timestamping (v2) 2010-12-16 21:02:24 +00:00
i915_drv.h drm/i915: Add support for precise vblank timestamping (v2) 2010-12-16 21:02:24 +00:00
i915_gem_debug.c drm/i915: Use drm_i915_gem_object as the preferred type 2010-11-23 20:19:10 +00:00
i915_gem_evict.c drm/i915: Avoid allocation for execbuffer object list 2010-11-25 21:19:26 +00:00
i915_gem_execbuffer.c drm/i915: Mark the user reloc error paths as unlikely 2010-12-09 19:46:22 +00:00
i915_gem_gtt.c drm/i915/gtt: Clear the cachelines upon resume 2010-12-09 19:46:23 +00:00
i915_gem_tiling.c drm/i915: Pipelined fencing [infrastructure] 2010-12-02 10:07:05 +00:00
i915_gem.c drm/i915: Poll for seqno completion if IRQ is disabled 2010-12-14 12:19:25 +00:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Add support for precise vblank timestamping (v2) 2010-12-16 21:02:24 +00:00
i915_mem.c
i915_reg.h drm/i915: Add support for precise vblank timestamping (v2) 2010-12-16 21:02:24 +00:00
i915_suspend.c drm/i915: Uncouple render/power ctx before suspending 2010-12-05 23:19:37 +00:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h drm/i915: Kill the get_fence tracepoint 2010-12-02 10:20:47 +00:00
intel_acpi.c drm/i915: i915 cannot provide switcher services. 2010-12-08 15:40:44 +10:00
intel_bios.c drm/i915: IS_IRONLAKE is synonymous with gen == 5 2010-10-21 19:08:39 +01:00
intel_bios.h drm/i915: Initialize panel timing registers if VBIOS did not 2010-10-19 09:17:24 +01:00
intel_crt.c drm/i915: Take advantage of auto-polling CRT hotplug detection on PCH hardware 2010-11-19 09:30:28 +00:00
intel_display.c drm/i915: Add Guess-o-matic for pageflip timestamping. 2010-12-16 21:02:26 +00:00
intel_dp.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-12-09 20:22:04 +00:00
intel_drv.h drm/i915: Uncouple render/power ctx before suspending 2010-12-05 23:19:37 +00:00
intel_dvo.c drm/i915/dvo: Fix panel and DDC i2c pins 2010-09-28 23:34:44 +01:00
intel_fb.c drm/i915: Use drm_i915_gem_object as the preferred type 2010-11-23 20:19:10 +00:00
intel_hdmi.c i915: enable AVI infoframe for intel_hdmi.c [v4] 2010-10-22 09:14:30 +01:00
intel_i2c.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-11-15 06:49:30 +00:00
intel_lvds.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-12-07 23:02:08 +00:00
intel_modes.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
intel_opregion.c drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB 2010-12-05 00:37:38 +00:00
intel_overlay.c drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB 2010-12-05 00:37:38 +00:00
intel_panel.c drm/i915/panel: Restore saved value of BLC_PWM_CTL 2010-11-23 09:54:17 +00:00
intel_ringbuffer.c Revert "drm/i915: Avoid using PIPE_CONTROL on Ironlake" 2010-12-15 10:15:25 +00:00
intel_ringbuffer.h drm/i915/ringbuffer: Make IRQ refcnting atomic 2010-12-14 11:34:46 +00:00
intel_sdvo_regs.h drm/i915/sdvo: Add missing TV filters 2010-08-09 11:24:29 -07:00
intel_sdvo.c drm/i915/sdvo: Only use the SDVO pin if it is in the valid range 2010-12-09 20:20:42 +00:00
intel_tv.c drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB 2010-12-05 00:37:38 +00:00
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00