Intel-GFX Archive mirror
 help / color / mirror / Atom feed
From: Suraj Kandpal <suraj.kandpal@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: arun.r.murthy@intel.com, Suraj Kandpal <suraj.kandpal@intel.com>
Subject: [RFC 0/3] Enable darkscreen detection
Date: Wed, 24 Apr 2024 13:08:16 +0530	[thread overview]
Message-ID: <20240424073829.824312-2-suraj.kandpal@intel.com> (raw)

Fifo underrun can lead to flicker, screen corruption and blank screen in
case of pipe hang.
This patch series aims to enable dark screen detection whenever
FIFO underruns are hit and in case we face a darkscreen at this point
instead of disabling irq and fbc we want to try reset the pipe on which
the underrun has occured and keep a track on the number of times
underrun occurs post reset and if this persists more than 5 times we go
ahead and reset the whole display. If this still persists we then
fallback to disabling irq and the fb.
To summarize we are using the dark screen detction feature to detect the
pipe hung scenario of FIFO underrun. After detection as corrective
measurements following is done.
1)pipe reset
2)display reset
Comments on this design and ideas on how else this can be implemented
or diffrent scenarios dark screen detection can be used are also
welcome.

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>

Suraj Kandpal (3):
  drm/i915: Add Dark screen detection registers
  drm/i915/darkscreen: Enable darkscreen detection
  drm/i915: Schedule darkscreen detection work

 drivers/gpu/drm/i915/Makefile                 |   1 +
 .../gpu/drm/i915/display/intel_darkscreen.c   | 139 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_darkscreen.h   |  25 ++++
 .../drm/i915/display/intel_display_types.h    |   3 +
 .../drm/i915/display/intel_fifo_underrun.c    |   2 +
 drivers/gpu/drm/i915/i915_reg.h               |   8 +
 drivers/gpu/drm/xe/Makefile                   |   1 +
 7 files changed, 179 insertions(+)
 create mode 100644 drivers/gpu/drm/i915/display/intel_darkscreen.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_darkscreen.h

-- 
2.43.2


             reply	other threads:[~2024-04-24  7:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24  7:38 Suraj Kandpal [this message]
2024-04-24  7:38 ` [RFC 1/3] drm/i915: Add Dark screen detection registers Suraj Kandpal
2024-04-24  9:05   ` Jani Nikula
2024-04-24  7:38 ` [RFC 2/3] drm/i915/darkscreen: Enable darkscreen detection Suraj Kandpal
2024-04-24  9:41   ` Jani Nikula
2024-04-24  7:38 ` [RFC 3/3] drm/i915: Schedule darkscreen detection work Suraj Kandpal
2024-04-24  8:19 ` ✗ Fi.CI.CHECKPATCH: warning for Enable darkscreen detection Patchwork
2024-04-24  8:20 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-04-24  9:48 ` [RFC 0/3] " Jani Nikula
2024-04-24 10:01   ` Kandpal, Suraj

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=20240424073829.824312-2-suraj.kandpal@intel.com \
    --to=suraj.kandpal@intel.com \
    --cc=arun.r.murthy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).