From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Josh Triplett <josh@joshtriplett.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
ksummit@lists.linux.dev
Subject: Re: [MAINTAINER SUMMIT] User-space requirements for accelerator drivers
Date: Sun, 12 Sep 2021 01:08:55 +0300 [thread overview]
Message-ID: <YT0o91bQ7+O5yBVu@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20210911102007.77b8a189@rorschach.local.home>
Hi Steven,
On Sat, Sep 11, 2021 at 10:20:07AM -0400, Steven Rostedt wrote:
> On Sat, 11 Sep 2021 03:20:50 +0300 Laurent Pinchart wrote:
>
> > > Freely accessible documentation is really the key.
> >
> > In principle I'd agree, but that assumes such documentation would exist
> > in the first place, with a sufficient level of quality. In many cases an
> > open implementation the exercises all device features is a better form
> > of documentation than what vendors have, even internally. Of course, the
> > opposite is true as well, having seen too much vendor code for my own
> > good, there is such a thing as a working for unreadable implementation.
> >
> > I fully agree with your point about feature completeness by the way,
> > vendors will always find ways to hide pieces of the API if they really
> > want to, but I think that would be true of documentation as well.
>
> I would like not only documentation, but also an open source test suite
> that simply tests the interface. Honestly, I believe that all new
> interfaces to the kernel (open or not) should have full documentation
> and a test suite interface before it gets accepted. We have
> tools/selftests that should be updated with all new interfaces into the
> kernel.
>
> Even if it's just a smoke test, that would be fine. Obviously if
> there's a driver without hardware, it can't be tested. But if you have
> that hardware, perhaps there could be a simple test suite of the
> interface to let you know it is still functional.
It really depends on the device and the interface it requires. A GPU or
camera ISP driver can't be meaningfully tested just at the interface
level. The interface exposed to userspace is usually of the form of an
ioctl that allows passing a large command buffer in a device-specific
format, full of data that is then consumed by hardware or firmware. For
instance, look at the ipu3_uapi_params structure in
drivers/staging/media/ipu3/include/uapi/intel-ipu3.h. You need very
elaborate code to exercise such an API.
If you wanted GPU drivers to have tests in tools/selftests, you'd have
to move Mesa to the kernel :-)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2021-09-11 22:09 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-10 21:00 [MAINTAINER SUMMIT] User-space requirements for accelerator drivers Jonathan Corbet
2021-09-10 21:32 ` Josh Triplett
2021-09-13 13:50 ` Christian Brauner
2021-09-13 13:57 ` Daniel Vetter
2021-09-14 2:07 ` Laurent Pinchart
2021-09-14 14:40 ` Jani Nikula
2021-09-14 14:45 ` Geert Uytterhoeven
2021-09-14 14:59 ` Jani Nikula
2021-09-14 15:10 ` Geert Uytterhoeven
2021-09-10 21:51 ` James Bottomley
2021-09-10 21:59 ` Alexandre Belloni
2021-09-10 22:35 ` James Bottomley
2021-09-11 14:51 ` Jonathan Corbet
2021-09-11 15:24 ` James Bottomley
2021-09-11 21:52 ` Laurent Pinchart
2021-09-14 13:22 ` Johannes Berg
2021-09-11 0:08 ` Laurent Pinchart
2021-09-10 22:52 ` Mauro Carvalho Chehab
2021-09-10 23:45 ` Josh Triplett
2021-09-10 23:48 ` Dave Hansen
2021-09-11 0:13 ` Laurent Pinchart
2021-09-10 23:55 ` Thomas Gleixner
2021-09-11 0:20 ` Laurent Pinchart
2021-09-11 14:20 ` Steven Rostedt
2021-09-11 22:08 ` Laurent Pinchart [this message]
2021-09-11 22:42 ` Steven Rostedt
2021-09-11 23:10 ` Laurent Pinchart
2021-09-13 11:10 ` Mark Brown
2021-09-11 22:51 ` Mauro Carvalho Chehab
2021-09-11 23:22 ` Mauro Carvalho Chehab
2021-09-11 10:31 ` Leon Romanovsky
2021-09-11 11:41 ` Laurent Pinchart
2021-09-11 12:04 ` Leon Romanovsky
2021-09-11 22:04 ` Laurent Pinchart
2021-09-12 4:27 ` Leon Romanovsky
2021-09-12 7:26 ` Greg KH
2021-09-12 8:29 ` Leon Romanovsky
2021-09-12 13:25 ` Greg KH
2021-09-12 14:15 ` Leon Romanovsky
2021-09-12 14:34 ` Greg KH
2021-09-12 16:41 ` Laurent Pinchart
2021-09-12 20:35 ` Dave Airlie
2021-09-12 20:41 ` Dave Airlie
2021-09-12 20:49 ` Daniel Vetter
2021-09-12 21:12 ` Dave Airlie
2021-09-12 22:51 ` Linus Walleij
2021-09-12 23:15 ` Dave Airlie
2021-09-13 13:20 ` Arnd Bergmann
2021-09-13 13:54 ` Daniel Vetter
2021-09-13 22:04 ` Arnd Bergmann
2021-09-13 23:33 ` Dave Airlie
2021-09-14 9:08 ` Arnd Bergmann
2021-09-14 9:23 ` Daniel Vetter
2021-09-14 10:47 ` Laurent Pinchart
2021-09-14 12:58 ` Arnd Bergmann
2021-09-14 19:45 ` Daniel Vetter
2021-09-14 15:43 ` Luck, Tony
2021-09-13 14:52 ` James Bottomley
2021-09-14 13:07 ` Linus Walleij
2021-09-13 14:03 ` Mark Brown
2021-09-12 15:55 ` Laurent Pinchart
2021-09-12 16:43 ` James Bottomley
2021-09-12 16:58 ` Laurent Pinchart
2021-09-12 17:08 ` James Bottomley
2021-09-12 19:52 ` Dave Airlie
2021-09-12 7:46 ` Mauro Carvalho Chehab
2021-09-12 8:00 ` Leon Romanovsky
2021-09-12 14:53 ` Laurent Pinchart
2021-09-12 15:41 ` Mauro Carvalho Chehab
2021-09-10 23:46 ` Laurent Pinchart
2021-09-11 0:38 ` Mauro Carvalho Chehab
2021-09-11 9:27 ` Laurent Pinchart
2021-09-11 22:33 ` Mauro Carvalho Chehab
2021-09-13 12:04 ` Mark Brown
2021-09-12 19:13 ` Dave Airlie
2021-09-12 19:48 ` Laurent Pinchart
2021-09-13 2:26 ` Dave Airlie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YT0o91bQ7+O5yBVu@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=corbet@lwn.net \
--cc=josh@joshtriplett.org \
--cc=ksummit@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).