[Intel-gfx] [PATCH i-g-t 2/2] tests/pm_backlight: Enable all possible outputs to allow tests to succeed.
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Oct 11 09:24:11 UTC 2017
On Tue, Oct 10, 2017 at 06:23:26PM +0200, Maarten Lankhorst wrote:
> Op 10-10-17 om 18:14 schreef Ville Syrjälä:
> > On Tue, Oct 10, 2017 at 06:04:28PM +0200, Maarten Lankhorst wrote:
> >> If all outputs are disabled before this test is run, then the test
> >> will fail because actual_brightness stays at 0 instead of the value
> >> of the desired brightness. Fix this by enabling all outputs at the
> >> start of this test.
> >>
> >> Sample failure:
> >> IGT-Version: 1.20-g01c550a27986 (x86_64) (Linux: 4.14.0-rc3-fbconhax+ x86_64)
> >> (pm_backlight:1203) CRITICAL: Test assertion failure function test_and_verify, file pm_backlight.c:111:
> >> (pm_backlight:1203) CRITICAL: Failed assertion: ({ typeof(0) _a = (0); typeof(val - tolerance) _b = (val - tolerance); _a > _b ? _a : _b; }) <= result
> >> (pm_backlight:1203) CRITICAL: error: 91200 > 0
> >>
> >> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> >> ---
> >> tests/pm_backlight.c | 27 +++++++++++++++++++++++++++
> >> 1 file changed, 27 insertions(+)
> >>
> >> diff --git a/tests/pm_backlight.c b/tests/pm_backlight.c
> >> index 8258d4e4c124..b365c7f6dc60 100644
> >> --- a/tests/pm_backlight.c
> >> +++ b/tests/pm_backlight.c
> >> @@ -155,13 +155,37 @@ igt_main
> >> {
> >> struct context context = {0};
> >> int old;
> >> + igt_display_t display;
> >>
> >> igt_skip_on_simulation();
> >>
> >> igt_fixture {
> >> + enum pipe pipe;
> >> +
> >> /* Get the max value and skip the whole test if sysfs interface not available */
> >> igt_skip_on(backlight_read(&old, "brightness"));
> >> igt_assert(backlight_read(&context.max, "max_brightness") > -1);
> >> +
> >> + /*
> >> + * Backlight tests requires the output to be enabled,
> >> + * try to enable all.
> >> + */
> >> + kmstest_set_vt_graphics_mode();
> >> + igt_display_init(&display, drm_open_driver(DRIVER_INTEL));
> >> +
> >> + for_each_pipe(&display, pipe) {
> >> + igt_output_t *output;
> >> +
> >> + for_each_valid_output_on_pipe(&display, pipe, output) {
> >> + if (output->pending_pipe != PIPE_NONE)
> >> + continue;
> >> +
> >> + igt_output_set_pipe(output, pipe);
> >> + break;
> >> + }
> >> + }
> > Since the test depends on intel_backlight I think we could even look up
> > the correct backlight based on the connector. Would actually guarantee
> > that we manage to light up the correct connector instead of wasting our
> > precious pipes lighting up stuff we don't need.
> Through readlink /sys/class/backlight/intel_backlight/device you mean? Should be doable, but feels hacky..
/sys/class/drm/cardN-whatever/intel_backlight/
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list