All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Liviu Dudau <liviu.dudau@arm.com>
Cc: Alyssa Rosenzweig <alyssa@collabora.com>,
	Haneen Mohammed <hamohammed.sa@gmail.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Xinliang Liu <xinliang.liu@linaro.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Edmund Dea <edmund.j.dea@intel.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Russell King <linux@armlinux.org.uk>,
	Melissa Wen <melissa.srw@gmail.com>,
	Tomi Valkeinen <tomba@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>,
	Anitha Chrisanthus <anitha.chrisanthus@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Steven Price <steven.price@arm.com>,
	Sam Ravnborg <sam@ravnborg.org>, Jyri Sarha <jyri.sarha@iki.fi>,
	Jerome Brunet <jbrunet@baylibre.com>, Marek Vasut <marex@denx.de>,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	Qiang Yu <yuq825@gmail.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
	Xinwei Kong <kong.kongxinwei@hisilicon.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	David Airlie <airlied@linux.ie>,
	Ludovic Desroches <ludovic.desroches@microchip.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	VMware Graphics <linux-graphics-maintainer@vmware.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Ben Skeggs <bskeggs@redhat.com>,
	Chun-Kuang Hu <chunkuang.hu@kernel.org>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Chen Feng <puck.chen@hisilicon.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Alison Wang <alison.wang@nxp.com>,
	Roland Scheidegger <sroland@vmware.com>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Maxime Ripard <maxime@cerno.tech>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Chen-Yu Tsai <wens@csie.org>, Sean Paul <sean@poorly.run>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Paul Cercueil <paul@crapouillou.net>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Huang Rui <ray.huang@amd.com>,
	Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>,
	Hyun Kwon <hyun.kwon@xilinx.com>,
	Boris Brezillon <bbrezillon@kernel.org>,
	Andrew Jeffery <andrew@aj.id.au>,
	Yannick Fertr e <yannick.fertre@foss.st.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Sandy Huang <hjc@rock-chips.com>,
	Robert Foss <robert.foss@linaro.org>,
	Joel Stanley <joel@jms.id.au>,
	Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Noralf Tr??nnes <noralf@tronnes.org>,
	Philippe Cornu <philippe.cornu@foss.st.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Alex Deucher <alexander.deucher@amd.com>,
	Tian Tao <tiantao6@hisilicon.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Christian K??nig <christian.koenig@amd.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties
Date: Mon, 14 Jun 2021 19:23:53 +0300	[thread overview]
Message-ID: <YMeCmcyFHO91hPi7@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20210611133418.mwjabkd4zzcgekti@e110455-lin.cambridge.arm.com>

On Fri, Jun 11, 2021 at 02:34:18PM +0100, Liviu Dudau wrote:
> On Fri, Jun 11, 2021 at 08:56:04AM -0400, Alyssa Rosenzweig wrote:
> > > What I'm expected to see in the future is new functionality that gets implemented by
> > > one hardware vendor and the kernel developers trying to enable that for userspace. It
> > > could be that the new property is generic, but there is no way of testing that on
> > > more than one implementation yet, so I'd say we are generous calling it "standard
> > > property". When the second or third hardware vendor comes along and starts supporting
> > > that property with their own set of extra requirements, then we can call it
> > > "standard". Then comes the effort cost: would it be easier to start with a vendor
> > > property that only the vendor needs to support (and can submit patches into the
> > > compositors to do so) and when the standard property gets added moves to that, or
> > > should we start with a generic property that gets implemented by the compositors
> > > (maybe, but then only one vendor supports it) and then later when we actually
> > > standardise the property we will have to carry backwards compatibility code in the
> > > kernel to handle the old behaviour for old userspace? My proposal to Maxime was for
> > > the former option to be reflected in the documentation, but I would like to hear your
> > > thoughts.
> > 
> > Just my 2c - if the mainline kernel isn't willing to commit to a feature
> > for upstream userspace to use, why does that feature belong in the
> > kernel at all? I don't see much value in exposing hardware for the sake
> > of exposing it when, practically, Linux userspace /can't/ use it as-is.
> > 
> > Might these vendor properties be used on downstream Android userspaces?
> > That's not generally an upstream goal to support.
> 
> I think the assumption is that we are willing to commit to supporting a feature for
> userspace, just that (I personally) lack the confidence that I will be getting the
> feature right on the first attempt and using only one vendor hardware. And that
> supporting potential mistakes I might've made in the first version is harder if the
> feature was deemed "standard".

