[igt-dev] [PATCH i-g-t] tests: Open DRM_MASTER for display operations

Chris Wilson chris at chris-wilson.co.uk
Wed Dec 18 11:38:22 UTC 2019


Quoting Petri Latvala (2019-12-18 11:36:02)
> On Wed, Dec 18, 2019 at 11:20:12AM +0000, Chris Wilson wrote:
> > To configure the display, one is required to be the DRM_MASTER.
> > 
> > Closes: https://gitlab.freedesktop.org/drm/intel/issues/855
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > ---
> >  tests/kms_content_protection.c | 2 +-
> >  tests/kms_panel_fitting.c      | 2 +-
> >  tests/kms_plane_alpha_blend.c  | 2 +-
> >  3 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> > index 8b361fdef..3b9cedcb4 100644
> > --- a/tests/kms_content_protection.c
> > +++ b/tests/kms_content_protection.c
> > @@ -654,7 +654,7 @@ static void test_content_protection_cleanup(void)
> >  igt_main
> >  {
> >       igt_fixture {
> > -             data.drm_fd = drm_open_driver(DRIVER_ANY);
> > +             data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> >  
> >               igt_display_require(&data.display, data.drm_fd);
> >       }
> > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
> > index ac24730f8..065fc2df8 100644
> > --- a/tests/kms_panel_fitting.c
> > +++ b/tests/kms_panel_fitting.c
> > @@ -252,7 +252,7 @@ igt_main
> >       data_t data = {};
> >  
> >       igt_fixture {
> > -             data.drm_fd = drm_open_driver(DRIVER_ANY);
> > +             data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> >               igt_display_require(&data.display, data.drm_fd);
> >               igt_display_require_output(&data.display);
> >       }
> > diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
> > index d7dc44ab9..085099f81 100644
> > --- a/tests/kms_plane_alpha_blend.c
> > +++ b/tests/kms_plane_alpha_blend.c
> > @@ -565,7 +565,7 @@ igt_main
> >       enum pipe pipe;
> >  
> >       igt_fixture {
> > -             data.gfx_fd = drm_open_driver(DRIVER_ANY);
> > +             data.gfx_fd = drm_open_driver_master(DRIVER_ANY);
> >               igt_require_pipe_crc(data.gfx_fd);
> >               igt_display_require(&data.display, data.gfx_fd);
> >               igt_require(data.display.is_atomic);
> 
> 
> Don't they implicitly become masters if that's the first-and-only
> open() on the dev? Did that change?

That is the still the case. They aren't the only things running :)

By requesting master up front, we will get a complaint about what is
still running that prevents us acquiring master, rather than a belated
EACCES.
-Chris


More information about the igt-dev mailing list