[PATCH weston] compositor-drm: rename outputs to follow kernel style

Pekka Paalanen ppaalanen at gmail.com
Fri Aug 21 00:35:34 PDT 2015


On Thu, 20 Aug 2015 11:05:39 -0700
Bryce Harrington <bryce at osg.samsung.com> wrote:

> On Thu, Aug 20, 2015 at 10:04:45AM +0300, Pekka Paalanen wrote:
> > On Wed, 19 Aug 2015 10:46:41 -0500
> > Derek Foreman <derekf at osg.samsung.com> wrote:
> > 
> > > Excellent!
> > > 
> > > Incidentally, this is also how Enlightenment names its outputs.
> > > 
> > > Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
> > 
> > Cheers.
> > 
> > Any objections to landing this for 1.9-beta? It does force users to fix
> > their weston.ini if they have any DRM output configurations there.
> 
> No objections, if it can be landed soonish.  It'd be nice if someone
> could test it out manually just for a sanity check.

My testing was limited to running Weston on DRM manually, and seeing in
the log that VGA1 is now VGA-1, and LVDS1 is now LVDS-1. That's all I
have here.

Would indeed be nice to have tested-by's from the bug reporters.

> (I wish we had some tests with coverage of this chunk of code, so I could
> give my usual plug for adding test cases; if we did, it'd probably
> pretty easy to add a couple test cases here and give us a bit extra
> confidence.)

It's a bit tough in this case, I'm not sure if we can affect what
outputs the kernel exposes, so it'd be tied to the test machine.


Thanks,
pq

> > > On 19/08/15 07:54 AM, Pekka Paalanen wrote:
> > > > From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > > > 
> > > > The problem with the old table of names is that it contains duplicates.
> > > > It is possible to end up with multiple outputs with the same name. In
> > > > that case you cannot write individual configurations for these outputs
> > > > in weston.ini, because they are matched by the name.
> > > > 
> > > > Change all names to follow the kernel naming scheme set in
> > > > drivers/gpu/drm/drm_crtc.c. The snprintf format now follows the kernel
> > > > style, too. Use the DRM_MODE_CONNECTOR_* macros rather than implicit
> > > > table ordering.
> > > > 
> > > > Completely new entries in the table are "Virtual" and "DSI".
> > > > 
> > > > There should not be any gaps in the macro values, but if there are, deal
> > > > with a NULL entry.
> > > > 
> > > > Also change "UNKNOWN" to "UNNAMED" so it's easier to distinguish from
> > > > "Unknown" by the kernel.
> > > > 
> > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89361
> > > > Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > > > ---
> > > >  src/compositor-drm.c | 42 +++++++++++++++++++++++-------------------
> > > >  1 file changed, 23 insertions(+), 19 deletions(-)
> > > > 
> > > > diff --git a/src/compositor-drm.c b/src/compositor-drm.c
> > > > index 26f0012..400bc0c 100644
> > > > --- a/src/compositor-drm.c
> > > > +++ b/src/compositor-drm.c
> > > > @@ -1745,34 +1745,38 @@ drm_set_dpms(struct weston_output *output_base, enum dpms_enum level)
> > > >  }
> > > >  
> > > >  static const char * const connector_type_names[] = {
> > > > -	"None",
> > > > -	"VGA",
> > > > -	"DVI",
> > > > -	"DVI",
> > > > -	"DVI",
> > > > -	"Composite",
> > > > -	"TV",
> > > > -	"LVDS",
> > > > -	"CTV",
> > > > -	"DIN",
> > > > -	"DP",
> > > > -	"HDMI",
> > > > -	"HDMI",
> > > > -	"TV",
> > > > -	"eDP",
> > > > +	[DRM_MODE_CONNECTOR_Unknown]     = "Unknown",
> > > > +	[DRM_MODE_CONNECTOR_VGA]         = "VGA",
> > > > +	[DRM_MODE_CONNECTOR_DVII]        = "DVI-I",
> > > > +	[DRM_MODE_CONNECTOR_DVID]        = "DVI-D",
> > > > +	[DRM_MODE_CONNECTOR_DVIA]        = "DVI-A",
> > > > +	[DRM_MODE_CONNECTOR_Composite]   = "Composite",
> > > > +	[DRM_MODE_CONNECTOR_SVIDEO]      = "SVIDEO",
> > > > +	[DRM_MODE_CONNECTOR_LVDS]        = "LVDS",
> > > > +	[DRM_MODE_CONNECTOR_Component]   = "Component",
> > > > +	[DRM_MODE_CONNECTOR_9PinDIN]     = "DIN",
> > > > +	[DRM_MODE_CONNECTOR_DisplayPort] = "DP",
> > > > +	[DRM_MODE_CONNECTOR_HDMIA]       = "HDMI-A",
> > > > +	[DRM_MODE_CONNECTOR_HDMIB]       = "HDMI-B",
> > > > +	[DRM_MODE_CONNECTOR_TV]          = "TV",
> > > > +	[DRM_MODE_CONNECTOR_eDP]         = "eDP",
> > > > +	[DRM_MODE_CONNECTOR_VIRTUAL]     = "Virtual",
> > > > +	[DRM_MODE_CONNECTOR_DSI]         = "DSI",
> > > >  };
> > > >  
> > > >  static char *
> > > >  make_connector_name(const drmModeConnector *con)
> > > >  {
> > > >  	char name[32];
> > > > -	const char *type_name;
> > > > +	const char *type_name = NULL;
> > > >  
> > > >  	if (con->connector_type < ARRAY_LENGTH(connector_type_names))
> > > >  		type_name = connector_type_names[con->connector_type];
> > > > -	else
> > > > -		type_name = "UNKNOWN";
> > > > -	snprintf(name, sizeof name, "%s%d", type_name, con->connector_type_id);
> > > > +
> > > > +	if (!type_name)
> > > > +		type_name = "UNNAMED";
> > > > +
> > > > +	snprintf(name, sizeof name, "%s-%d", type_name, con->connector_type_id);
> > > >  
> > > >  	return strdup(name);
> > > >  }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20150821/1710e59f/attachment.sig>


More information about the wayland-devel mailing list