There's also the issue that the first developer to try to upstream a
standard property for a new feature often gets ignored as nobody else
has experience with that feature, and thus lack personal interest.
That's not a pure technical issue, there's a management problem there
too. The right solution may ne to figure out a good process to
standardize new property without making it so difficult that everybody
will give up and only use downstream kernels. I've heard too many times
already from vendors that upstream isn't something they can target as
the bar to entry is too high, and when I convince them to submit patches
to extend APIs, those patches get ignored (I'm not talking about DRM/KMS
only here).

> I'm talking from my experience with the writeback connector. We almost committed the
> feature twice before more people chipped in and asked us for changes, but that was lucky.

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Liviu Dudau <liviu.dudau@arm.com>
Cc: Ludovic Desroches <ludovic.desroches@microchip.com>,
	Haneen Mohammed <hamohammed.sa@gmail.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Xinliang Liu <xinliang.liu@linaro.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Edmund Dea <edmund.j.dea@intel.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Sandy Huang <hjc@rock-chips.com>,
	Melissa Wen <melissa.srw@gmail.com>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>,
	Anitha Chrisanthus <anitha.chrisanthus@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Jerome Brunet <jbrunet@baylibre.com>, Marek Vasut <marex@denx.de>,
	Jonathan Corbet <corbet@lwn.net>,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Russell King <linux@armlinux.org.uk>,
	Steven Price <steven.price@arm.com>,
	David Airlie <airlied@linux.ie>,
	Xinwei Kong <kong.kongxinwei@hisilicon.com>,
	Noralf Tr??nnes <noralf@tronnes.org>,
	VMware Graphics <linux-graphics-maintainer@vmware.com>,
	Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
	Hyun Kwon <hyun.kwon@xilinx.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Chun-Kuang Hu <chunkuang.hu@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Jonas Karlman <jonas@kwiboo.se>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Chen Feng <puck.chen@hisilicon.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Alison Wang <alison.wang@nxp.com>,
	Roland Scheidegger <sroland@vmware.com>,
	Shawn Guo <shawnguo@kernel.org>, Ben Skeggs <bskeggs@redhat.com>,
	Maxime Ripard <maxime@cerno.tech>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Chen-Yu Tsai <wens@csie.org>, Sean Paul <sean@poorly.run>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Paul Cercueil <paul@crapouillou.net>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>,
	Tomi Valkeinen <tomba@kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	Andrew Jeffery <andrew@aj.id.au>, Huang Rui <ray.huang@amd.com>,
	Yannick Fertr e <yannick.fertre@foss.st.com>,
	Boris Brezillon <bbrezillon@kernel.org>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Robert Foss <robert.foss@linaro.org>,
	Alyssa Rosenzweig <alyssa@collabora.com>,
	Joel Stanley <joel@jms.id.au>,
	Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Qiang Yu <yuq825@gmail.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Tian Tao <tiantao6@hisilicon.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Philippe Cornu <philippe.cornu@foss.st.com>,
	Jyri Sarha <jyri.sarha@iki.fi>,
	Christian K??nig <christian.koenig@amd.com>
Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties
Date: Mon, 14 Jun 2021 19:23:53 +0300	[thread overview]
Message-ID: <YMeCmcyFHO91hPi7@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20210611133418.mwjabkd4zzcgekti@e110455-lin.cambridge.arm.com>

