From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 5/6] drm/doc: diagram for mode objects and properties Date: Tue, 28 Feb 2017 18:13:18 +0100 Message-ID: <20170228171319.1786-6-daniel.vetter@ffwll.ch> References: <20170228171319.1786-1-daniel.vetter@ffwll.ch> Return-path: In-Reply-To: <20170228171319.1786-1-daniel.vetter@ffwll.ch> Sender: linux-doc-owner@vger.kernel.org To: linux-doc@vger.kernel.org Cc: DRI Development , Daniel Vetter , Laurent Pinchart , Manasi Navare List-Id: dri-devel@lists.freedesktop.org Resulted in confusion a few times in the past. Cc: Laurent Pinchart Cc: Manasi Navare Signed-off-by: Daniel Vetter --- Documentation/gpu/drm-kms.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst index 17a4cd5b14fd..20378881445f 100644 --- a/Documentation/gpu/drm-kms.rst +++ b/Documentation/gpu/drm-kms.rst @@ -161,6 +161,28 @@ KMS Core Structures and Functions Modeset Base Object Abstraction =============================== +.. kernel-render:: DOT + :alt: Mode Objects and Properties + :caption: Mode Objects and Properties + + digraph { + node [shape=box] + + "drm_property A" -> "drm_mode_object A" + "drm_property A" -> "drm_mode_object B" + "drm_property B" -> "drm_mode_object A" + } + +The base structure for all KMS objects is :c:type:`struct drm_mode_object +`. One of the base services is provides is tracking properties, +which are especially important for the atomic IOCTL (see `Atomic Mode +Setting`_). The somewhat surprising part here is that properties are not +directly instantiated on each object, but free-standing mode objects themselves, +represented by :c:type:`struct drm_property `, which only specify +the type and value range of a property. Any given property can be attached +multiple times to different objects using :c:func:`drm_object_attach_property() +`. + .. kernel-doc:: include/drm/drm_mode_object.h :internal: -- 2.11.0