On Thu, Aug 20, 2015 at 10:04:45AM +0300, Pekka Paalanen wrote: > On Wed, 19 Aug 2015 10:46:41 -0500 > Derek Foreman <[email protected]> wrote: > > > Excellent! > > > > Incidentally, this is also how Enlightenment names its outputs. > > > > Reviewed-by: Derek Foreman <[email protected]> > > 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. (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.) Bryce > Thanks, > pq > > > On 19/08/15 07:54 AM, Pekka Paalanen wrote: > > > From: Pekka Paalanen <[email protected]> > > > > > > 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 <[email protected]> > > > --- > > > 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); > > > } > > > > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQIVAwUBVdV8FCNf5bQRqqqnAQgouRAAgwqKVHYvGhtjqv85EFrzOn+GJX5bSYKm > 0SKDa9hYypXDCV278t2Knc5vhPATqyL6BvKAeczGQSTRzROuyXzzULboxyR2ZCC1 > fStYSfULNoU3DuWUhShxEHqkfv06bFapALdITchWt6EcZsL4pJPefnPn8DceDeqv > reVhokeS70GOP+7rVWjpuEytJLXKy473zSkwutvhcu7TS+kc2o322sQqTYQ3Sd8z > UTn+GcxEk1YXr5BlmDDeqdMVPlfG4p6h+X+ugwNcgjd1/HqWWIOM+thcoYQeJ0n7 > lY5nvbNDbH//lR7fKnsr1/jPwFi70clDzpVPTOeQx85vF/yJOfapfLqHA4Fysa6H > 1E064SJwIFHTxT8T/t4EK+cluB72Dbl5N1USpyvw2/kaGAw2POgHX+811KIUK3/2 > 4oumE7dykXPN9dK5XxiP+OFU1Sk3wg+LRJSCi9y3t+yACsmdmD1VxdPaJrllBpiG > C4/sWDlz8uq8g/qsximxul8BYtGyjDts6Clq0OVKCN0W1Q1M2SuoeO4p5y+PcbRr > d1r77oaoeqPoT6EQpmmcPOB75iFmDBtiKYt6hicrqAahxesILFDJHYEwdUcaCatb > vO/ztdqmh1UVZt/ynjY3Wc5X8gazv/uLe3MkKP7Ie35Llwj0sgK/GOUgU6FpXc8a > LNA7+nA6+ic= > =0zFu > -----END PGP SIGNATURE----- _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
