From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EBF1C48BD1 for ; Thu, 10 Jun 2021 19:10:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2FEC4613F5 for ; Thu, 10 Jun 2021 19:10:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230117AbhFJTMB (ORCPT ); Thu, 10 Jun 2021 15:12:01 -0400 Received: from mga05.intel.com ([192.55.52.43]:10703 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230077AbhFJTMB (ORCPT ); Thu, 10 Jun 2021 15:12:01 -0400 IronPort-SDR: RSjgioKPB0pkV9jNy3CcmX8dw406WNJuDjdOAeWPrhP49XTC3Fn4B8/uSbf0wvZANf4ruDYjeM /FwJZyvp4rIg== X-IronPort-AV: E=McAfee;i="6200,9189,10011"; a="291008056" X-IronPort-AV: E=Sophos;i="5.83,264,1616482800"; d="scan'208";a="291008056" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2021 12:10:04 -0700 IronPort-SDR: dGD0i6UEOqK75GJ3pIGNZ2ZdUpkJ/ZaaA8tAtzePLMvGR6TFmM3bmZNTXSFSVfzAw9DBIOUVNK VBuDrOLqZ3bQ== X-IronPort-AV: E=Sophos;i="5.83,264,1616482800"; d="scan'208";a="552461753" Received: from anunitax-mobl1.gar.corp.intel.com (HELO intel.com) ([10.254.36.102]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2021 12:09:53 -0700 Date: Thu, 10 Jun 2021 15:09:51 -0400 From: Rodrigo Vivi To: Maxime Ripard Cc: dri-devel@lists.freedesktop.org, Daniel Vetter , David Airlie , Maarten Lankhorst , Thomas Zimmermann , linux-doc@vger.kernel.org, Jonathan Corbet , Alexandre Belloni , Alexandre Torgue , Alex Deucher , Alison Wang , Alyssa Rosenzweig , Andrew Jeffery , Andrzej Hajda , Anitha Chrisanthus , Benjamin Gaignard , Ben Skeggs , Boris Brezillon , Brian Starkey , Chen Feng , Chen-Yu Tsai , Christian Gmeiner , Christian =?iso-8859-1?Q?K=F6nig?= , Chun-Kuang Hu , Edmund Dea , Eric Anholt , Fabio Estevam , Gerd Hoffmann , Haneen Mohammed , Hans de Goede , Heiko =?iso-8859-1?Q?St=FCbner?= , Huang Rui , Hyun Kwon , Inki Dae , Jani Nikula , Jernej Skrabec , Jerome Brunet , Joel Stanley , John Stultz , Jonas Karlman , Jonathan Hunter , Joonas Lahtinen , Joonyoung Shim , Jyri Sarha , Kevin Hilman , Kieran Bingham , Krzysztof Kozlowski , Kyungmin Park , Laurent Pinchart , Linus Walleij , Liviu Dudau , Lucas Stach , Ludovic Desroches , Marek Vasut , Martin Blumenstingl , Matthias Brugger , Maxime Coquelin , Maxime Ripard , Melissa Wen , Neil Armstrong , Nicolas Ferre , Noralf =?iso-8859-1?Q?Tr=F8nnes?= , NXP Linux Team , Oleksandr Andrushchenko , Patrik Jakobsson , Paul Cercueil , Pengutronix Kernel Team , Philippe Cornu , Philipp Zabel , Qiang Yu , Rob Clark , Robert Foss , Rob Herring , Rodrigo Siqueira , Roland Scheidegger , Russell King , Sam Ravnborg , Sandy Huang , Sascha Hauer , Sean Paul , Seung-Woo Kim , Shawn Guo , Stefan Agner , Steven Price , Sumit Semwal , Thierry Reding , Tian Tao , Tomeu Vizoso , Tomi Valkeinen , VMware Graphics , Xinliang Liu , Xinwei Kong , Yannick Fertre , Zack Rusin , Daniel Vetter Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties Message-ID: References: <20210610174731.1209188-1-maxime@cerno.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210610174731.1209188-1-maxime@cerno.tech> Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Thu, Jun 10, 2021 at 07:47:31PM +0200, Maxime Ripard wrote: > New KMS properties come with a bunch of requirements to avoid each > driver from running their own, inconsistent, set of properties, > eventually leading to issues like property conflicts, inconsistencies > between drivers and semantics, etc. > > Let's document what we expect. > > Cc: Alexandre Belloni > Cc: Alexandre Torgue > Cc: Alex Deucher > Cc: Alison Wang > Cc: Alyssa Rosenzweig > Cc: Andrew Jeffery > Cc: Andrzej Hajda > Cc: Anitha Chrisanthus > Cc: Benjamin Gaignard > Cc: Ben Skeggs > Cc: Boris Brezillon > Cc: Brian Starkey > Cc: Chen Feng > Cc: Chen-Yu Tsai > Cc: Christian Gmeiner > Cc: "Christian König" > Cc: Chun-Kuang Hu > Cc: Edmund Dea > Cc: Eric Anholt > Cc: Fabio Estevam > Cc: Gerd Hoffmann > Cc: Haneen Mohammed > Cc: Hans de Goede > Cc: "Heiko Stübner" > Cc: Huang Rui > Cc: Hyun Kwon > Cc: Inki Dae > Cc: Jani Nikula > Cc: Jernej Skrabec > Cc: Jerome Brunet > Cc: Joel Stanley > Cc: John Stultz > Cc: Jonas Karlman > Cc: Jonathan Hunter > Cc: Joonas Lahtinen > Cc: Joonyoung Shim > Cc: Jyri Sarha > Cc: Kevin Hilman > Cc: Kieran Bingham > Cc: Krzysztof Kozlowski > Cc: Kyungmin Park > Cc: Laurent Pinchart > Cc: Linus Walleij > Cc: Liviu Dudau > Cc: Lucas Stach > Cc: Ludovic Desroches > Cc: Marek Vasut > Cc: Martin Blumenstingl > Cc: Matthias Brugger > Cc: Maxime Coquelin > Cc: Maxime Ripard > Cc: Melissa Wen > Cc: Neil Armstrong > Cc: Nicolas Ferre > Cc: "Noralf Trĝnnes" > Cc: NXP Linux Team > Cc: Oleksandr Andrushchenko > Cc: Patrik Jakobsson > Cc: Paul Cercueil > Cc: Pengutronix Kernel Team > Cc: Philippe Cornu > Cc: Philipp Zabel > Cc: Qiang Yu > Cc: Rob Clark > Cc: Robert Foss > Cc: Rob Herring > Cc: Rodrigo Siqueira > Cc: Rodrigo Vivi > Cc: Roland Scheidegger > Cc: Russell King > Cc: Sam Ravnborg > Cc: Sandy Huang > Cc: Sascha Hauer > Cc: Sean Paul > Cc: Seung-Woo Kim > Cc: Shawn Guo > Cc: Stefan Agner > Cc: Steven Price > Cc: Sumit Semwal > Cc: Thierry Reding > Cc: Tian Tao > Cc: Tomeu Vizoso > Cc: Tomi Valkeinen > Cc: VMware Graphics > Cc: Xinliang Liu > Cc: Xinwei Kong > Cc: Yannick Fertre > Cc: Zack Rusin > Reviewed-by: Daniel Vetter > Signed-off-by: Maxime Ripard > > --- > > Changes from v2: > - Take into account the feedback from Laurent and Lidiu to no longer > force generic properties, but prefix vendor-specific properties with > the vendor name > > Changes from v1: > - Typos and wording reported by Daniel and Alex > --- > Documentation/gpu/drm-kms.rst | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst > index 87e5023e3f55..bbe254dca635 100644 > --- a/Documentation/gpu/drm-kms.rst > +++ b/Documentation/gpu/drm-kms.rst > @@ -463,6 +463,33 @@ KMS Properties > This section of the documentation is primarily aimed at user-space developers. > For the driver APIs, see the other sections. > > +Requirements > +------------ > + > +KMS drivers might need to add extra properties to support new features. > +Each new property introduced in a driver need to meet a few > +requirements, in addition to the one mentioned above.: > + > +- Before the introduction of any vendor-specific properties, they must > + be first checked against the generic ones to avoid any conflict or > + redundancy. > + > +- Vendor-specific properties must be prefixed by the vendor's name, > + following the syntax "$vendor:$property". > + > +- Generic properties must be standardized, with some documentation to > + describe how the property can be used. > + > +- Generic properties must provide a generic helper in the core code to > + register that property on the object it attaches to. > + > +- Generic properties content must be decoded by the core and provided in > + the object's associated state structure. That includes anything > + drivers might want to precompute, like :c:type:`struct drm_clip_rect > + ` for planes. > + > +- An IGT test should be submitted. > + > Property Types and Blob Property Support > ---------------------------------------- Acked-by: Rodrigo Vivi > > -- > 2.31.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DA0DC48BDF for ; Thu, 10 Jun 2021 19:10:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2A35C613F5 for ; Thu, 10 Jun 2021 19:10:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2A35C613F5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 88BBE6E15F; Thu, 10 Jun 2021 19:10:06 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6AA556E15F for ; Thu, 10 Jun 2021 19:10:05 +0000 (UTC) IronPort-SDR: AU9v5wR+OGtl6BG+6Vi2KfnUlZCQw/m1oyDx7TPdgcTXnhqVeGbR0OpPQwTHGp+DY855Y9mQqR +j8yuDciWIeA== X-IronPort-AV: E=McAfee;i="6200,9189,10011"; a="202349655" X-IronPort-AV: E=Sophos;i="5.83,264,1616482800"; d="scan'208";a="202349655" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2021 12:10:04 -0700 IronPort-SDR: dGD0i6UEOqK75GJ3pIGNZ2ZdUpkJ/ZaaA8tAtzePLMvGR6TFmM3bmZNTXSFSVfzAw9DBIOUVNK VBuDrOLqZ3bQ== X-IronPort-AV: E=Sophos;i="5.83,264,1616482800"; d="scan'208";a="552461753" Received: from anunitax-mobl1.gar.corp.intel.com (HELO intel.com) ([10.254.36.102]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2021 12:09:53 -0700 Date: Thu, 10 Jun 2021 15:09:51 -0400 From: Rodrigo Vivi To: Maxime Ripard Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties Message-ID: References: <20210610174731.1209188-1-maxime@cerno.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210610174731.1209188-1-maxime@cerno.tech> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Xinliang Liu , dri-devel@lists.freedesktop.org, Anitha Chrisanthus , Jonathan Hunter , Jerome Brunet , Kevin Hilman , Ludovic Desroches , NXP Linux Team , Sascha Hauer , Roland Scheidegger , Sean Paul , Hyun Kwon , Andrew Jeffery , Seung-Woo Kim , Noralf =?iso-8859-1?Q?Tr=F8nnes?= , Pengutronix Kernel Team , Alex Deucher , Laurent Pinchart , Alexandre Belloni , linux-doc@vger.kernel.org, David Airlie , Edmund Dea , Thierry Reding , Daniel Vetter , Krzysztof Kozlowski , Steven Price , VMware Graphics , Ben Skeggs , Martin Blumenstingl , Rodrigo Siqueira , Boris Brezillon , Sandy Huang , Kyungmin Park , Maxime Coquelin , Haneen Mohammed , Neil Armstrong , Melissa Wen , Gerd Hoffmann , Benjamin Gaignard , Sam Ravnborg , Jonathan Corbet , Xinwei Kong , Chen-Yu Tsai , Alyssa Rosenzweig , Joel Stanley , Chun-Kuang Hu , Jonas Karlman , Chen Feng , Alison Wang , Tomeu Vizoso , Tomi Valkeinen , Kieran Bingham , Tian Tao , Shawn Guo , Christian =?iso-8859-1?Q?K=F6nig?= , Daniel Vetter , Liviu Dudau , Alexandre Torgue , Paul Cercueil , Andrzej Hajda , Huang Rui , Marek Vasut , Joonyoung Shim , Oleksandr Andrushchenko , Russell King , Philippe Cornu , Thomas Zimmermann , Hans de Goede , Matthias Brugger , Jernej Skrabec , Yannick Fertre , Nicolas Ferre , Robert Foss , Qiang Yu , Jyri Sarha Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Jun 10, 2021 at 07:47:31PM +0200, Maxime Ripard wrote: > New KMS properties come with a bunch of requirements to avoid each > driver from running their own, inconsistent, set of properties, > eventually leading to issues like property conflicts, inconsistencies > between drivers and semantics, etc. > > Let's document what we expect. > > Cc: Alexandre Belloni > Cc: Alexandre Torgue > Cc: Alex Deucher > Cc: Alison Wang > Cc: Alyssa Rosenzweig > Cc: Andrew Jeffery > Cc: Andrzej Hajda > Cc: Anitha Chrisanthus > Cc: Benjamin Gaignard > Cc: Ben Skeggs > Cc: Boris Brezillon > Cc: Brian Starkey > Cc: Chen Feng > Cc: Chen-Yu Tsai > Cc: Christian Gmeiner > Cc: "Christian König" > Cc: Chun-Kuang Hu > Cc: Edmund Dea > Cc: Eric Anholt > Cc: Fabio Estevam > Cc: Gerd Hoffmann > Cc: Haneen Mohammed > Cc: Hans de Goede > Cc: "Heiko Stübner" > Cc: Huang Rui > Cc: Hyun Kwon > Cc: Inki Dae > Cc: Jani Nikula > Cc: Jernej Skrabec > Cc: Jerome Brunet > Cc: Joel Stanley > Cc: John Stultz > Cc: Jonas Karlman > Cc: Jonathan Hunter > Cc: Joonas Lahtinen > Cc: Joonyoung Shim > Cc: Jyri Sarha > Cc: Kevin Hilman > Cc: Kieran Bingham > Cc: Krzysztof Kozlowski > Cc: Kyungmin Park > Cc: Laurent Pinchart > Cc: Linus Walleij > Cc: Liviu Dudau > Cc: Lucas Stach > Cc: Ludovic Desroches > Cc: Marek Vasut > Cc: Martin Blumenstingl > Cc: Matthias Brugger > Cc: Maxime Coquelin > Cc: Maxime Ripard > Cc: Melissa Wen > Cc: Neil Armstrong > Cc: Nicolas Ferre > Cc: "Noralf Trĝnnes" > Cc: NXP Linux Team > Cc: Oleksandr Andrushchenko > Cc: Patrik Jakobsson > Cc: Paul Cercueil > Cc: Pengutronix Kernel Team > Cc: Philippe Cornu > Cc: Philipp Zabel > Cc: Qiang Yu > Cc: Rob Clark > Cc: Robert Foss > Cc: Rob Herring > Cc: Rodrigo Siqueira > Cc: Rodrigo Vivi > Cc: Roland Scheidegger > Cc: Russell King > Cc: Sam Ravnborg > Cc: Sandy Huang > Cc: Sascha Hauer > Cc: Sean Paul > Cc: Seung-Woo Kim > Cc: Shawn Guo > Cc: Stefan Agner > Cc: Steven Price > Cc: Sumit Semwal > Cc: Thierry Reding > Cc: Tian Tao > Cc: Tomeu Vizoso > Cc: Tomi Valkeinen > Cc: VMware Graphics > Cc: Xinliang Liu > Cc: Xinwei Kong > Cc: Yannick Fertre > Cc: Zack Rusin > Reviewed-by: Daniel Vetter > Signed-off-by: Maxime Ripard > > --- > > Changes from v2: > - Take into account the feedback from Laurent and Lidiu to no longer > force generic properties, but prefix vendor-specific properties with > the vendor name > > Changes from v1: > - Typos and wording reported by Daniel and Alex > --- > Documentation/gpu/drm-kms.rst | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst > index 87e5023e3f55..bbe254dca635 100644 > --- a/Documentation/gpu/drm-kms.rst > +++ b/Documentation/gpu/drm-kms.rst > @@ -463,6 +463,33 @@ KMS Properties > This section of the documentation is primarily aimed at user-space developers. > For the driver APIs, see the other sections. > > +Requirements > +------------ > + > +KMS drivers might need to add extra properties to support new features. > +Each new property introduced in a driver need to meet a few > +requirements, in addition to the one mentioned above.: > + > +- Before the introduction of any vendor-specific properties, they must > + be first checked against the generic ones to avoid any conflict or > + redundancy. > + > +- Vendor-specific properties must be prefixed by the vendor's name, > + following the syntax "$vendor:$property". > + > +- Generic properties must be standardized, with some documentation to > + describe how the property can be used. > + > +- Generic properties must provide a generic helper in the core code to > + register that property on the object it attaches to. > + > +- Generic properties content must be decoded by the core and provided in > + the object's associated state structure. That includes anything > + drivers might want to precompute, like :c:type:`struct drm_clip_rect > + ` for planes. > + > +- An IGT test should be submitted. > + > Property Types and Blob Property Support > ---------------------------------------- Acked-by: Rodrigo Vivi > > -- > 2.31.1 >