[Intel-gfx] [PATCH i-g-t 3/3] kms_universal_plane: Universal plane testing
Daniel Vetter
daniel at ffwll.ch
Fri Apr 11 13:57:33 CEST 2014
On Fri, Apr 11, 2014 at 11:22:39AM +0200, Daniel Vetter wrote:
> On Thu, Apr 10, 2014 at 05:26:25PM -0700, Matt Roper wrote:
> > Add a simple test to exercise universal plane support.
> >
> > Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
>
> Looks like a good functional test, but I think we need to add a bit more
> api nastiness still. So no functional tests with CRCs, but just tests to
> make sure the kernel doesn't fall over.
>
> - primary plane set_plane calls vs. legacy setcrtc primary plane updates.
> We'll very likely have mixed userspace (e.g. boot splash vs. display
> manager). E.g. disable primary plane (but keep everything working), then
> setCrtc a new plane framebuffer.
>
> - primary plane vs. other ioctls. Might be easier to extend existing tests
> for this. E.g. doing a pageflip ioctl if the primary plane is off
> (might need to decide what we really want to do and if we decide that it
> should enable the primary plane then we need a CRC based test to make
> sure that the transition is perfect).
>
> Or primary plane changes vs. dpms and suspend/resume. For those
> functional checks based on CRC would be good to make sure we properly
> restore everything.
>
> - Maybe exercise some of the checks in the primary plane helper to make
> sure they work. In the future we'll probably lift those limitations (not
> on current hw afaik though), but then we can adjust those tests to skip
> on these platforms.
>
> - Anything else that was pointed out in review or was tricky while
> developing this stuff.
More ideas! My main concern is interactions with existing features when
the primary plane is disabled and no other plane/cursor enabled, i.e. when
we scan out a solid black.
- solid black vs. dpms for all connector/pipe pairings. The modeset
sequence is different for different connectors and my gut says not
enabling the primary plane might cause trouble.
- solid black vs. vblank events. When transition through a "no planes"
situation we need to make sure that vblank events keep on working. A
testcase (maybe in combination of some of the dpms and susped/resume
case above too) would be good.
I'll leave it to you to somewhat sensibly group all these ideas into real
testcases ;-) For further inspiration maybe look at the corner cases
existing kms_* tests exercise a bit.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list