[igt-dev] [PATCH i-g-t] igt/pm_backlight: Skip if pm is not supported

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Sep 5 13:18:05 UTC 2018


On Wed, Sep 05, 2018 at 02:07:00PM +0100, Chris Wilson wrote:
> Quoting Ville Syrjälä (2018-09-05 13:34:39)
> > On Wed, Sep 05, 2018 at 10:17:47AM +0100, Chris Wilson wrote:
> > > If we cannot do runtime suspend, testing it's impact on the backlight is
> > > moot. Simply skip on systems that cannot runtime suspend.
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107789
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107790
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107794
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > ---
> > >  tests/pm_backlight.c | 36 +++++++++++++++++++++++++-----------
> > >  1 file changed, 25 insertions(+), 11 deletions(-)
> > > 
> > > diff --git a/tests/pm_backlight.c b/tests/pm_backlight.c
> > > index 4c0399d46..e94340a2b 100644
> > > --- a/tests/pm_backlight.c
> > > +++ b/tests/pm_backlight.c
> > > @@ -151,23 +151,37 @@ static void test_fade(struct context *context)
> > >               nanosleep(&ts, NULL);
> > >       }
> > >  }
> > > -static void test_fade_with_dpms(struct context *context, igt_output_t *output)
> > > +
> > > +static void
> > > +test_fade_with_dpms(struct context *context, igt_output_t *output)
> > >  {
> > > -     bool has_runtime_pm;
> > > -     has_runtime_pm = igt_setup_runtime_pm();
> > > -     igt_info("Runtime PM support: %d\n", has_runtime_pm);
> > > -     igt_assert(has_runtime_pm);
> > > -     kmstest_set_connector_dpms(output->display->drm_fd, output->config.connector, DRM_MODE_DPMS_OFF);
> > > -     igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> > > -     kmstest_set_connector_dpms(output->display->drm_fd, output->config.connector, DRM_MODE_DPMS_ON);
> > > +     igt_require(igt_setup_runtime_pm());
> > > +
> > > +     kmstest_set_connector_dpms(output->display->drm_fd,
> > > +                                output->config.connector,
> > > +                                DRM_MODE_DPMS_OFF);
> > > +     igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> > 
> > Should this stays as igt_assert() or is the earlier
> > igt_require(igt_setup_runtime_pm()) not good enough to
> > detect that runtime PM is supported?
> 
> The setup only tells us if the runtime pm iface exists. What it doesn't
> establish is if there is a raised wakeref (e.g. no DMC) preventing us
> from entering runtime suspend. To do that we have to try and fail. I
> haven't spotted a better way.

Ah. OK, I guess there's no better way without eg. changing the kernel to
disable runtime pm entirely in such cases.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list