From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [RFC] drm: atomic mode set API Date: Wed, 15 Feb 2012 17:55:29 -0800 Message-ID: <20120215175530.62432b7c@jbarnes-desktop> References: <20120215144230.648f4349@jbarnes-x220> <4F3C38E1.304@redhat.com> <20120215231249.GD26578@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1537350532==" Return-path: Received: from oproxy8-pub.bluehost.com (oproxy8-pub.bluehost.com [69.89.22.20]) by gabe.freedesktop.org (Postfix) with SMTP id 107059E7FE for ; Wed, 15 Feb 2012 17:55:35 -0800 (PST) In-Reply-To: <20120215231249.GD26578@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Daniel Vetter Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1537350532== Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/NtTHrnSfeU8Ejk6+edT4R0W"; protocol="application/pgp-signature" --Sig_/NtTHrnSfeU8Ejk6+edT4R0W Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Thu, 16 Feb 2012 00:12:49 +0100 Daniel Vetter wrote: > On Wed, Feb 15, 2012 at 05:59:45PM -0500, Adam Jackson wrote: > > On 2/15/12 5:42 PM, Jesse Barnes wrote: > >=20 > > >+#define DRM_SET_CONFIG_TEST (1<<0) /* don't change the config, just t= est it for validity */ > > >+ > > >+struct drm_mode_set_config { > > >+ __u64 crtcs; > > >+ __u64 crtc_fbs; > > >+ __u64 crtc_xpos; /* array of x coords for crtcs */ > > >+ __u64 crtc_ypos; /* array of y coords for crtcs */ > > >+ __u32 count_crtcs; > > >+ > > >+ __u64 plane_sets; /* array of set_plane structs */ > > >+ > > >+ __u32 count_planes; > > >+ > > >+ __u64 connectors; > > >+ __u64 connector_modes; > > >+ __u32 count_connectors; > > >+ > > >+ __u32 flags; > > >+}; > >=20 > > This appears to be missing some []s, but I think the intent is clear. > >=20 > > > #define DRM_MODE_ENCODER_NONE 0 > > > #define DRM_MODE_ENCODER_DAC 1 > > > #define DRM_MODE_ENCODER_TMDS 2 > > > > > >This allows you to bind a bunch of fbs to crtcs with independent > > >positions, as well as set a bunch of planes to specific fbs and > > >layouts. Finally, it lets you change the connector config at the same > > >time, with a flag to simply test a config instead of actually setting > > >it. > > > > > >Any comments? Do we also need to set gamma or other properties as part > > >of this? What about cursors? > >=20 > > I guess you might want to set gamma atomically, but I can't imagine > > it being a factor in anyone's "can I do this" logic. > >=20 > > How do you pass in pixel format? Do you just assume the existing fb > > is already in the correct format? That could work but it kind of > > sucks for low-memory environments since you'd need to have enough > > room to pre-create all the fbs. You could still do the "tear > > everything down first" approach to work around that, but then you'd > > still have the possibility of having nothing lit up _and_ not being > > able to set what was requested, and then needing to unwind in > > userspace. > >=20 > > I'd sort of also want to see audio reflected in this (sigh), since > > that's going to affect the bandwidth math. DP 1.2 makes that even > > worse. >=20 > Yeah, I think we should include any funky connector, crtc, plane > properties (the latter don't exist yet, but I guess they will sooner or > later) because they all might affect how many and which hw resources we > need (I'm thinking e.g. of plane setups for hw that reuses crtc engines as > planes, but where you can use the crtc scanout engine for something else > if it's completely occluded or set to just scan out the black borders with > a parameter). So just an array of set_property structs per object as well? That came up at today's meeting... Seems doable. --=20 Jesse Barnes, Intel Open Source Technology Center --Sig_/NtTHrnSfeU8Ejk6+edT4R0W Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBAgAGBQJPPGISAAoJEIEoDkX4Qk9hjc8P/2stbY7XyGg/9BvU/SDGTUi+ EDCOL6jRejuq5rhC0WNYnwdDQ6SMc8wHhZjRlwVkQlMc8xLstI0zER+iBZpUZPs1 hiN073+SO49NO8+jZ8Jbs4NK64Ny1Kfbg7yPq5trX3ApMAOElx7QLCjneAcsxArw TzMf0WOGLCYC74uerEpykG/SMXAOKIiZ0B9QPnEHmZ3pxSoYMkQ7xFeEvpM2CPEX N6vVi9jfFlxPFOgF36oVdJ9k1WrgNU0K7bNCfgeu8CaF3rKLGe5488qtCvDzu+ql /1va1TZ5gp4pZ0OggTm/m+uzksqtePwJmLJLCOirpUFAIhOMm6eL4HWuy76RmWcj zFWIlN9AchZ1mWMGqqQROuwdqGz7sYsyBsXlw3XTPUb4xZ40XbmZnGLi2mWqma/z thTYArj7TYlBg46BJtoVhMp8SPzrgS8uMACvxJGHhVobzupg6nBPO0mSpAlDgjma rW0f7fRpntOKzEhm17Ofuo13i6jAMiEJ4kkxgGsTe+gsYzEIZAB12h1lzgyGe4HN xkAjCz7lWVvwy0Cs9Fam1qgKRTtXa+oT3jsgC+1+EXH3X2yAmjGYX60W8e8w+aIJ 8J4tkTI94WCad6Kcz/LV/LbG3WmOUNWxnFpnUxJ1Lu7Hzv3y/FbVRrBCtQcGqXPV 96SOS6orK5MursvLCq39 =2RIT -----END PGP SIGNATURE----- --Sig_/NtTHrnSfeU8Ejk6+edT4R0W-- --===============1537350532== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1537350532==--