[igt-dev] [PATCH i-g-t 4/5] lib/igt_psr: added function to check active dp pr

Hogander, Jouni jouni.hogander at intel.com
Wed Oct 25 07:07:51 UTC 2023


On Wed, 2023-10-25 at 06:16 +0000, Joshi, Kunal1 wrote:
> Hello Jouni,
> 
> -----Original Message-----
> From: Hogander, Jouni <jouni.hogander at intel.com> 
> Sent: Friday, October 20, 2023 5:46 PM
> To: Joshi, Kunal1 <kunal1.joshi at intel.com>;
> igt-dev at lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy at intel.com>; Manna, Animesh
> <animesh.manna at intel.com>
> Subject: Re: [PATCH i-g-t 4/5] lib/igt_psr: added function to check
> active dp pr
> 
> On Fri, 2023-10-20 at 11:35 +0530, Kunal Joshi wrote:
> > Added function to check if pr is active on a output.
> > assuming SRDENT is the state to compare when pr is active
> > 
> > Cc: Jouni Högander <jouni.hogander at intel.com>
> > Cc: Animesh Manna <animesh.manna at intel.com>
> > Cc: Arun R Murthy <arun.r.murthy at intel.com>
> > Signed-off-by: Kunal Joshi <kunal1.joshi at intel.com>
> > ---
> >  lib/igt_psr.c | 23 +++++++++++++++++++++++
> >  lib/igt_psr.h |  2 +-
> >  2 files changed, 24 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/igt_psr.c b/lib/igt_psr.c index
> > 4c912a064..683379db6 
> > 100644
> > --- a/lib/igt_psr.c
> > +++ b/lib/igt_psr.c
> > @@ -390,3 +390,26 @@ bool output_supports_pr(int debugfs_fd, 
> > igt_output_t *output)
> >  
> >          return strstr(buf, "Panel Replay = yes");
> >  }
> > +
> > +bool dp_pr_active_check(int debugfs_fd, igt_output_t *output) {
> > +        char debugfs_file[128] = {0};
> > +        char buf[PSR_STATUS_MAX_LEN];
> > +        const char *state = "SRDENT";
> > +        int ret;
> > +
> > +        if (!strstr(output->name,"DP"))
> > +                return false;
> > +
> > +        sprintf(debugfs_file, "%s/i915_sink_status", output-
> > >name);
> > +
> > +        ret = igt_debugfs_simple_read(debugfs_fd, debugfs_file,
> > +                                     buf, sizeof(buf));
> > +        if (ret < 0) {
> > +                igt_info("Could not read i915_edp_psr_status:
> > %s\n",
> > +                         strerror(-ret));
> > +                return false;
> > +        }
> > +        igt_skip_on(strstr(buf, "PSR sink not reliable: yes"));
> > +        return strstr(buf, state);
> > +}
> 
> > Why did you choose to write new instead of modifying existing c ?
> > 
> > BR
> For DP pr we are using different debugfs directory to read,
> so thought of creating new function for clear separation,
> 
> But can modify psr_sink_support if you think that will be better way.

I think that would be better approach. Also eases your modifications in
kms_psr.c

BR,

Jouni Högander

> 
> Jouni Högander
> > diff --git a/lib/igt_psr.h b/lib/igt_psr.h index
> > 8e36fcf2f..dc603ffc3 
> > 100644
> > --- a/lib/igt_psr.h
> > +++ b/lib/igt_psr.h
> > @@ -56,5 +56,5 @@ bool i915_psr2_selective_fetch_check(int drm_fd);
> >  bool i915_psr2_sel_fetch_to_psr1(int drm_fd);
> >  void i915_psr2_sel_fetch_restore(int drm_fd);
> >  bool output_supports_pr(int debugfs_fd, igt_output_t *output);
> > -
> > +bool dp_pr_active_check(int debugfs_fd, igt_output_t *output);
> >  #endif
> 
> Thanks and Regards
> Kunal Joshi
> 



More information about the igt-dev mailing list