From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: Re: [PATCH 03/28] drm: Reorganize helper vtables and their docs Date: Mon, 7 Dec 2015 12:00:09 +0100 Message-ID: <20151207110009.GE13177@ulmo> References: <1449218769-16577-1-git-send-email-daniel.vetter@ffwll.ch> <1449218769-16577-4-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0446574512==" Return-path: In-Reply-To: <1449218769-16577-4-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org --===============0446574512== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="10jrOL3x2xqLmOsH" Content-Disposition: inline --10jrOL3x2xqLmOsH Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Dec 04, 2015 at 09:45:44AM +0100, Daniel Vetter wrote: [...] > diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc= _helper.c > index 10d0989db273..077e48d3cac2 100644 > --- a/drivers/gpu/drm/drm_crtc_helper.c > +++ b/drivers/gpu/drm/drm_crtc_helper.c > @@ -62,6 +62,11 @@ > * converting to the plane helpers). New drivers must not use these func= tions > * but need to implement the atomic interface instead, potentially using= the > * atomic helpers for that. > + * > + * The these legacy modeset helpers use the same function table structur= es as s/The these/The/ > diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_m= odeset_helper_vtables.h > new file mode 100644 > index 000000000000..35c5a1c4e7ba > --- /dev/null > +++ b/include/drm/drm_modeset_helper_vtables.h > @@ -0,0 +1,252 @@ > +/* > + * Copyright =C2=A9 2015 Intel Corporation > + * Daniel Vetter Perhaps inherit the copyright statements from the includes that you extracted these from? > +/** > + * DOC: overview > + * > + * The DRM mode setting helper functions are common code for drivers to = use if > + * they wish. Drivers are not forced to use this code in their > + * implementations but it would be useful if the code they do use at lea= st > + * provides a consistent interface and operation to userspace. Therefore= it is > + * highly recommended to use the provided helpers as much as possible. > + * > + * Because there is only one pointer per modeset object to hold a vfunc = table > + * for helper libraries they are by necessity shared among the different > + * helpers. > + * > + * To make this clear all the helper vtables are pulled together in this= location here. Perhaps drop the "here" at the end of that sentence. Also maybe wrap the last line because it stands out as much longer than the above. > + */ > + > +enum mode_set_atomic; > + > +/** > + * struct drm_crtc_helper_funcs - helper operations for CRTCs > + * @dpms: set power state > + * @prepare: prepare the CRTC, called before @mode_set > + * @commit: commit changes to CRTC, called after @mode_set > + * @mode_fixup: try to fixup proposed mode for this CRTC > + * @mode_set: set this mode > + * @mode_set_nofb: set mode only (no scanout buffer attached) > + * @mode_set_base: update the scanout buffer > + * @mode_set_base_atomic: non-blocking mode set (used for kgdb support) > + * @load_lut: load color palette > + * @disable: disable CRTC when no longer in use > + * @enable: enable CRTC > + * @atomic_check: check for validity of an atomic state > + * @atomic_begin: begin atomic update > + * @atomic_flush: flush atomic update > + * > + * The helper operations are called by the mid-layer CRTC helper. > + * > + * Note that with atomic helpers @dpms, @prepare and @commit hooks are > + * deprecated. Used @enable and @disable instead exclusively. I /think/ it would be more correct to say: "Use @enable and @disable exclusively instead." > + * > + * With legacy crtc helpers there's a big semantic difference between @d= isable s/crtc/CRTC/, there's a couple more places where the casing is inconsistent, I'll refrain from pointing them out explicitly since your editor will be much better at finding them. > +/** > + * struct drm_encoder_helper_funcs - helper operations for encoders > + * @dpms: set power state > + * @save: save connector state > + * @restore: restore connector state > + * @mode_fixup: try to fixup proposed mode for this connector > + * @prepare: part of the disable sequence, called before the CRTC modeset > + * @commit: called after the CRTC modeset > + * @mode_set: set this mode, optional for atomic helpers > + * @get_crtc: return CRTC that the encoder is currently attached to > + * @detect: connection status detection > + * @disable: disable encoder when not in use (overrides DPMS off) > + * @enable: enable encoder > + * @atomic_check: check for validity of an atomic update > + * > + * The helper operations are called by the mid-layer CRTC helper. > + * > + * Note that with atomic helpers @dpms, @prepare and @commit hooks are > + * deprecated. Used @enable and @disable instead exclusively. Same comment as for the CRTC helper functions. Thierry --10jrOL3x2xqLmOsH Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJWZWa2AAoJEN0jrNd/PrOhlwMP/2EPlIJFXWcORG8x/GM0WwD1 0ie+APEZ6EyezIKHHjUYeQRh6KfSki1x7rO7Nzb1nD3yARUKsqg19xsSxuad3BRN FbJtzPkjhJ0kARh08vFKicFBoKe5Rpf9ZvTqSSPmD6jFy7yYmSXygV/FkXdRu6WK yfUQUztEjHXXFugMIF1L7O1/+QvEF8Cvm01Rmo+xqRWX4dpxLvDdBOyGYQQHrzin TQmKkFHU9CCwGK7uspYwSkUyi2AxAar5twlWQRVwRjDXPBQAdJmr6mNeuexOi8Wp rDgm/wWuFfGS1iycEOD10thD6nEZ/lx83VBMbDN0lrFxD2uqCvOpE5+LeKTR5N3/ bD/vS8NtcczrOJhUEgnRMB2W1gcnJDs0cvvmqa0XjcUg6lm2LFNiJZI9CdZRNApd 4xFQBFBEa7C4TxUg9VT8ZvrwIHxGW6w/tWDLM9UrSSNmZBrxvLSMGmx5bxq7RTBz c6jBbk56mkyClsqQXtpjiYzHt+wq0GaXxckrMh4YCV+FjYk5qiqrGHOirq25RqiT eZppT/6l60163SHULKxqsJsaeVIU/XR9idFPday2SL+fCsnEmIxK4JgvzrTcOww0 0f2YqDkYp/sfIuC7eZ6yQJzJK9O173gcgkLvSkJvmsvXtCrIpUyFrPyHzmVGs5Km 4cHHATk/X22f0INuPNbI =8Mhp -----END PGP SIGNATURE----- --10jrOL3x2xqLmOsH-- --===============0446574512== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============0446574512==--