Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp6112518pxb; Thu, 27 Jan 2022 06:49:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJwjegOhHcz8QQtkIBeXvYktgjxGT4rh2YjGzUBGY7jpGw2wzelL6iQX26ZIJWdKppE5iFvA X-Received: by 2002:a63:e10:: with SMTP id d16mr2979004pgl.458.1643294941588; Thu, 27 Jan 2022 06:49:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643294941; cv=none; d=google.com; s=arc-20160816; b=qrzrCxNm3taQW108oPfxp4g2yo4HNeC3bVfPy909waVL8gEw71AhB3Z0GLQLPOmJx1 cMDxUz3CcpQHT96KrTT1NEgIurVhinl302pho37l1eHZU2tlfagmJCPmz4iAw4vZKH44 Sopg8ye0mp6WhcqL+ViSWNygo9YsU9gFfWahXBWyiuhef6yTC84Hb1oNC41s+pJiVR7M GEPKTSI4nKKdtn+66RlooDezMvXIs9eKwKBL2u/ua5bNFw9EjNCvdsEJt5LxwXbVWa0v TcGTP3yBeJ/YV0CJCxSmkgih4YoDuW6JPbuRepihdC80kLKA5c9KwrmzXXeIOO0vKs0F hYjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :subject:cc:to:from:date:dkim-signature; bh=9G7z2L/wIkbdBAgvndKll7pSyf3VWgD5TJfFYJX8Dqc=; b=wkN12sQerh8lKPI34jQhxd9FessWgFm7KUy4z5TiGgQseOes0ImEyriCJNwgSXfHBm HnTAZKIztjzkryc6Ry3fjrwro7w+ZsNkOsdoUd5vkZu7nnjdRkAS7+ezWzqWRNWU4uj0 4kss900gullkmxGwHYp8xfrD2ZkO+M5Q54POEx9XKNAVUBKNF4YN+KnhK5gR4y5rw7g3 yY4aOgtE/uua2aHFMr1KEeBtpkbXDCaW4uCMON5livNjp+hXeBD3clIp7i4+CjVMmpni oQpSd/Ngnm143kB+WDFUIBQjmS7qsxm0a7aoT8HXx7kIEDoVDqpldW1QqRhFDDPe5K0a Zuhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=oDwBPEb0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si2304661pfn.184.2022.01.27.06.48.48; Thu, 27 Jan 2022 06:49:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=oDwBPEb0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238195AbiA0JFm (ORCPT + 99 others); Thu, 27 Jan 2022 04:05:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234573AbiA0JFm (ORCPT ); Thu, 27 Jan 2022 04:05:42 -0500 Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E945C061714; Thu, 27 Jan 2022 01:05:41 -0800 (PST) Received: by mail-lj1-x234.google.com with SMTP id e17so3305242ljk.5; Thu, 27 Jan 2022 01:05:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version; bh=9G7z2L/wIkbdBAgvndKll7pSyf3VWgD5TJfFYJX8Dqc=; b=oDwBPEb03yzvTtKtO6lk9QsrKgFHCgCm6TWY9QX5WG+SCQxV3UNkAQh4rUFntTku5G jL2IvCNjMy8vqCkpnHC6QvHLbIeyn5SqSt/pVmy4Wc4ge/UxoAkTBxIW6SEjs7Tc3NLE YDsP4lG8fjNh0uDUa8a2eMNrMvvG4SDIVmuJ+1ca6FID+vTobiObYsAxVdg3S7LZkPsX q6MpAZFzsr8vfhKSOMO72T6sOlaUAOGHhd6RbkfmjYedJfq3IyASoHb/DMjP2AKn8Kr4 inKUQXFOXsSzuURSseWBNFtXU3AtzyNoLmXHrPthW8b4jhxjhZkA2GFP5qRCBsGufJan J8rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version; bh=9G7z2L/wIkbdBAgvndKll7pSyf3VWgD5TJfFYJX8Dqc=; b=yO6M1nqzWCMHT9Y5aXcKMo5mHcvbZcui+gGe/zNFhYeTHLgLpMdj5BpB5Xua7bEKDk nT+GJ7Ag66rnPjdudtYFo2sa6Cs4xmUQcSVa/h5WXXEGiTDQsBQEPXOLsBle4AHOazzR ny+mskyzX5gtiE3uqdnnF1qiTV/FVqdzwbDKidv47r2Qo0/V9eDv1svE+ITB02aeg05H gs0wXADYYVdYCm95QhOFH/ik19C4jJC0ab96+lFc4qUPiBBn47FvPYQp0UzzRHOSIzza 8M5UmQheCnkV2GB887jaHF4Y8Q5zocrb56dM3zSVarzyVO2E/UY1ZcIXv4HAEkQcYb8Q Jntw== X-Gm-Message-State: AOAM533/JHIXquu4Ov40npuFbQVpsGDy2V/I3Qfaicc9xho7W3XZJzFh rsm9Ydz29QmcL7HbliMGfLw= X-Received: by 2002:a2e:9b5a:: with SMTP id o26mr2289750ljj.186.1643274339743; Thu, 27 Jan 2022 01:05:39 -0800 (PST) Received: from eldfell ([194.136.85.206]) by smtp.gmail.com with ESMTPSA id p28sm1658252lfo.79.2022.01.27.01.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jan 2022 01:05:39 -0800 (PST) Date: Thu, 27 Jan 2022 11:05:28 +0200 From: Pekka Paalanen To: Javier Martinez Canillas Cc: linux-kernel@vger.kernel.org, Thomas Zimmermann , Jonathan Corbet , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, Laurent Pinchart Subject: Re: [PATCH] drm/doc: Add section in the introduction page about learning material Message-ID: <20220127110528.20604049@eldfell> In-Reply-To: <20220127082058.434421-1-javierm@redhat.com> References: <20220127082058.434421-1-javierm@redhat.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_//82LTiAi=MvHuwuf6=cTHCM"; protocol="application/pgp-signature"; micalg=pgp-sha256 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Sig_//82LTiAi=MvHuwuf6=cTHCM Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, 27 Jan 2022 09:20:58 +0100 Javier Martinez Canillas wrote: > The Linux DRM subsystem supports complex graphics devices and it could be > quite overwhelming for newcomers to learn about the subsystem's internals. >=20 > There are lots of useful talks, slides and articles available that can be > used to get familiar with the needed concepts and ease the learning curve. >=20 > Add a section to the intro that contains these DRM introductory materials. >=20 > Suggested-by: Daniel Vetter > Signed-off-by: Javier Martinez Canillas > --- >=20 > Documentation/gpu/introduction.rst | 36 ++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) >=20 > diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/intro= duction.rst > index 25a56e9c0cfd..35986784f916 100644 > --- a/Documentation/gpu/introduction.rst > +++ b/Documentation/gpu/introduction.rst > @@ -112,3 +112,39 @@ Please conduct yourself in a respectful and civilise= d manner when > interacting with community members on mailing lists, IRC, or bug > trackers. The community represents the project as a whole, and abusive > or bullying behaviour is not tolerated by the project. > + > +Learning material > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Since the Linux DRM layer supports complex graphics devices, it can be q= uite > +overwhelming for newcomers to get familiar with all the needed concepts = and > +learn the subsystem's internals. Hi, this seems to say that DRM is going to be complicated no matter what hardware one wants to drive, but is that true? Is there no way to say that if your display hardware is simple (no GPU), then the driver can be simple to write too? > + > +To shallow the learning curve, this section contains a list of presentat= ions > +and documents that can be used to learn about DRM/KMS and graphics in ge= neral. > + > +The list is sorted in reverse chronological order, to keep the most up-t= o-date > +material at the top. But all of them contain useful information, and it = can be > +valuable to go through older material to understand the rationale and co= ntext > +in which the recent changes to the DRM subsystem were made. > + > +Talks > +----- > + > +* `An Overview of the Linux and Userspace Graphics Stack `_ - Paul Kocialkowski (2020) > +* `Getting pixels on screen on Linux: introduction to Kernel Mode Settin= g `_ - Simon Ser (2020) > +* `An introduction to the Linux DRM subsystem `_ - Maxime Ripard (2017) > +* `Embrace the Atomic (Display) Age `_ - Daniel Vetter (2016) > +* `Anatomy of an Atomic KMS Driver `_ - Laurent Pinchart (2015) > +* `Atomic Modesetting for Drivers `_ - Daniel Vetter (2015) > +* `Anatomy of an Embedded KMS Driver `_ - Laurent Pinchart (2013 > + > +Slides and articles > +------------------- > + > +* `Understanding the Linux Graphics Stack `_ - Bootlin (2022) > +* `DRM KMS overview = `_ - STMicroelectronics (2021) > +* `Linux graphic stack `_ - Nathan Gau=C3=ABr (2017) > +* `The DRM/KMS subsystem from a newbie=E2=80=99s point of view `_ - Boris Brezillon (2014) > +* `A brief introduction to the Linux graphics stack `= _ - Iago Toral (2014) > +* `The Linux Graphics Stack `_ - Jasper St. Pierre (2012) That's an impressive list of links! However, given the discussions that prompted this doc, I think the gist is missing. The reader is just flooded with stuff to read and learn which can be discouraging. Your audience are developers who know nothing about DRM. They may have been writing fb drivers instead. The display hardware they want to drive has no GPU. Where should they get started? Which presentations to read/watch first? Which driver to look at for a simple example? Maybe add one more section targeting that specific audience? Thanks, pq --Sig_//82LTiAi=MvHuwuf6=cTHCM Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEJQjwWQChkWOYOIONI1/ltBGqqqcFAmHyYFgACgkQI1/ltBGq qqfxDxAAsqipfI+nMvx49JsJxUL2kCMd6pWOEFGM18PL4ZQCotCVrUhF5c9IZ4aj f1qN13r3UhzJAyeBjWa4vrS/4YA1K/ILBpEXNZ59dw+C3CsHAfSDVFwqS/Z9PUrA InNYC9tmvA1ck2Xv4GT9JXuOf1czRIL3RwMb84LeNUYT3AUHEudPDH9yJpvJCrgB WwiOAbm0SERGi3W5wbPPqtmZVvcS+OI8YHqmjJWa7o2eI7KhsoERylPlU1AoPYEW PRwueEDGt++NQCjPk1rizM9QEZH/8IQ1GQ2mE3+QXGyEjkmexOAYSS/u+AS3NaMq zxuuCd9YFs/xVTZwOsRh+OdZLNiZeqmIR8NOTeWEylipILDhojDhBAa3kn9CGsIE Wcqe+Kbax2kVefEbBUx2wRMIINmOPkZFc+B0pSY0UmmxfVjWHWicIC5a8G16kGvn nVgUfG0ATmh+xFyRZWjbqlszdlxSiI2KmowiiGsnyilIBraQyB1hf53QxTxjEH2o 1/1lCHITKO1Ke29LKUHypCgZyu73TOC+NdZPvItjRKHdjJxVcs6/iC8JoWrdhzlk huB6CYJiB29fwIRa6DyED1u29vxcG2invauqZEF5QtfYQRi2XcTYv3kUiR3HpAuk CyKCZfLnIyfbNu40CZJJV6LAX9AZ0Rd2Xq1hb4LM7iqFDwIDZ2M= =r+Et -----END PGP SIGNATURE----- --Sig_//82LTiAi=MvHuwuf6=cTHCM--