From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH 5/5] drm/i915: Use DOUBLE_BUFFER_CTL on top of vblank evasion for GEN9+.
Date: Fri, 9 Feb 2018 10:54:04 +0100 [thread overview]
Message-ID: <20180209095404.76418-6-maarten.lankhorst@linux.intel.com> (raw)
In-Reply-To: <20180209095404.76418-1-maarten.lankhorst@linux.intel.com>
This way, if somehow we wait too long there won't be much damage done..
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 3 +++
drivers/gpu/drm/i915/intel_sprite.c | 6 ++++++
2 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index e9c79b560823..6fb9239b786a 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6588,6 +6588,9 @@ enum {
#define DIGITAL_PORTA_HOTPLUG_SHORT_DETECT (1 << 0)
#define DIGITAL_PORTA_HOTPLUG_LONG_DETECT (2 << 0)
+#define DOUBLE_BUFFER_CTL _MMIO(0x44500)
+#define DOUBLE_BUFFER_CTL_GLOBAL_DISABLE (1 << 0)
+
/* refresh rate hardware control */
#define RR_HW_CTL _MMIO(0x45300)
#define RR_HW_LOW_POWER_FRAMES_MASK 0xff
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 094b331b522d..f0c378ecb8ae 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -169,6 +169,9 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state)
crtc->debug.start_vbl_time = ktime_get();
crtc->debug.start_vbl_count = __intel_crtc_get_vblank_counter(crtc);
+ if (INTEL_GEN(dev_priv) >= 9)
+ I915_WRITE_FW(DOUBLE_BUFFER_CTL, DOUBLE_BUFFER_CTL_GLOBAL_DISABLE);
+
trace_i915_pipe_update_vblank_evaded(crtc);
}
@@ -191,6 +194,9 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state)
trace_i915_pipe_update_end(crtc, end_vbl_count, scanline_end);
+ if (INTEL_GEN(dev_priv) >= 9)
+ I915_WRITE_FW(DOUBLE_BUFFER_CTL, 0);
+
/* We're still in the vblank-evade critical section, this can't race.
* Would be slightly nice to just grab the vblank count and arm the
* event outside of the critical section - the spinlock might spin for a
--
2.16.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-02-09 9:54 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-09 9:53 [PATCH 0/5] drm/i915: Grab the vblank evasion lock around the entire evasion Maarten Lankhorst
2018-02-09 9:54 ` [PATCH 1/5] drm/i915: Keep vblank irq enabled during vblank evasion Maarten Lankhorst
2018-02-12 15:10 ` Chris Wilson
2018-02-12 15:16 ` Maarten Lankhorst
2018-02-12 15:22 ` Chris Wilson
2018-02-12 15:27 ` Maarten Lankhorst
2018-02-12 15:31 ` Chris Wilson
2018-02-12 15:41 ` Maarten Lankhorst
2018-02-12 16:55 ` Ville Syrjälä
2018-02-12 17:24 ` Chris Wilson
2018-02-12 18:06 ` Ville Syrjälä
2018-02-12 20:55 ` Chris Wilson
2018-02-13 8:59 ` Maarten Lankhorst
2018-02-09 9:54 ` [PATCH 2/5] drm/i915: Grab uncore.lock around enabling " Maarten Lankhorst
2018-02-12 15:16 ` Chris Wilson
2018-02-09 9:54 ` [PATCH 3/5] drm/i915: Call i915_pipe_update_start with uncore.lock held Maarten Lankhorst
2018-02-09 23:08 ` James Ausmus
2018-02-10 8:46 ` Maarten Lankhorst
2018-02-10 9:05 ` Chris Wilson
2018-02-12 15:19 ` Chris Wilson
2018-02-12 15:39 ` Maarten Lankhorst
2018-02-12 15:44 ` Chris Wilson
2018-02-12 16:41 ` Maarten Lankhorst
2018-02-09 9:54 ` [PATCH 4/5] drm/i915: Move all locking for plane updates to caller Maarten Lankhorst
2018-02-09 9:54 ` Maarten Lankhorst [this message]
2018-02-09 10:04 ` [PATCH 0/5] drm/i915: Grab the vblank evasion lock around the entire evasion Chris Wilson
2018-02-09 17:21 ` Maarten Lankhorst
2018-02-12 17:01 ` Ville Syrjälä
2018-02-13 10:19 ` Maarten Lankhorst
2018-02-13 10:40 ` Chris Wilson
2018-02-09 14:24 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-02-12 15:02 ` ✓ Fi.CI.BAT: success " Patchwork
2018-02-12 16:56 ` ✗ Fi.CI.IGT: warning " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180209095404.76418-6-maarten.lankhorst@linux.intel.com \
--to=maarten.lankhorst@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.