On Fri, Jun 11, 2021 at 02:34:18PM +0100, Liviu Dudau wrote:
> On Fri, Jun 11, 2021 at 08:56:04AM -0400, Alyssa Rosenzweig wrote:
> > > What I'm expected to see in the future is new functionality that gets implemented by
> > > one hardware vendor and the kernel developers trying to enable that for userspace. It
> > > could be that the new property is generic, but there is no way of testing that on
> > > more than one implementation yet, so I'd say we are generous calling it "standard
> > > property". When the second or third hardware vendor comes along and starts supporting
> > > that property with their own set of extra requirements, then we can call it
> > > "standard". Then comes the effort cost: would it be easier to start with a vendor
> > > property that only the vendor needs to support (and can submit patches into the
> > > compositors to do so) and when the standard property gets added moves to that, or
> > > should we start with a generic property that gets implemented by the compositors
> > > (maybe, but then only one vendor supports it) and then later when we actually
> > > standardise the property we will have to carry backwards compatibility code in the
> > > kernel to handle the old behaviour for old userspace? My proposal to Maxime was for
> > > the former option to be reflected in the documentation, but I would like to hear your
> > > thoughts.
> > 
> > Just my 2c - if the mainline kernel isn't willing to commit to a feature
> > for upstream userspace to use, why does that feature belong in the
> > kernel at all? I don't see much value in exposing hardware for the sake
> > of exposing it when, practically, Linux userspace /can't/ use it as-is.
> > 
> > Might these vendor properties be used on downstream Android userspaces?
> > That's not generally an upstream goal to support.
> 
> I think the assumption is that we are willing to commit to supporting a feature for
> userspace, just that (I personally) lack the confidence that I will be getting the
> feature right on the first attempt and using only one vendor hardware. And that
> supporting potential mistakes I might've made in the first version is harder if the
> feature was deemed "standard".

There's also the issue that the first developer to try to upstream a
standard property for a new feature often gets ignored as nobody else
has experience with that feature, and thus lack personal interest.
That's not a pure technical issue, there's a management problem there
too. The right solution may ne to figure out a good process to
standardize new property without making it so difficult that everybody
will give up and only use downstream kernels. I've heard too many times
already from vendors that upstream isn't something they can target as
the bar to entry is too high, and when I convince them to submit patches
to extend APIs, those patches get ignored (I'm not talking about DRM/KMS
only here).

