Message ID | 20181204230944.7753-3-jose.souza@intel.com |
---|---|
State | New |
Series | "Series without cover letter" |
Headers | show |
diff --git a/lib/igt_psr.c b/lib/igt_psr.c index d68f4b49..eecee459 100644 --- a/lib/igt_psr.c +++ b/lib/igt_psr.c @@ -34,8 +34,10 @@ static bool psr_active(int debugfs_fd, bool check_active) igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, sizeof(buf)); - active = strstr(buf, "HW Enabled & Active bit: yes\n") && - (strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); + + active = strstr(buf, "HW Enabled & Active bit: yes\n") || + strstr(buf, "Source PSR ctl: enabled"); + active &= !!(strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); return check_active ? active : !active; } @@ -138,5 +140,6 @@ bool psr_supported(int debugfs_fd) igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, sizeof(buf)); - return strstr(buf, "Sink_Support: yes\n"); + return strstr(buf, "Sink_Support: yes\n") || + strstr(buf, "Sink support: yes"); }
kernel patches changing the debugfs can be found here: https://patchwork.freedesktop.org/series/53510/ On Tue, 2018-12-04 at 15:09 -0800, José Roberto de Souza wrote: > The kernel patch 'drm/i915: Refactor PSR status debugfs' changed the > output of i915_edp_psr_status, so adding support to the new output > here while keeping the support to the old one for a while. > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com> > --- > lib/igt_psr.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/lib/igt_psr.c b/lib/igt_psr.c > index d68f4b49..eecee459 100644 > --- a/lib/igt_psr.c > +++ b/lib/igt_psr.c > @@ -34,8 +34,10 @@ static bool psr_active(int debugfs_fd, bool > check_active) > > igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, > sizeof(buf)); > - active = strstr(buf, "HW Enabled & Active bit: yes\n") && > - (strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); > + > + active = strstr(buf, "HW Enabled & Active bit: yes\n") || > + strstr(buf, "Source PSR ctl: enabled"); > + active &= !!(strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); > return check_active ? active : !active; > } > > @@ -138,5 +140,6 @@ bool psr_supported(int debugfs_fd) > > igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, > sizeof(buf)); > - return strstr(buf, "Sink_Support: yes\n"); > + return strstr(buf, "Sink_Support: yes\n") || > + strstr(buf, "Sink support: yes"); > }
On Tue, 2018-12-04 at 15:11 -0800, Souza, Jose wrote: > kernel patches changing the debugfs can be found here: > > https://patchwork.freedesktop.org/series/53510/ > > On Tue, 2018-12-04 at 15:09 -0800, José Roberto de Souza wrote: > > The kernel patch 'drm/i915: Refactor PSR status debugfs' changed > > the > > output of i915_edp_psr_status, so adding support to the new output > > here while keeping the support to the old one for a while. > > > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > > Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com> > > --- > > lib/igt_psr.c | 9 ++++++--- > > 1 file changed, 6 insertions(+), 3 deletions(-) > > > > diff --git a/lib/igt_psr.c b/lib/igt_psr.c > > index d68f4b49..eecee459 100644 > > --- a/lib/igt_psr.c > > +++ b/lib/igt_psr.c > > @@ -34,8 +34,10 @@ static bool psr_active(int debugfs_fd, bool > > check_active) > > > > igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, > > sizeof(buf)); > > - active = strstr(buf, "HW Enabled & Active bit: yes\n") && > > - (strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); > > + > > + active = strstr(buf, "HW Enabled & Active bit: yes\n") || > > + strstr(buf, "Source PSR ctl: enabled"); > > + active &= !!(strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); nit: ^ Is this needed, wouldn't the logical OR take care of boolean conversion? Using the bit-wise assignment after converting to a boolean also looks odd. And active = active && (strstr(buf, "SRDENT") || strstr(buf, "SLEEP")); fits withing the 80 character limit. With or without change, Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> > > return check_active ? active : !active; > > } > > > > @@ -138,5 +140,6 @@ bool psr_supported(int debugfs_fd) > > > > igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf, > > sizeof(buf)); > > - return strstr(buf, "Sink_Support: yes\n"); > > + return strstr(buf, "Sink_Support: yes\n") || > > + strstr(buf, "Sink support: yes"); > > }
The kernel patch 'drm/i915: Refactor PSR status debugfs' changed the output of i915_edp_psr_status, so adding support to the new output here while keeping the support to the old one for a while. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> --- lib/igt_psr.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)