On Fri, 2024-06-07 at 09:59 +0000, Manna, Animesh wrote: > > > > -----Original Message----- > > From: Hogander, Jouni <jouni.hogander@xxxxxxxxx> > > Sent: Thursday, June 6, 2024 9:08 PM > > To: Manna, Animesh <animesh.manna@xxxxxxxxx>; intel- > > gfx@xxxxxxxxxxxxxxxxxxxxx > > Cc: Kahola, Mika <mika.kahola@xxxxxxxxx> > > 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@xxxxxxxxx> > > > > Sent: Wednesday, June 5, 2024 3:56 PM > > > > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > > Cc: Manna, Animesh <animesh.manna@xxxxxxxxx>; Kahola, Mika > > > > <mika.kahola@xxxxxxxxx>; Hogander, Jouni > > > > <jouni.hogander@xxxxxxxxx> > > > > 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@xxxxxxxxx> > > > > --- > > > > 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? 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 > > > >