> I'm talking from my experience with the writeback connector. We almost committed the
> feature twice before more people chipped in and asked us for changes, but that was lucky.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2021-06-14 16:24 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-10 17:47 [PATCH v3] Documentation: gpu: Mention the requirements for new properties Maxime Ripard
2021-06-10 17:47 ` Maxime Ripard
2021-06-10 18:14 ` Liviu Dudau
2021-06-10 18:14   ` Liviu Dudau
2021-06-10 19:09 ` Rodrigo Vivi
2021-06-10 19:09   ` Rodrigo Vivi
2021-06-10 21:00 ` Daniel Vetter
2021-06-10 21:00   ` Daniel Vetter
2021-06-11  5:54   ` Maxime Ripard
2021-06-11  5:54     ` Maxime Ripard
2021-06-11  6:53     ` Tomi Valkeinen
2021-06-11  6:53       ` Tomi Valkeinen
2021-06-11 15:26       ` Daniel Vetter
2021-06-11 15:26         ` Daniel Vetter
2021-06-14 14:27     ` Pekka Paalanen
2021-06-14 16:14     ` Laurent Pinchart
2021-06-14 16:14       ` Laurent Pinchart
2021-06-11  8:14   ` Simon Ser
2021-06-11  8:14     ` Simon Ser
2021-06-11 12:03     ` Liviu Dudau
2021-06-11 12:03       ` Liviu Dudau
2021-06-11 12:56       ` Alyssa Rosenzweig
2021-06-11 12:56         ` Alyssa Rosenzweig
2021-06-11 13:34         ` Liviu Dudau
2021-06-11 13:34           ` Liviu Dudau
2021-06-14 16:23           ` Laurent Pinchart [this message]
2021-06-14 16:23             ` Laurent Pinchart
2021-06-14 14:49       ` Pekka Paalanen
2021-06-14 14:49         ` Pekka Paalanen
2021-06-14 15:24         ` Liviu Dudau
2021-06-14 15:24           ` Liviu Dudau
2021-06-14 16:33           ` Laurent Pinchart
2021-06-14 16:33             ` Laurent Pinchart
2021-06-15  7:03             ` Pekka Paalanen
2021-06-15  7:03               ` Pekka Paalanen
2021-06-15  7:15               ` Simon Ser
2021-06-15  7:15                 ` Simon Ser
2021-06-15  9:45                 ` Laurent Pinchart
2021-06-15  9:45                   ` Laurent Pinchart
2021-06-15 10:16                   ` Pekka Paalanen
2021-06-15 10:16                     ` Pekka Paalanen
2021-06-15 12:08                     ` Simon Ser
2021-06-15 12:08                       ` Simon Ser
2021-06-16 20:39                       ` Daniel Vetter
2021-06-16 20:39                         ` Daniel Vetter
2021-06-16 21:05                     ` Laurent Pinchart
2021-06-16 21:05                       ` Laurent Pinchart
2021-06-17  7:27                       ` Pekka Paalanen
2021-06-17  7:27                         ` Pekka Paalanen
2021-06-17 10:29                         ` Laurent Pinchart
2021-06-17 10:29                           ` Laurent Pinchart
2021-06-17 11:33                           ` Pekka Paalanen
2021-06-17 11:33                             ` Pekka Paalanen
2021-06-17 13:37                             ` Laurent Pinchart
2021-06-17 13:37                               ` Laurent Pinchart
2021-06-18  8:55                               ` Pekka Paalanen
2021-06-18  8:55                                 ` Pekka Paalanen
2021-06-18  9:58                                 ` Laurent Pinchart
2021-06-18  9:58                                   ` Laurent Pinchart
2021-06-18 11:32                                   ` Pekka Paalanen
2021-06-18 11:32                                     ` Pekka Paalanen
2021-06-18 12:19                                     ` Laurent Pinchart
2021-06-18 12:19                                       ` Laurent Pinchart
2021-06-21  8:21                                       ` Pekka Paalanen
2021-06-21  8:21                                         ` Pekka Paalanen

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=YMeCmcyFHO91hPi7@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alison.wang@nxp.com \
    --cc=alyssa.rosenzweig@collabora.com \
    --cc=alyssa@collabora.com \
    --cc=andrew@aj.id.au \
    --cc=anitha.chrisanthus@intel.com \
    --cc=bbrezillon@kernel.org \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=corbet@lwn.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=edmund.j.dea@intel.com \
    --cc=hamohammed.sa@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=hjc@rock-chips.com \
    --cc=hyun.kwon@xilinx.com \
    --cc=jbrunet@baylibre.com \
    --cc=jernej.skrabec@siol.net \
    --cc=joel@jms.id.au \
    --cc=jonas@kwiboo.se \
    --cc=jonathanh@nvidia.com \
    --cc=jy0922.shim@samsung.com \
    --cc=jyri.sarha@iki.fi \
    --cc=kernel@pengutronix.de \
    --cc=khilman@baylibre.com \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=kraxel@redhat.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-graphics-maintainer@vmware.com \
    --cc=linux-imx@nxp.com \
    --cc=linux@armlinux.org.uk \
    --cc=liviu.dudau@arm.com \
    --cc=ludovic.desroches@microchip.com \
    --cc=marex@denx.de \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=matthias.bgg@gmail.com \
    --cc=maxime@cerno.tech \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=melissa.srw@gmail.com \
    --cc=narmstrong@baylibre.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=noralf@tronnes.org \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=paul@crapouillou.net \
    --cc=philippe.cornu@foss.st.com \
    --cc=puck.chen@hisilicon.com \
    --cc=ray.huang@amd.com \
    --cc=robert.foss@linaro.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sam@ravnborg.org \
    --cc=sean@poorly.run \
    --cc=shawnguo@kernel.org \
    --cc=sroland@vmware.com \
    --cc=steven.price@arm.com \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=tiantao6@hisilicon.com \
    --cc=tomba@kernel.org \
    --cc=tomeu.vizoso@collabora.com \
    --cc=tzimmermann@suse.de \
    --cc=wens@csie.org \
    --cc=xinliang.liu@linaro.org \
    --cc=yannick.fertre@foss.st.com \
    --cc=yuq825@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.