From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "Manna, Animesh" <animesh.manna@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "Kahola, Mika" <mika.kahola@intel.com>
Subject: Re: [PATCH v6 10/26] drm/i915/psr: Print Panel Replay status instead of frame lock status
Date: Fri, 7 Jun 2024 10:10:52 +0000 [thread overview]
Message-ID: <4416b96b35f783d631838e53a49d8c44bc11efde.camel@intel.com> (raw)
In-Reply-To: <PH7PR11MB59817199FD450B51364D9DF8F9FB2@PH7PR11MB5981.namprd11.prod.outlook.com>
On Fri, 2024-06-07 at 10:09 +0000, Manna, Animesh wrote:
>
>
> > -----Original Message-----
> > From: Hogander, Jouni <jouni.hogander@intel.com>
> > Sent: Friday, June 7, 2024 3:34 PM
> > To: Manna, Animesh <animesh.manna@intel.com>; intel-
> > gfx@lists.freedesktop.org
> > Cc: Kahola, Mika <mika.kahola@intel.com>
> > Subject: Re: [PATCH v6 10/26] drm/i915/psr: Print Panel Replay
> > status instead
> > of frame lock status
> >
> > On Fri, 2024-06-07 at 09:59 +0000, Manna, Animesh wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Hogander, Jouni <jouni.hogander@intel.com>
> > > > Sent: Thursday, June 6, 2024 9:08 PM
> > > > To: Manna, Animesh <animesh.manna@intel.com>; intel-
> > > > gfx@lists.freedesktop.org
> > > > Cc: Kahola, Mika <mika.kahola@intel.com>
> > > > Subject: Re: [PATCH v6 10/26] drm/i915/psr: Print Panel Replay
> > > > status instead of frame lock status
> > > >
> > > > On Thu, 2024-06-06 at 14:35 +0000, Manna, Animesh wrote:
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Hogander, Jouni <jouni.hogander@intel.com>
> > > > > > Sent: Wednesday, June 5, 2024 3:56 PM
> > > > > > To: intel-gfx@lists.freedesktop.org
> > > > > > Cc: Manna, Animesh <animesh.manna@intel.com>; Kahola, Mika
> > > > > > <mika.kahola@intel.com>; Hogander, Jouni
> > > > > > <jouni.hogander@intel.com>
> > > > > > Subject: [PATCH v6 10/26] drm/i915/psr: Print Panel Replay
> > > > > > status instead of frame lock status
> > > > > >
> > > > > > Currently Panel Replay status printout is printing frame
> > > > > > lock
> > > > > > status. It should print Panel Replay status instead. Panel
> > > > > > Replay status register field follows PSR status register
> > > > > > field.
> > > > > > Use existing PSR code for that.
> > > > > >
> > > > > > Fixes: ef75c25e8fed ("drm/i915/panelreplay: Debugfs support
> > > > > > for
> > > > > > panel
> > > > > > replay")
> > > > > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > > > > ---
> > > > > > drivers/gpu/drm/i915/display/intel_psr.c | 22 +++++-------
> > > > > > ----
> > > > > > ----
> > > > > > --
> > > > > > 1 file changed, 5 insertions(+), 17 deletions(-)
> > > > > >
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > index 7bdae0d0ea45..3530e5f44096 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > @@ -3579,16 +3579,9 @@ static int
> > > > > > i915_psr_sink_status_show(struct seq_file *m, void *data)
> > > > > > "reserved",
> > > > > > "sink internal error",
> > > > > > };
> > > > > > - static const char * const panel_replay_status[] = {
> > > > > > - "Sink device frame is locked to the Source
> > > > > > device",
> > > > > > - "Sink device is coasting, using the VTotal
> > > > > > target",
> > > > > > - "Sink device is governing the frame rate
> > > > > > (frame
> > > > > > rate unlock is granted)",
> > > > > > - "Sink device in the process of re-locking
> > > > > > with
> > > > > > the Source device",
> > > > > > - };
> > > > > > const char *str;
> > > > > > int ret;
> > > > > > u8 status, error_status;
> > > > > > - u32 idx;
> > > > > >
> > > > > > if (!(CAN_PSR(intel_dp) ||
> > > > > > CAN_PANEL_REPLAY(intel_dp)))
> > > > > > {
> > > > > > seq_puts(m, "PSR/Panel-Replay
> > > > > > Unsupported\n");
> > > > > > @@
> > > > > > -3602,16 +3595,11 @@ static int
> > > > > > i915_psr_sink_status_show(struct seq_file *m, void *data)
> > > > > > if (ret)
> > > > > > return ret;
> > > > > >
> > > > > > - str = "unknown";
> > > > > > - if (intel_dp->psr.panel_replay_enabled) {
> > > > > > - idx = (status & DP_SINK_FRAME_LOCKED_MASK)
> > > > > > >>
> > > > > > DP_SINK_FRAME_LOCKED_SHIFT;
> > > > > > - if (idx < ARRAY_SIZE(panel_replay_status))
> > > > > > - str = panel_replay_status[idx];
> > > > > > - } else if (intel_dp->psr.enabled) {
> > > > > > - idx = status & DP_PSR_SINK_STATE_MASK;
> > > > > > - if (idx < ARRAY_SIZE(sink_status))
> > > > > > - str = sink_status[idx];
> > > > > > - }
> > > > > > + status &= DP_PSR_SINK_STATE_MASK;
> > > > > > + if (status < ARRAY_SIZE(sink_status))
> > > > > > + str = sink_status[status];
> > > > > > + else
> > > > > > + str = "unknown";
> > > > >
> > > > > psr_get_status_and_error_status() is returning frame-locked-
> > > > > status for panel replay, Its different dpcd
> > > > > DP_SINK_DEVICE_PR_AND_FRAME_LOCK_STATUS, not same like psr.
> > > >
> > > > Panel Replay STATUS ~= PSR STATUS if you look at description of
> > > > the
> > > > registers. Frame lock status is completely different thing. I
> > > > don't
> > > > understand why psr sink status debugfs interface should print
> > > > frame
> > > > lock status for Panel Replay?
> > >
> > > If we do not want to print
> > DP_SINK_DEVICE_PR_AND_FRAME_LOCK_STATUS
> > > the psr_get_status_and_error_status() need to be modified. Do you
> > > agree?
> >
> > Yes, and this what I'm doing in this patch? Or can you elaborate a
> > bit what do
> > you mean?
>
> I do not see any change in psr_get_status_and_error_status() in this
> patch.
> Just adding below the code-snippet where based on
> panel_replay_enabled flag offset is assigned to
> DP_SINK_DEVICE_PR_AND_FRAME_LOCK_STATUS.
>
> static int psr_get_status_and_error_status(struct intel_dp *intel_dp,
> u8 *status, u8
> *error_status)
> {
> struct drm_dp_aux *aux = &intel_dp->aux;
> int ret;
> unsigned int offset;
>
> offset = intel_dp->psr.panel_replay_enabled ?
> DP_SINK_DEVICE_PR_AND_FRAME_LOCK_STATUS :
> DP_PSR_STATUS;
>
> ret = drm_dp_dpcd_readb(aux, offset, status);
> if (ret != 1)
> return ret;
> ...
> ...
> ...
>
DP_SINK_DEVICE_PR_AND_FRAME_LOCK_STATUS contains two fields. "Sink
Device Panel Replay Status" and "SINK FRAME LOCKED". Currently we are
printing latter. "SINK FRAME LOCKED" is not actually that much
related to psr status debugfs interface. This patch is changing the
interface to print out "Sink Device Panel Replay Status".
BR,
Jouni Högander
> Regards,
> Animesh
>
> >
> > BR,
> >
> > Jouni Högander
> > >
> > > Regards,
> > > Animesh
> > > >
> > > > BR,
> > > >
> > > > Jouni Högander
> > > >
> > > > >
> > > > > Regards,
> > > > > Animesh
> > > > >
> > > > > >
> > > > > > seq_printf(m, "Sink %s status: 0x%x [%s]\n",
> > > > > > psr_mode_str(intel_dp), status, str);
> > > > > >
> > > > > > --
> > > > > > 2.34.1
> > > > >
> > >
>
next prev parent reply other threads:[~2024-06-07 10:10 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-05 10:25 [PATCH v6 00/26] Panel Replay eDP support Jouni Högander
2024-06-05 10:25 ` [PATCH v6 01/26] drm/i915/alpm: Do not use fast_wake_lines for aux less wake time Jouni Högander
2024-06-06 8:47 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 02/26] drm/i915/alpm: Write also AUX Less Wake lines into ALPM_CTL Jouni Högander
2024-06-06 9:41 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 03/26] drm/i915/display: Take panel replay into account in vsc sdp unpacking Jouni Högander
2024-06-06 9:59 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 04/26] drm/i915/display: Skip Panel Replay on pipe comparison if no active planes Jouni Högander
2024-06-06 13:02 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 05/26] drm/display: Add missing Panel Replay Enable SU Region ET bit Jouni Högander
2024-06-06 13:04 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 06/26] drm/i915/psr: Split enabling sink for PSR and Panel Replay Jouni Högander
2024-06-07 11:59 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 07/26] drm/i915/alpm: Make alpm support checks non-static Jouni Högander
2024-06-06 14:44 ` Manna, Animesh
2024-06-06 15:49 ` Hogander, Jouni
2024-06-05 10:25 ` [PATCH v6 08/26] drm/i915/psr: Use intel_alpm_aux_wake_supported instead of local variable Jouni Högander
2024-06-05 10:25 ` [PATCH v6 09/26] drm/i915/psr: Add Panel Replay support to intel_psr2_config_et_valid Jouni Högander
2024-06-06 15:01 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 10/26] drm/i915/psr: Print Panel Replay status instead of frame lock status Jouni Högander
2024-06-06 14:35 ` Manna, Animesh
2024-06-06 15:37 ` Hogander, Jouni
2024-06-07 9:59 ` Manna, Animesh
2024-06-07 10:03 ` Hogander, Jouni
2024-06-07 10:09 ` Manna, Animesh
2024-06-07 10:10 ` Hogander, Jouni [this message]
2024-06-07 10:53 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 11/26] drm/i915/psr: Move vblank length check to separate function Jouni Högander
2024-06-06 14:58 ` Manna, Animesh
2024-06-06 15:41 ` Hogander, Jouni
2024-06-07 11:09 ` Manna, Animesh
2024-06-07 13:19 ` Hogander, Jouni
2024-06-07 13:37 ` Hogander, Jouni
2024-06-05 10:25 ` [PATCH v6 12/26] drm/i915/psr: Take into account SU SDP scanline indication in vblank check Jouni Högander
2024-06-06 15:02 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 13/26] drm/i915/psr: Check vblank against IO buffer wake time on Lunarlake Jouni Högander
2024-06-06 14:55 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 14/26] dmr/i915/psr: Wake time is aux less wake time for Panel Replay Jouni Högander
2024-06-06 13:26 ` Manna, Animesh
2024-06-06 15:47 ` Hogander, Jouni
2024-06-07 11:14 ` Manna, Animesh
2024-06-05 10:25 ` [PATCH v6 15/26] drm/i915/psr: Check panel ALPM capability for eDP " Jouni Högander
2024-06-05 10:25 ` [PATCH v6 16/26] drm/i915/psr: Inform Panel Replay source support on eDP as well Jouni Högander
2024-06-05 10:25 ` [PATCH v6 17/26] drm/i915/psr: enable sink for eDP1.5 Panel Replay Jouni Högander
2024-06-05 10:25 ` [PATCH v6 18/26] drm/i915/psr: Check panel Early Transport capability for eDP PR Jouni Högander
2024-06-05 10:25 ` [PATCH v6 19/26] drm/i915/psr: Perfrom psr2 checks related to ALPM for Panel Replay Jouni Högander
2024-06-05 10:25 ` [PATCH v6 20/26] drm/i915/psr: Add Panel Replay compute_config helper Jouni Högander
2024-06-05 10:25 ` [PATCH v6 21/26] drm/i915/psr: 128b/132b Panel Replay is not supported on eDP Jouni Högander
2024-06-05 10:25 ` [PATCH v6 22/26] drm/i915/psr: HW will not allow PR on eDP when HDCP enabled Jouni Högander
2024-06-05 10:25 ` [PATCH v6 23/26] drm/i915/psr: Check Early Transport for Panel Replay as well Jouni Högander
2024-06-05 10:25 ` [PATCH v6 24/26] drm/i915/psr: Modify dg2_activate_panel_replay to support eDP Jouni Högander
2024-06-05 10:25 ` [PATCH v6 25/26] drm/i915/psr: Add new debug bit to disable Panel Replay Jouni Högander
2024-06-05 10:25 ` [PATCH v6 26/26] Revert "drm/i915/psr: Disable early transport by default" Jouni Högander
2024-06-05 13:42 ` ✗ Fi.CI.CHECKPATCH: warning for Panel Replay eDP support (rev7) Patchwork
2024-06-05 13:42 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-06-05 13:50 ` ✓ Fi.CI.BAT: success " Patchwork
2024-06-05 17:32 ` ✗ Fi.CI.IGT: failure " 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=4416b96b35f783d631838e53a49d8c44bc11efde.camel@intel.com \
--to=jouni.hogander@intel.com \
--cc=animesh.manna@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mika.kahola@intel.com \
/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