public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Jouni Högander" <jouni.hogander@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: "Brian J . Tarricone" <brian@tarricone.org>
Subject: [Intel-gfx] [PATCH] drm/i915/psr: Send update also on invalidate
Date: Mon, 24 Oct 2022 08:46:49 +0300	[thread overview]
Message-ID: <20221024054649.31299-1-jouni.hogander@intel.com> (raw)

Currently we are observing mouse cursor stuttering when using
xrandr --scaling=1.2x1.2. X scaling/transformation seems to be
doing fronbuffer rendering. When moving mouse cursor X seems to
perform several invalidates and only one DirtyFB. I.e. it seems
to be assuming updates are sent to panel while drawing is done.

Earlier we were disabling PSR in frontbuffer invalidate call back
(when drawing in X started). PSR was re-enabled in frontbuffer
flush callback (dirtyfb ioctl). This was working fine with X
scaling/transformation. Now we are just enabling continuous full
frame (cff) in PSR invalidate callback. Enabling cff doesn't
trigger any updates. It just configures PSR to send full frame
when updates are sent. I.e. there are no updates on screen before
PSR flush callback is made. X seems to be doing several updates
in frontbuffer before doing dirtyfb ioctl.

Fix this by sending single update on every invalidate callback.

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Mika Kahola <mika.kahola@intel.com>

Fixes: 805f04d42a6b ("drm/i915/display/psr: Use continuos full frame to handle frontbuffer invalidations")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6679
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reported-by: Brian J. Tarricone <brian@tarricone.org>
Tested-by: Brian J. Tarricone <brian@tarricone.org>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 904a1049eff3..564d4fd94048 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -2209,8 +2209,11 @@ static void _psr_invalidate_handle(struct intel_dp *intel_dp)
 	if (intel_dp->psr.psr2_sel_fetch_enabled) {
 		u32 val;
 
-		if (intel_dp->psr.psr2_sel_fetch_cff_enabled)
+		if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
+			/* Send one update otherwise lag is observed in screen */
+			intel_de_write(dev_priv, CURSURFLIVE(intel_dp->psr.pipe), 0);
 			return;
+		}
 
 		val = man_trk_ctl_enable_bit_get(dev_priv) |
 		      man_trk_ctl_partial_frame_bit_get(dev_priv) |
-- 
2.34.1


             reply	other threads:[~2022-10-24  5:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-24  5:46 Jouni Högander [this message]
2022-10-24  7:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/psr: Send update also on invalidate Patchwork
2022-10-24  7:52 ` [Intel-gfx] [PATCH] " Kahola, Mika
2022-10-24 13:22 ` Souza, Jose
2022-10-27 16:41 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/psr: Send update also on invalidate (rev2) Patchwork
2022-10-28 16:12 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/psr: Send update also on invalidate Patchwork
2022-10-28 17:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/psr: Send update also on invalidate (rev2) Patchwork
2022-10-29  8:37 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-11-01 13:23   ` Hogander, Jouni
2022-11-01 13:36     ` Saarinen, Jani
2022-11-01 17:26 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork
2022-11-01 18:26 ` 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=20221024054649.31299-1-jouni.hogander@intel.com \
    --to=jouni.hogander@intel.com \
    --cc=brian@tarricone.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox