* [RFC][PATCH 0/2] drm: PATH prop for all connectors?
@ 2019-06-13 18:43 Ville Syrjala
2019-06-13 18:43 ` [RFC][PATCH 1/2] drm: Improve PATH prop docs Ville Syrjala
` (6 more replies)
0 siblings, 7 replies; 16+ messages in thread
From: Ville Syrjala @ 2019-06-13 18:43 UTC (permalink / raw)
To: dri-devel; +Cc: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Here's a possible apporoach for providing userspace with
some stable connector identifiers. Combine with the bus
name of the GPU and you should have some kind of real
physical path description. Unfortunately the ship has
sailed for MST connectors because userspace is already
parsing the property and expects to find certain things
there. So if we want stable names for those we'd probably
have introduce another PATH prop (PHYS_PATH?).
I suppose one alternative would to make the connector
type_id stable. Currently that is being populated by drm
core and it's just a global counter. Not sure how badly
things would turn out if we'd allow each driver to set
that. It could result in conflicting xrandr connector
names between different GPUs which I suppose would
confuse existing userspace?
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Ville Syrjälä (2):
drm: Improve PATH prop docs
drm/i915: Populate PATH prop for every connector
drivers/gpu/drm/drm_connector.c | 13 ++++++++--
drivers/gpu/drm/i915/icl_dsi.c | 3 +++
drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++
drivers/gpu/drm/i915/intel_connector.h | 3 +++
drivers/gpu/drm/i915/intel_crt.c | 2 ++
drivers/gpu/drm/i915/intel_dp.c | 6 ++++-
drivers/gpu/drm/i915/intel_dp_mst.c | 3 +--
drivers/gpu/drm/i915/intel_dvo.c | 3 +++
drivers/gpu/drm/i915/intel_hdmi.c | 4 +++
drivers/gpu/drm/i915/intel_lvds.c | 2 ++
drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++--------
drivers/gpu/drm/i915/intel_tv.c | 2 ++
drivers/gpu/drm/i915/vlv_dsi.c | 3 +++
13 files changed, 83 insertions(+), 16 deletions(-)
--
2.21.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 16+ messages in thread* [RFC][PATCH 1/2] drm: Improve PATH prop docs 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala @ 2019-06-13 18:43 ` Ville Syrjala 2019-06-27 7:36 ` Pekka Paalanen 2019-06-13 18:43 ` [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector Ville Syrjala ` (5 subsequent siblings) 6 siblings, 1 reply; 16+ messages in thread From: Ville Syrjala @ 2019-06-13 18:43 UTC (permalink / raw) To: dri-devel; +Cc: intel-gfx, Ilia Mirkin, Pekka Paalanen From: Ville Syrjälä <ville.syrjala@linux.intel.com> The PATH blob is already being parsed by userspace for MST connectors so the layout of the blob is now uabi. Let's document what it should look like. Also add a clear note saying non-MST connectors can have a PATH prop too. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Pekka Paalanen <ppaalanen@gmail.com> Cc: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/drm_connector.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e17586aaa80f..ce3926e9ad11 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -899,7 +899,16 @@ static const struct drm_prop_enum_list hdmi_colorspaces[] = { * connected. Used by DP MST. This should be set by calling * drm_connector_set_path_property(), in the case of DP MST with the * path property the MST manager created. Userspace cannot change this - * property. + * property. The value must be an ASCII string. + * + * For DP MST connectors the path string follows the pattern + * "mst:<base connector ID>[-<mst port>]...", where the base connector ID + * identifies the DP connector on the source device, and the mst ports + * are the port numbers in the DP MST topology. + * + * For non-DP MST connectors the format is freeform, as long as it + * uniquely identifies the physical path, remains stable across + * kernel releases, and does not start with "mst:". * TILE: * Connector tile group property to indicate how a set of DRM connector * compose together into one logical screen. This is used by both high-res @@ -1678,7 +1687,7 @@ int drm_mode_create_suggested_offset_properties(struct drm_device *dev) EXPORT_SYMBOL(drm_mode_create_suggested_offset_properties); /** - * drm_connector_set_path_property - set tile property on connector + * drm_connector_set_path_property - set path property on connector * @connector: connector to set property on. * @path: path to use for property; must not be NULL. * -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 1/2] drm: Improve PATH prop docs 2019-06-13 18:43 ` [RFC][PATCH 1/2] drm: Improve PATH prop docs Ville Syrjala @ 2019-06-27 7:36 ` Pekka Paalanen 0 siblings, 0 replies; 16+ messages in thread From: Pekka Paalanen @ 2019-06-27 7:36 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx, Ilia Mirkin, dri-devel [-- Attachment #1.1: Type: text/plain, Size: 2321 bytes --] On Thu, 13 Jun 2019 21:43:34 +0300 Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > The PATH blob is already being parsed by userspace for MST connectors > so the layout of the blob is now uabi. Let's document what it should > look like. > > Also add a clear note saying non-MST connectors can have a PATH prop > too. > > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: Pekka Paalanen <ppaalanen@gmail.com> > Cc: Ilia Mirkin <imirkin@alum.mit.edu> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/drm_connector.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c > index e17586aaa80f..ce3926e9ad11 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -899,7 +899,16 @@ static const struct drm_prop_enum_list hdmi_colorspaces[] = { > * connected. Used by DP MST. This should be set by calling > * drm_connector_set_path_property(), in the case of DP MST with the > * path property the MST manager created. Userspace cannot change this > - * property. > + * property. The value must be an ASCII string. > + * > + * For DP MST connectors the path string follows the pattern > + * "mst:<base connector ID>[-<mst port>]...", where the base connector ID > + * identifies the DP connector on the source device, and the mst ports > + * are the port numbers in the DP MST topology. Hi, what exactly is the connector ID as already used here for MST? Is it not persistent? I assume the MST port numbers are persistent as long as the physical topology does not change. > + * > + * For non-DP MST connectors the format is freeform, as long as it > + * uniquely identifies the physical path, remains stable across > + * kernel releases, and does not start with "mst:". Maybe the requirements for "persistent name" should be clarified more: - remains stable across kernel releases - is immune to driver loading/initialisation order changes - is immune to adding or removing other hardware (e.g. graphics cards) Maybe also some explicit words about what to do with dynamic non-MST connectors? Thanks, pq [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala 2019-06-13 18:43 ` [RFC][PATCH 1/2] drm: Improve PATH prop docs Ville Syrjala @ 2019-06-13 18:43 ` Ville Syrjala 2019-06-27 7:37 ` Pekka Paalanen 2019-06-13 18:50 ` ✗ Fi.CI.CHECKPATCH: warning for drm: PATH prop for all connectors? Patchwork ` (4 subsequent siblings) 6 siblings, 1 reply; 16+ messages in thread From: Ville Syrjala @ 2019-06-13 18:43 UTC (permalink / raw) To: dri-devel; +Cc: intel-gfx, Ilia Mirkin, Pekka Paalanen From: Ville Syrjälä <ville.syrjala@linux.intel.com> Userspace may want stable identifiers for connectors. Let's try to provide that via the PATH prop. I tried to make these somewhat abstract by using just "port_type:index" type of approach, where we derive the index from the physical instance of that hw block, so it should remain stable even if we reorder things in the driver. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Pekka Paalanen <ppaalanen@gmail.com> Cc: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/i915/icl_dsi.c | 3 +++ drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++ drivers/gpu/drm/i915/intel_connector.h | 3 +++ drivers/gpu/drm/i915/intel_crt.c | 2 ++ drivers/gpu/drm/i915/intel_dp.c | 6 ++++- drivers/gpu/drm/i915/intel_dp_mst.c | 3 +-- drivers/gpu/drm/i915/intel_dvo.c | 3 +++ drivers/gpu/drm/i915/intel_hdmi.c | 4 +++ drivers/gpu/drm/i915/intel_lvds.c | 2 ++ drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++-------- drivers/gpu/drm/i915/intel_tv.c | 2 ++ drivers/gpu/drm/i915/vlv_dsi.c | 3 +++ 12 files changed, 72 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c index 74448e6bf749..54ccc69aa60a 100644 --- a/drivers/gpu/drm/i915/icl_dsi.c +++ b/drivers/gpu/drm/i915/icl_dsi.c @@ -1544,6 +1544,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv) /* attach connector to encoder */ intel_connector_attach_encoder(intel_connector, encoder); + intel_connector_set_path_property(connector, "dsi:%d", + port - PORT_A); + mutex_lock(&dev->mode_config.mutex); fixed_mode = intel_panel_vbt_fixed_mode(intel_connector); mutex_unlock(&dev->mode_config.mutex); diff --git a/drivers/gpu/drm/i915/intel_connector.c b/drivers/gpu/drm/i915/intel_connector.c index 073b6c3ab7cc..6c1b027fdb11 100644 --- a/drivers/gpu/drm/i915/intel_connector.c +++ b/drivers/gpu/drm/i915/intel_connector.c @@ -280,3 +280,23 @@ intel_attach_colorspace_property(struct drm_connector *connector) drm_object_attach_property(&connector->base, connector->colorspace_property, 0); } + +int intel_connector_set_path_property(struct drm_connector *connector, + const char *fmt, ...) +{ + char path[64]; + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vsnprintf(path, sizeof(path), fmt, ap); + va_end(ap); + + if (WARN_ON(ret >= sizeof(path))) + return -EINVAL; + + drm_object_attach_property(&connector->base, + connector->dev->mode_config.path_property, 0); + + return drm_connector_set_path_property(connector, path); +} diff --git a/drivers/gpu/drm/i915/intel_connector.h b/drivers/gpu/drm/i915/intel_connector.h index 93a7375c8196..108777bc9545 100644 --- a/drivers/gpu/drm/i915/intel_connector.h +++ b/drivers/gpu/drm/i915/intel_connector.h @@ -31,5 +31,8 @@ void intel_attach_force_audio_property(struct drm_connector *connector); void intel_attach_broadcast_rgb_property(struct drm_connector *connector); void intel_attach_aspect_ratio_property(struct drm_connector *connector); void intel_attach_colorspace_property(struct drm_connector *connector); +__printf(2, 3) +int intel_connector_set_path_property(struct drm_connector *connector, + const char *fmt, ...); #endif /* __INTEL_CONNECTOR_H__ */ diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 3fcf2f84bcce..1383db646986 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -1048,6 +1048,8 @@ void intel_crt_init(struct drm_i915_private *dev_priv) if (!I915_HAS_HOTPLUG(dev_priv)) intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; + intel_connector_set_path_property(connector, "crt:0"); + /* * Configure the automatic hotplug detection stuff */ diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 4336df46fe78..c9071d25bd37 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -6527,7 +6527,11 @@ static void intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector) { struct drm_i915_private *dev_priv = to_i915(connector->dev); - enum port port = dp_to_dig_port(intel_dp)->base.port; + struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; + enum port port = encoder->port; + + intel_connector_set_path_property(connector, "ddi:%d\n", + port - PORT_A); if (!IS_G4X(dev_priv) && port != PORT_A) intel_attach_force_audio_property(connector); diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 0caf645fbbb8..3bc0de2ff5af 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -529,10 +529,9 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo goto err; } - drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0); drm_object_attach_property(&connector->base, dev->mode_config.tile_property, 0); - ret = drm_connector_set_path_property(connector, pathprop); + ret = intel_connector_set_path_property(connector, "%s", pathprop); if (ret) goto err; diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 22666d28f4aa..4e7ea0f4c5d5 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c @@ -531,6 +531,9 @@ void intel_dvo_init(struct drm_i915_private *dev_priv) connector->interlace_allowed = false; connector->doublescan_allowed = false; + intel_connector_set_path_property(connector, "dvo:%d", + port - PORT_A); + intel_connector_attach_encoder(intel_connector, intel_encoder); if (dvo->type == INTEL_DVO_CHIP_LVDS) { /* diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 187a2b828b97..38a0e423420a 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -2794,6 +2794,10 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c struct drm_i915_private *dev_priv = to_i915(connector->dev); struct intel_digital_port *intel_dig_port = hdmi_to_dig_port(intel_hdmi); + enum port port = intel_dig_port->base.port; + + intel_connector_set_path_property(connector, "ddi:%d", + port - PORT_A); intel_attach_force_audio_property(connector); intel_attach_broadcast_rgb_property(connector); diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index efefed62a7f8..463665f0ecbd 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c @@ -915,6 +915,8 @@ void intel_lvds_init(struct drm_i915_private *dev_priv) lvds_encoder->reg = lvds_reg; + intel_connector_set_path_property(connector, "lvds:0"); + /* create the scaling mode property */ allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT); allowed_scalers |= BIT(DRM_MODE_SCALE_FULLSCREEN); diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 0860ae36bb87..c16cdde849cc 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -2650,9 +2650,8 @@ static struct intel_sdvo_connector *intel_sdvo_connector_alloc(void) static bool intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) { - struct drm_encoder *encoder = &intel_sdvo->base.base; + struct intel_encoder *encoder = &intel_sdvo->base; struct drm_connector *connector; - struct intel_encoder *intel_encoder = to_intel_encoder(encoder); struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -2679,12 +2678,12 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) * Some SDVO devices have one-shot hotplug interrupts. * Ensure that they get re-enabled when an interrupt happens. */ - intel_encoder->hotplug = intel_sdvo_hotplug; - intel_sdvo_enable_hotplug(intel_encoder); + encoder->hotplug = intel_sdvo_hotplug; + intel_sdvo_enable_hotplug(encoder); } else { intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT; } - encoder->encoder_type = DRM_MODE_ENCODER_TMDS; + encoder->base.encoder_type = DRM_MODE_ENCODER_TMDS; connector->connector_type = DRM_MODE_CONNECTOR_DVID; if (intel_sdvo_is_hdmi_connector(intel_sdvo, device)) { @@ -2700,13 +2699,18 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) if (intel_sdvo_connector->is_hdmi) intel_sdvo_add_hdmi_properties(intel_sdvo, intel_sdvo_connector); + intel_connector_set_path_property(connector, "sdvo:%d:%s:%d", + encoder->port - PORT_A, + intel_sdvo_connector->is_hdmi ? + "hdmi" : "dvi", device); + return true; } static bool intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) { - struct drm_encoder *encoder = &intel_sdvo->base.base; + struct intel_encoder *encoder = &intel_sdvo->base; struct drm_connector *connector; struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -2719,7 +2723,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) intel_connector = &intel_sdvo_connector->base; connector = &intel_connector->base; - encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; + encoder->base.encoder_type = DRM_MODE_ENCODER_TVDAC; connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; intel_sdvo->controlled_output |= type; @@ -2736,6 +2740,9 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector)) goto err; + intel_connector_set_path_property(connector, "sdvo:%d:tv:%d", + encoder->port - PORT_A, type); + return true; err: @@ -2746,7 +2753,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) static bool intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) { - struct drm_encoder *encoder = &intel_sdvo->base.base; + struct intel_encoder *encoder = &intel_sdvo->base; struct drm_connector *connector; struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -2760,7 +2767,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) intel_connector = &intel_sdvo_connector->base; connector = &intel_connector->base; intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; - encoder->encoder_type = DRM_MODE_ENCODER_DAC; + encoder->base.encoder_type = DRM_MODE_ENCODER_DAC; connector->connector_type = DRM_MODE_CONNECTOR_VGA; if (device == 0) { @@ -2776,13 +2783,16 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) return false; } + intel_connector_set_path_property(connector, "sdvo:%d:crt:%d", + encoder->port - PORT_A, device); + return true; } static bool intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) { - struct drm_encoder *encoder = &intel_sdvo->base.base; + struct intel_encoder *encoder = &intel_sdvo->base; struct drm_connector *connector; struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -2796,7 +2806,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) intel_connector = &intel_sdvo_connector->base; connector = &intel_connector->base; - encoder->encoder_type = DRM_MODE_ENCODER_LVDS; + encoder->base.encoder_type = DRM_MODE_ENCODER_LVDS; connector->connector_type = DRM_MODE_CONNECTOR_LVDS; if (device == 0) { @@ -2831,6 +2841,9 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) if (!intel_connector->panel.fixed_mode) goto err; + intel_connector_set_path_property(connector, "sdvo:%d:lvds:%d", + encoder->port - PORT_A, device); + return true; err: diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 5dc594eafaf2..f9481404f642 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1988,4 +1988,6 @@ intel_tv_init(struct drm_i915_private *dev_priv) drm_object_attach_property(&connector->base, dev->mode_config.tv_bottom_margin_property, state->tv.margins.bottom); + + intel_connector_set_path_property(connector, "tv:0"); } diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c index e272d826210a..e97e689c6021 100644 --- a/drivers/gpu/drm/i915/vlv_dsi.c +++ b/drivers/gpu/drm/i915/vlv_dsi.c @@ -1985,6 +1985,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv) intel_dsi_add_properties(intel_connector); + intel_connector_set_path_property(connector, "dsi:%d", + port - PORT_A); + return; err_cleanup_connector: -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector 2019-06-13 18:43 ` [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector Ville Syrjala @ 2019-06-27 7:37 ` Pekka Paalanen 0 siblings, 0 replies; 16+ messages in thread From: Pekka Paalanen @ 2019-06-27 7:37 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx, dri-devel [-- Attachment #1.1: Type: text/plain, Size: 14023 bytes --] On Thu, 13 Jun 2019 21:43:35 +0300 Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Userspace may want stable identifiers for connectors. Let's try to > provide that via the PATH prop. I tried to make these somewhat abstract > by using just "port_type:index" type of approach, where we derive the > index from the physical instance of that hw block, so it should remain > stable even if we reorder things in the driver. > > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: Pekka Paalanen <ppaalanen@gmail.com> > Cc: Ilia Mirkin <imirkin@alum.mit.edu> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Hi, I don't know intel driver nor hardware, but the described idea and the names in the code look good to me. The only open question is if it should be the existing PATH property or a new property in case PATH for MST is not persistent. Thanks, pq > --- > drivers/gpu/drm/i915/icl_dsi.c | 3 +++ > drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++ > drivers/gpu/drm/i915/intel_connector.h | 3 +++ > drivers/gpu/drm/i915/intel_crt.c | 2 ++ > drivers/gpu/drm/i915/intel_dp.c | 6 ++++- > drivers/gpu/drm/i915/intel_dp_mst.c | 3 +-- > drivers/gpu/drm/i915/intel_dvo.c | 3 +++ > drivers/gpu/drm/i915/intel_hdmi.c | 4 +++ > drivers/gpu/drm/i915/intel_lvds.c | 2 ++ > drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++-------- > drivers/gpu/drm/i915/intel_tv.c | 2 ++ > drivers/gpu/drm/i915/vlv_dsi.c | 3 +++ > 12 files changed, 72 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c > index 74448e6bf749..54ccc69aa60a 100644 > --- a/drivers/gpu/drm/i915/icl_dsi.c > +++ b/drivers/gpu/drm/i915/icl_dsi.c > @@ -1544,6 +1544,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv) > /* attach connector to encoder */ > intel_connector_attach_encoder(intel_connector, encoder); > > + intel_connector_set_path_property(connector, "dsi:%d", > + port - PORT_A); > + > mutex_lock(&dev->mode_config.mutex); > fixed_mode = intel_panel_vbt_fixed_mode(intel_connector); > mutex_unlock(&dev->mode_config.mutex); > diff --git a/drivers/gpu/drm/i915/intel_connector.c b/drivers/gpu/drm/i915/intel_connector.c > index 073b6c3ab7cc..6c1b027fdb11 100644 > --- a/drivers/gpu/drm/i915/intel_connector.c > +++ b/drivers/gpu/drm/i915/intel_connector.c > @@ -280,3 +280,23 @@ intel_attach_colorspace_property(struct drm_connector *connector) > drm_object_attach_property(&connector->base, > connector->colorspace_property, 0); > } > + > +int intel_connector_set_path_property(struct drm_connector *connector, > + const char *fmt, ...) > +{ > + char path[64]; > + va_list ap; > + int ret; > + > + va_start(ap, fmt); > + ret = vsnprintf(path, sizeof(path), fmt, ap); > + va_end(ap); > + > + if (WARN_ON(ret >= sizeof(path))) > + return -EINVAL; > + > + drm_object_attach_property(&connector->base, > + connector->dev->mode_config.path_property, 0); > + > + return drm_connector_set_path_property(connector, path); > +} > diff --git a/drivers/gpu/drm/i915/intel_connector.h b/drivers/gpu/drm/i915/intel_connector.h > index 93a7375c8196..108777bc9545 100644 > --- a/drivers/gpu/drm/i915/intel_connector.h > +++ b/drivers/gpu/drm/i915/intel_connector.h > @@ -31,5 +31,8 @@ void intel_attach_force_audio_property(struct drm_connector *connector); > void intel_attach_broadcast_rgb_property(struct drm_connector *connector); > void intel_attach_aspect_ratio_property(struct drm_connector *connector); > void intel_attach_colorspace_property(struct drm_connector *connector); > +__printf(2, 3) > +int intel_connector_set_path_property(struct drm_connector *connector, > + const char *fmt, ...); > > #endif /* __INTEL_CONNECTOR_H__ */ > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 3fcf2f84bcce..1383db646986 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -1048,6 +1048,8 @@ void intel_crt_init(struct drm_i915_private *dev_priv) > if (!I915_HAS_HOTPLUG(dev_priv)) > intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; > > + intel_connector_set_path_property(connector, "crt:0"); > + > /* > * Configure the automatic hotplug detection stuff > */ > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 4336df46fe78..c9071d25bd37 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -6527,7 +6527,11 @@ static void > intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector) > { > struct drm_i915_private *dev_priv = to_i915(connector->dev); > - enum port port = dp_to_dig_port(intel_dp)->base.port; > + struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; > + enum port port = encoder->port; > + > + intel_connector_set_path_property(connector, "ddi:%d\n", > + port - PORT_A); > > if (!IS_G4X(dev_priv) && port != PORT_A) > intel_attach_force_audio_property(connector); > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 0caf645fbbb8..3bc0de2ff5af 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -529,10 +529,9 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo > goto err; > } > > - drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0); > drm_object_attach_property(&connector->base, dev->mode_config.tile_property, 0); > > - ret = drm_connector_set_path_property(connector, pathprop); > + ret = intel_connector_set_path_property(connector, "%s", pathprop); > if (ret) > goto err; > > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index 22666d28f4aa..4e7ea0f4c5d5 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -531,6 +531,9 @@ void intel_dvo_init(struct drm_i915_private *dev_priv) > connector->interlace_allowed = false; > connector->doublescan_allowed = false; > > + intel_connector_set_path_property(connector, "dvo:%d", > + port - PORT_A); > + > intel_connector_attach_encoder(intel_connector, intel_encoder); > if (dvo->type == INTEL_DVO_CHIP_LVDS) { > /* > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 187a2b828b97..38a0e423420a 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -2794,6 +2794,10 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c > struct drm_i915_private *dev_priv = to_i915(connector->dev); > struct intel_digital_port *intel_dig_port = > hdmi_to_dig_port(intel_hdmi); > + enum port port = intel_dig_port->base.port; > + > + intel_connector_set_path_property(connector, "ddi:%d", > + port - PORT_A); > > intel_attach_force_audio_property(connector); > intel_attach_broadcast_rgb_property(connector); > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index efefed62a7f8..463665f0ecbd 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -915,6 +915,8 @@ void intel_lvds_init(struct drm_i915_private *dev_priv) > > lvds_encoder->reg = lvds_reg; > > + intel_connector_set_path_property(connector, "lvds:0"); > + > /* create the scaling mode property */ > allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT); > allowed_scalers |= BIT(DRM_MODE_SCALE_FULLSCREEN); > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index 0860ae36bb87..c16cdde849cc 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2650,9 +2650,8 @@ static struct intel_sdvo_connector *intel_sdvo_connector_alloc(void) > static bool > intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) > { > - struct drm_encoder *encoder = &intel_sdvo->base.base; > + struct intel_encoder *encoder = &intel_sdvo->base; > struct drm_connector *connector; > - struct intel_encoder *intel_encoder = to_intel_encoder(encoder); > struct intel_connector *intel_connector; > struct intel_sdvo_connector *intel_sdvo_connector; > > @@ -2679,12 +2678,12 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) > * Some SDVO devices have one-shot hotplug interrupts. > * Ensure that they get re-enabled when an interrupt happens. > */ > - intel_encoder->hotplug = intel_sdvo_hotplug; > - intel_sdvo_enable_hotplug(intel_encoder); > + encoder->hotplug = intel_sdvo_hotplug; > + intel_sdvo_enable_hotplug(encoder); > } else { > intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT; > } > - encoder->encoder_type = DRM_MODE_ENCODER_TMDS; > + encoder->base.encoder_type = DRM_MODE_ENCODER_TMDS; > connector->connector_type = DRM_MODE_CONNECTOR_DVID; > > if (intel_sdvo_is_hdmi_connector(intel_sdvo, device)) { > @@ -2700,13 +2699,18 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) > if (intel_sdvo_connector->is_hdmi) > intel_sdvo_add_hdmi_properties(intel_sdvo, intel_sdvo_connector); > > + intel_connector_set_path_property(connector, "sdvo:%d:%s:%d", > + encoder->port - PORT_A, > + intel_sdvo_connector->is_hdmi ? > + "hdmi" : "dvi", device); > + > return true; > } > > static bool > intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) > { > - struct drm_encoder *encoder = &intel_sdvo->base.base; > + struct intel_encoder *encoder = &intel_sdvo->base; > struct drm_connector *connector; > struct intel_connector *intel_connector; > struct intel_sdvo_connector *intel_sdvo_connector; > @@ -2719,7 +2723,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) > > intel_connector = &intel_sdvo_connector->base; > connector = &intel_connector->base; > - encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; > + encoder->base.encoder_type = DRM_MODE_ENCODER_TVDAC; > connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; > > intel_sdvo->controlled_output |= type; > @@ -2736,6 +2740,9 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) > if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector)) > goto err; > > + intel_connector_set_path_property(connector, "sdvo:%d:tv:%d", > + encoder->port - PORT_A, type); > + > return true; > > err: > @@ -2746,7 +2753,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) > static bool > intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) > { > - struct drm_encoder *encoder = &intel_sdvo->base.base; > + struct intel_encoder *encoder = &intel_sdvo->base; > struct drm_connector *connector; > struct intel_connector *intel_connector; > struct intel_sdvo_connector *intel_sdvo_connector; > @@ -2760,7 +2767,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) > intel_connector = &intel_sdvo_connector->base; > connector = &intel_connector->base; > intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; > - encoder->encoder_type = DRM_MODE_ENCODER_DAC; > + encoder->base.encoder_type = DRM_MODE_ENCODER_DAC; > connector->connector_type = DRM_MODE_CONNECTOR_VGA; > > if (device == 0) { > @@ -2776,13 +2783,16 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) > return false; > } > > + intel_connector_set_path_property(connector, "sdvo:%d:crt:%d", > + encoder->port - PORT_A, device); > + > return true; > } > > static bool > intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > { > - struct drm_encoder *encoder = &intel_sdvo->base.base; > + struct intel_encoder *encoder = &intel_sdvo->base; > struct drm_connector *connector; > struct intel_connector *intel_connector; > struct intel_sdvo_connector *intel_sdvo_connector; > @@ -2796,7 +2806,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > > intel_connector = &intel_sdvo_connector->base; > connector = &intel_connector->base; > - encoder->encoder_type = DRM_MODE_ENCODER_LVDS; > + encoder->base.encoder_type = DRM_MODE_ENCODER_LVDS; > connector->connector_type = DRM_MODE_CONNECTOR_LVDS; > > if (device == 0) { > @@ -2831,6 +2841,9 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > if (!intel_connector->panel.fixed_mode) > goto err; > > + intel_connector_set_path_property(connector, "sdvo:%d:lvds:%d", > + encoder->port - PORT_A, device); > + > return true; > > err: > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index 5dc594eafaf2..f9481404f642 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1988,4 +1988,6 @@ intel_tv_init(struct drm_i915_private *dev_priv) > drm_object_attach_property(&connector->base, > dev->mode_config.tv_bottom_margin_property, > state->tv.margins.bottom); > + > + intel_connector_set_path_property(connector, "tv:0"); > } > diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c > index e272d826210a..e97e689c6021 100644 > --- a/drivers/gpu/drm/i915/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/vlv_dsi.c > @@ -1985,6 +1985,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv) > > intel_dsi_add_properties(intel_connector); > > + intel_connector_set_path_property(connector, "dsi:%d", > + port - PORT_A); > + > return; > > err_cleanup_connector: [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm: PATH prop for all connectors? 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala 2019-06-13 18:43 ` [RFC][PATCH 1/2] drm: Improve PATH prop docs Ville Syrjala 2019-06-13 18:43 ` [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector Ville Syrjala @ 2019-06-13 18:50 ` Patchwork 2019-06-13 20:42 ` [RFC][PATCH 0/2] " Daniel Vetter ` (3 subsequent siblings) 6 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-06-13 18:50 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx == Series Details == Series: drm: PATH prop for all connectors? URL : https://patchwork.freedesktop.org/series/62061/ State : warning == Summary == $ dim checkpatch origin/drm-tip e51dfaa72985 drm: Improve PATH prop docs -:30: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #30: FILE: drivers/gpu/drm/drm_connector.c:898: + * ^Iproperty. The value must be an ASCII string.$ -:32: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #32: FILE: drivers/gpu/drm/drm_connector.c:900: + * ^IFor DP MST connectors the path string follows the pattern$ -:33: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #33: FILE: drivers/gpu/drm/drm_connector.c:901: + * ^I"mst:<base connector ID>[-<mst port>]...", where the base connector ID$ -:34: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #34: FILE: drivers/gpu/drm/drm_connector.c:902: + * ^Iidentifies the DP connector on the source device, and the mst ports$ -:35: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #35: FILE: drivers/gpu/drm/drm_connector.c:903: + * ^Iare the port numbers in the DP MST topology.$ -:37: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #37: FILE: drivers/gpu/drm/drm_connector.c:905: + * ^IFor non-DP MST connectors the format is freeform, as long as it$ -:38: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #38: FILE: drivers/gpu/drm/drm_connector.c:906: + * ^Iuniquely identifies the physical path, remains stable across$ -:39: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #39: FILE: drivers/gpu/drm/drm_connector.c:907: + * ^Ikernel releases, and does not start with "mst:".$ total: 0 errors, 8 warnings, 0 checks, 25 lines checked afe3bc73c941 drm/i915: Populate PATH prop for every connector _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala ` (2 preceding siblings ...) 2019-06-13 18:50 ` ✗ Fi.CI.CHECKPATCH: warning for drm: PATH prop for all connectors? Patchwork @ 2019-06-13 20:42 ` Daniel Vetter 2019-06-27 7:35 ` Pekka Paalanen 2019-06-14 11:38 ` ✓ Fi.CI.BAT: success for " Patchwork ` (2 subsequent siblings) 6 siblings, 1 reply; 16+ messages in thread From: Daniel Vetter @ 2019-06-13 20:42 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx, dri-devel On Thu, Jun 13, 2019 at 09:43:33PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Here's a possible apporoach for providing userspace with > some stable connector identifiers. Combine with the bus > name of the GPU and you should have some kind of real > physical path description. Unfortunately the ship has > sailed for MST connectors because userspace is already > parsing the property and expects to find certain things > there. So if we want stable names for those we'd probably > have introduce another PATH prop (PHYS_PATH?). > > I suppose one alternative would to make the connector > type_id stable. Currently that is being populated by drm > core and it's just a global counter. Not sure how badly > things would turn out if we'd allow each driver to set > that. It could result in conflicting xrandr connector > names between different GPUs which I suppose would > confuse existing userspace? I think the only reason this global id stuff exists is because with original xrandr, that stuff was global. And then it got copypasted forever. Would need to do a bunch of reviewing, but I'd expect we'll get away with just making all these allocators per-device. -Daniel > > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: Pekka Paalanen <ppaalanen@gmail.com> > Cc: Ilia Mirkin <imirkin@alum.mit.edu> > > Ville Syrjälä (2): > drm: Improve PATH prop docs > drm/i915: Populate PATH prop for every connector > > drivers/gpu/drm/drm_connector.c | 13 ++++++++-- > drivers/gpu/drm/i915/icl_dsi.c | 3 +++ > drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++ > drivers/gpu/drm/i915/intel_connector.h | 3 +++ > drivers/gpu/drm/i915/intel_crt.c | 2 ++ > drivers/gpu/drm/i915/intel_dp.c | 6 ++++- > drivers/gpu/drm/i915/intel_dp_mst.c | 3 +-- > drivers/gpu/drm/i915/intel_dvo.c | 3 +++ > drivers/gpu/drm/i915/intel_hdmi.c | 4 +++ > drivers/gpu/drm/i915/intel_lvds.c | 2 ++ > drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++-------- > drivers/gpu/drm/i915/intel_tv.c | 2 ++ > drivers/gpu/drm/i915/vlv_dsi.c | 3 +++ > 13 files changed, 83 insertions(+), 16 deletions(-) > > -- > 2.21.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-06-13 20:42 ` [RFC][PATCH 0/2] " Daniel Vetter @ 2019-06-27 7:35 ` Pekka Paalanen 2019-06-27 7:44 ` Michel Dänzer 0 siblings, 1 reply; 16+ messages in thread From: Pekka Paalanen @ 2019-06-27 7:35 UTC (permalink / raw) To: Daniel Vetter; +Cc: intel-gfx, Ilia Mirkin, dri-devel [-- Attachment #1.1: Type: text/plain, Size: 2395 bytes --] On Thu, 13 Jun 2019 22:42:08 +0200 Daniel Vetter <daniel@ffwll.ch> wrote: > On Thu, Jun 13, 2019 at 09:43:33PM +0300, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Here's a possible apporoach for providing userspace with > > some stable connector identifiers. Combine with the bus > > name of the GPU and you should have some kind of real > > physical path description. Unfortunately the ship has > > sailed for MST connectors because userspace is already > > parsing the property and expects to find certain things > > there. So if we want stable names for those we'd probably > > have introduce another PATH prop (PHYS_PATH?). > > > > I suppose one alternative would to make the connector > > type_id stable. Currently that is being populated by drm > > core and it's just a global counter. Not sure how badly > > things would turn out if we'd allow each driver to set > > that. It could result in conflicting xrandr connector > > names between different GPUs which I suppose would > > confuse existing userspace? > > I think the only reason this global id stuff exists is because with > original xrandr, that stuff was global. And then it got copypasted > forever. > > Would need to do a bunch of reviewing, but I'd expect we'll get away with > just making all these allocators per-device. Hi, I'm not sure I'm that optimistic... I assume most userspace uses type_id for naming already and might rely on uniqueness. Weston uses type_id, but does not rely on uniqueness yet, since it only handles one device so far. The bigger problem to me however is changing the meaning of type_id, causing old kernels do one thing and new kernels do another thing. When userspace uses type_id for connector naming, it may use that name in configuration files. Weston does, but again is not affected because it doesn't support using multiple devices yet. If someone has two gfx cards in his machine, making type_id per-device changes the numbering, meaning the user's configuration does not apply anymore or applies wrong. I suppose it doesn't matter if the naming was already unreliable, since it is reliable if the drivers/devices happened to probe in the same order every boot. Are connector names in xrandr still using type_id in their names? That would be a sure blocker, I think. Thanks, pq [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-06-27 7:35 ` Pekka Paalanen @ 2019-06-27 7:44 ` Michel Dänzer 0 siblings, 0 replies; 16+ messages in thread From: Michel Dänzer @ 2019-06-27 7:44 UTC (permalink / raw) To: Pekka Paalanen, Daniel Vetter; +Cc: intel-gfx, dri-devel On 2019-06-27 9:35 a.m., Pekka Paalanen wrote: > > Are connector names in xrandr still using type_id in their names? Yes, they are. -- Earthling Michel Dänzer | https://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for drm: PATH prop for all connectors? 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala ` (3 preceding siblings ...) 2019-06-13 20:42 ` [RFC][PATCH 0/2] " Daniel Vetter @ 2019-06-14 11:38 ` Patchwork 2019-06-15 8:26 ` ✓ Fi.CI.IGT: " Patchwork 2019-07-10 22:43 ` [Intel-gfx] [RFC][PATCH 0/2] " Lyude Paul 6 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-06-14 11:38 UTC (permalink / raw) To: Ville Syrjala; +Cc: intel-gfx == Series Details == Series: drm: PATH prop for all connectors? URL : https://patchwork.freedesktop.org/series/62061/ State : success == Summary == CI Bug Log - changes from CI_DRM_6265 -> Patchwork_13274 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/ Known issues ------------ Here are the changes found in Patchwork_13274 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_reloc@basic-gtt: - fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-icl-u3/igt@gem_exec_reloc@basic-gtt.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-icl-u3/igt@gem_exec_reloc@basic-gtt.html * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: [PASS][3] -> [INCOMPLETE][4] ([fdo#107718]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html * igt@i915_selftest@live_evict: - fi-bsw-kefka: [PASS][5] -> [DMESG-WARN][6] ([fdo#107709]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-bsw-kefka/igt@i915_selftest@live_evict.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-bsw-kefka/igt@i915_selftest@live_evict.html #### Possible fixes #### * igt@gem_cpu_reloc@basic: - fi-icl-dsi: [INCOMPLETE][7] ([fdo#107713] / [fdo#110246]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-icl-dsi/igt@gem_cpu_reloc@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-icl-dsi/igt@gem_cpu_reloc@basic.html * igt@i915_selftest@live_hangcheck: - fi-icl-y: [DMESG-FAIL][9] ([fdo#110917]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-icl-y/igt@i915_selftest@live_hangcheck.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-icl-y/igt@i915_selftest@live_hangcheck.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][11] ([fdo#109485]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html * igt@vgem_basic@unload: - fi-icl-u3: [DMESG-WARN][13] ([fdo#107724]) -> [PASS][14] +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/fi-icl-u3/igt@vgem_basic@unload.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/fi-icl-u3/igt@vgem_basic@unload.html [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485 [fdo#110246]: https://bugs.freedesktop.org/show_bug.cgi?id=110246 [fdo#110917]: https://bugs.freedesktop.org/show_bug.cgi?id=110917 Participating hosts (53 -> 47) ------------------------------ Additional (1): fi-byt-j1900 Missing (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus Build changes ------------- * Linux: CI_DRM_6265 -> Patchwork_13274 CI_DRM_6265: 657b9f601946cab518d8911ea92dc0f437a1f4b4 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5055: 495287320225e7f180d384cad7b207b77154438f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_13274: afe3bc73c941149fb90060c550821922ec043534 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == afe3bc73c941 drm/i915: Populate PATH prop for every connector e51dfaa72985 drm: Improve PATH prop docs == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.IGT: success for drm: PATH prop for all connectors? 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala ` (4 preceding siblings ...) 2019-06-14 11:38 ` ✓ Fi.CI.BAT: success for " Patchwork @ 2019-06-15 8:26 ` Patchwork 2019-07-10 22:43 ` [Intel-gfx] [RFC][PATCH 0/2] " Lyude Paul 6 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2019-06-15 8:26 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx == Series Details == Series: drm: PATH prop for all connectors? URL : https://patchwork.freedesktop.org/series/62061/ State : success == Summary == CI Bug Log - changes from CI_DRM_6265_full -> Patchwork_13274_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_13274_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_eio@wait-wedge-1us: - shard-iclb: [PASS][1] -> [DMESG-WARN][2] ([fdo#110913 ]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb1/igt@gem_eio@wait-wedge-1us.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb4/igt@gem_eio@wait-wedge-1us.html * igt@gem_persistent_relocs@forked-faulting-reloc-thrashing: - shard-hsw: ([PASS][3], [PASS][4]) -> [DMESG-WARN][5] ([fdo#110789] / [fdo#110913 ]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw6/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw8/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw2/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html * igt@gem_persistent_relocs@forked-interruptible-thrashing: - shard-skl: ([PASS][6], [PASS][7]) -> [DMESG-WARN][8] ([fdo#110913 ]) +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl8/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html - shard-hsw: [PASS][9] -> [DMESG-WARN][10] ([fdo#110789] / [fdo#110913 ]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw5/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html * igt@gem_tiled_swapping@non-threaded: - shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#108686]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb2/igt@gem_tiled_swapping@non-threaded.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb1/igt@gem_tiled_swapping@non-threaded.html * igt@i915_suspend@forcewake: - shard-skl: ([PASS][13], [PASS][14]) -> [INCOMPLETE][15] ([fdo#104108]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl9/igt@i915_suspend@forcewake.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl7/igt@i915_suspend@forcewake.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl1/igt@i915_suspend@forcewake.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: ([PASS][16], [PASS][17]) -> [FAIL][18] ([fdo#105363]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html - shard-glk: ([PASS][19], [PASS][20]) -> [FAIL][21] ([fdo#105363]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-glk7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-kbl: ([PASS][22], [PASS][23]) -> [DMESG-WARN][24] ([fdo#108566]) +2 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite: - shard-iclb: [PASS][25] -> [FAIL][26] ([fdo#103167]) +10 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite: - shard-hsw: [PASS][27] -> [SKIP][28] ([fdo#109271]) +3 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt: - shard-hsw: ([PASS][29], [PASS][30]) -> [SKIP][31] ([fdo#109271]) +9 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-apl: ([PASS][32], [PASS][33]) -> [DMESG-WARN][34] ([fdo#108566]) +3 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl5/igt@kms_frontbuffer_tracking@fbc-suspend.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl8/igt@kms_frontbuffer_tracking@fbc-suspend.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_plane@plane-panning-bottom-right-pipe-b-planes: - shard-skl: ([PASS][35], [PASS][36]) -> [FAIL][37] ([fdo#103166]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl4/igt@kms_plane@plane-panning-bottom-right-pipe-b-planes.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl5/igt@kms_plane@plane-panning-bottom-right-pipe-b-planes.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl7/igt@kms_plane@plane-panning-bottom-right-pipe-b-planes.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [PASS][38] -> [DMESG-WARN][39] ([fdo#108566]) +1 similar issue [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl5/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl5/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_lowres@pipe-a-tiling-x: - shard-iclb: [PASS][40] -> [FAIL][41] ([fdo#103166]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-x.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-x.html * igt@kms_psr@psr2_cursor_blt: - shard-iclb: [PASS][42] -> [SKIP][43] ([fdo#109441]) +2 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb3/igt@kms_psr@psr2_cursor_blt.html * igt@kms_sysfs_edid_timing: - shard-iclb: [PASS][44] -> [FAIL][45] ([fdo#100047]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb4/igt@kms_sysfs_edid_timing.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb3/igt@kms_sysfs_edid_timing.html * igt@kms_vblank@pipe-a-wait-forked-hang: - shard-glk: [PASS][46] -> [INCOMPLETE][47] ([fdo#103359] / [k.org#198133]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-glk9/igt@kms_vblank@pipe-a-wait-forked-hang.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-glk3/igt@kms_vblank@pipe-a-wait-forked-hang.html #### Possible fixes #### * igt@gem_eio@in-flight-10ms: - shard-skl: ([PASS][48], [DMESG-WARN][49]) ([fdo#110913 ]) -> [PASS][50] +2 similar issues [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl9/igt@gem_eio@in-flight-10ms.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl7/igt@gem_eio@in-flight-10ms.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl8/igt@gem_eio@in-flight-10ms.html * igt@gem_eio@reset-stress: - shard-snb: ([PASS][51], [FAIL][52]) ([fdo#109661]) -> [PASS][53] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb4/igt@gem_eio@reset-stress.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb7/igt@gem_eio@reset-stress.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-snb2/igt@gem_eio@reset-stress.html * igt@gem_persistent_relocs@forked-faulting-reloc-thrash-inactive: - shard-apl: ([PASS][54], [INCOMPLETE][55]) ([fdo#103927]) -> [PASS][56] [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl6/igt@gem_persistent_relocs@forked-faulting-reloc-thrash-inactive.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl3/igt@gem_persistent_relocs@forked-faulting-reloc-thrash-inactive.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl6/igt@gem_persistent_relocs@forked-faulting-reloc-thrash-inactive.html * igt@gem_persistent_relocs@forked-thrashing: - shard-apl: ([DMESG-WARN][57], [DMESG-WARN][58]) ([fdo#110913 ]) -> [PASS][59] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl2/igt@gem_persistent_relocs@forked-thrashing.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl1/igt@gem_persistent_relocs@forked-thrashing.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl4/igt@gem_persistent_relocs@forked-thrashing.html - shard-glk: ([DMESG-WARN][60], [PASS][61]) ([fdo#110913 ]) -> [PASS][62] +2 similar issues [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-glk8/igt@gem_persistent_relocs@forked-thrashing.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-glk2/igt@gem_persistent_relocs@forked-thrashing.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-glk4/igt@gem_persistent_relocs@forked-thrashing.html * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-apl: ([DMESG-WARN][63], [PASS][64]) ([fdo#110913 ]) -> [PASS][65] +1 similar issue [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl5/igt@gem_ppgtt@blt-vs-render-ctx0.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl4/igt@gem_ppgtt@blt-vs-render-ctx0.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl3/igt@gem_ppgtt@blt-vs-render-ctx0.html * igt@gem_tiled_swapping@non-threaded: - shard-apl: ([DMESG-WARN][66], [PASS][67]) ([fdo#108686]) -> [PASS][68] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl3/igt@gem_tiled_swapping@non-threaded.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl1/igt@gem_tiled_swapping@non-threaded.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl8/igt@gem_tiled_swapping@non-threaded.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup: - shard-snb: ([DMESG-WARN][69], [PASS][70]) ([fdo#110913 ]) -> [PASS][71] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html * igt@gem_userptr_blits@sync-unmap-cycles: - shard-hsw: ([DMESG-WARN][72], [PASS][73]) ([fdo#110913 ]) -> [PASS][74] +1 similar issue [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw8/igt@gem_userptr_blits@sync-unmap-cycles.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw7/igt@gem_userptr_blits@sync-unmap-cycles.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw7/igt@gem_userptr_blits@sync-unmap-cycles.html - shard-kbl: ([PASS][75], [DMESG-WARN][76]) ([fdo#110913 ]) -> [PASS][77] +2 similar issues [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl7/igt@gem_userptr_blits@sync-unmap-cycles.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl4/igt@gem_userptr_blits@sync-unmap-cycles.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-kbl6/igt@gem_userptr_blits@sync-unmap-cycles.html * igt@kms_big_fb@x-tiled-32bpp-rotate-180: - shard-snb: ([SKIP][78], [PASS][79]) ([fdo#109271]) -> [PASS][80] [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb4/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-snb7/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-snb4/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-kbl: ([DMESG-WARN][81], [PASS][82]) ([fdo#108566]) -> [PASS][83] +1 similar issue [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_cursor_crc@pipe-b-cursor-suspend: - shard-apl: [DMESG-WARN][84] ([fdo#108566]) -> [PASS][85] [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl5/igt@kms_cursor_crc@pipe-b-cursor-suspend.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl5/igt@kms_cursor_crc@pipe-b-cursor-suspend.html * igt@kms_cursor_legacy@cursor-vs-flip-varying-size: - shard-hsw: ([PASS][86], [FAIL][87]) ([fdo#103355]) -> [PASS][88] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw8/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw7/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html * igt@kms_flip@2x-flip-vs-suspend: - shard-hsw: [SKIP][89] ([fdo#109271]) -> [PASS][90] +8 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw1/igt@kms_flip@2x-flip-vs-suspend.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw8/igt@kms_flip@2x-flip-vs-suspend.html * igt@kms_flip@2x-plain-flip: - shard-hsw: ([PASS][91], [SKIP][92]) ([fdo#109271]) -> [PASS][93] +29 similar issues [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw7/igt@kms_flip@2x-plain-flip.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw1/igt@kms_flip@2x-plain-flip.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-hsw5/igt@kms_flip@2x-plain-flip.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt: - shard-iclb: [FAIL][94] ([fdo#103167]) -> [PASS][95] +8 similar issues [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-skl: ([PASS][96], [INCOMPLETE][97]) ([fdo#104108]) -> [PASS][98] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl2/igt@kms_frontbuffer_tracking@fbc-suspend.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl8/igt@kms_frontbuffer_tracking@fbc-suspend.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl1/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: ([FAIL][99], [FAIL][100]) ([fdo#108145] / [fdo#110403]) -> [PASS][101] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html * igt@kms_psr2_su@page_flip: - shard-iclb: [SKIP][102] ([fdo#109642]) -> [PASS][103] [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb8/igt@kms_psr2_su@page_flip.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb2/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_cursor_mmap_cpu: - shard-iclb: [SKIP][104] ([fdo#109441]) -> [PASS][105] +1 similar issue [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html * igt@kms_setmode@basic: - shard-kbl: ([FAIL][106], [FAIL][107]) ([fdo#99912]) -> [PASS][108] [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl4/igt@kms_setmode@basic.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-kbl6/igt@kms_setmode@basic.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-kbl3/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-apl: ([DMESG-WARN][109], [PASS][110]) ([fdo#108566]) -> [PASS][111] +1 similar issue [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl1/igt@kms_vblank@pipe-c-ts-continuation-suspend.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-apl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/shard-apl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html * igt@prime_busy@wait-hang-default: - shard-hsw: ([DMESG-WARN][112], [DMESG-WARN][113]) ([fdo#110789] / [fdo#110913 ]) -> [PASS][114] [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw8/igt@prime_busy@wait-hang-default.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6265/shard-hsw6/igt@prime_busy@wait-hang-default.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_1327 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13274/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Intel-gfx] [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala ` (5 preceding siblings ...) 2019-06-15 8:26 ` ✓ Fi.CI.IGT: " Patchwork @ 2019-07-10 22:43 ` Lyude Paul 2019-07-11 7:20 ` Daniel Vetter [not found] ` <20190711102923.3d219640@eldfell.localdomain> 6 siblings, 2 replies; 16+ messages in thread From: Lyude Paul @ 2019-07-10 22:43 UTC (permalink / raw) To: Ville Syrjala, dri-devel, Leo (Sunpeng) Li; +Cc: intel-gfx (adding sunpeng.li@amd.com to the thread here, since this is relevant to the DP aux device work) I mentioned this in IRC, but figured I should mention it on the ML as well so it can be discussed further. Honestly: I don't like the way we implement the path prop for MST. Mainly because * It looks ugly: mst:<obj-id>-<port#1>-<port#2> is ambiguous looking. I didn't even realize the first number was actually supposed to be the object ID until I looked at the code * I strongly doubt object IDs are consistent enough for the path prop to actually be as meaningful as it looks * Obviously we can't just remove the path property, since it's being used in userspace. This has me somewhat convinced that I think it might be a better idea to just make a whole new path_v2 prop, and document that the path prop was a bad idea and is now deprecated (but still functional). If we did this, we could come up with a much nicer MST naming scheme as well! Consider: For a connector with the RAD 0.1 living on the topology on DP-1 on card0: mst:DP-1:0.1 I see multiple benefits to this: * Look how easy it is to read! * DP-1 isn't guaranteed to be consistent, but it is certainly far more likely to be consistent than an object ID. * This seems a lot easier to write udev rules for, imho The only thing I'm not sure about whether or not we should also prepend the connector name with the device (e.g. card0, card1, etc.). I thought this might be necessary at first, but thinking about it - it shouldn't be hard to figure out the device in question from looking at sysfs since any userspace application will know which DRM fd the connector comes from. Does this sound like a good idea? If so, I'd be happy to write up some patches for this On Thu, 2019-06-13 at 21:43 +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Here's a possible apporoach for providing userspace with > some stable connector identifiers. Combine with the bus > name of the GPU and you should have some kind of real > physical path description. Unfortunately the ship has > sailed for MST connectors because userspace is already > parsing the property and expects to find certain things > there. So if we want stable names for those we'd probably > have introduce another PATH prop (PHYS_PATH?). > > I suppose one alternative would to make the connector > type_id stable. Currently that is being populated by drm > core and it's just a global counter. Not sure how badly > things would turn out if we'd allow each driver to set > that. It could result in conflicting xrandr connector > names between different GPUs which I suppose would > confuse existing userspace? > > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: Pekka Paalanen <ppaalanen@gmail.com> > Cc: Ilia Mirkin <imirkin@alum.mit.edu> > > Ville Syrjälä (2): > drm: Improve PATH prop docs > drm/i915: Populate PATH prop for every connector > > drivers/gpu/drm/drm_connector.c | 13 ++++++++-- > drivers/gpu/drm/i915/icl_dsi.c | 3 +++ > drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++ > drivers/gpu/drm/i915/intel_connector.h | 3 +++ > drivers/gpu/drm/i915/intel_crt.c | 2 ++ > drivers/gpu/drm/i915/intel_dp.c | 6 ++++- > drivers/gpu/drm/i915/intel_dp_mst.c | 3 +-- > drivers/gpu/drm/i915/intel_dvo.c | 3 +++ > drivers/gpu/drm/i915/intel_hdmi.c | 4 +++ > drivers/gpu/drm/i915/intel_lvds.c | 2 ++ > drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++-------- > drivers/gpu/drm/i915/intel_tv.c | 2 ++ > drivers/gpu/drm/i915/vlv_dsi.c | 3 +++ > 13 files changed, 83 insertions(+), 16 deletions(-) > _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-07-10 22:43 ` [Intel-gfx] [RFC][PATCH 0/2] " Lyude Paul @ 2019-07-11 7:20 ` Daniel Vetter [not found] ` <20190711102923.3d219640@eldfell.localdomain> 1 sibling, 0 replies; 16+ messages in thread From: Daniel Vetter @ 2019-07-11 7:20 UTC (permalink / raw) To: Lyude Paul; +Cc: Leo (Sunpeng) Li, intel-gfx, dri-devel On Wed, Jul 10, 2019 at 06:43:53PM -0400, Lyude Paul wrote: > (adding sunpeng.li@amd.com to the thread here, since this is relevant to the DP > aux device work) > > I mentioned this in IRC, but figured I should mention it on the ML as well so it > can be discussed further. Honestly: I don't like the way we implement the path > prop for MST. Mainly because > > * It looks ugly: mst:<obj-id>-<port#1>-<port#2> is ambiguous looking. I didn't > even realize the first number was actually supposed to be the object ID until > I looked at the code > * I strongly doubt object IDs are consistent enough for the path prop to > actually be as meaningful as it looks > * > Obviously we can't just remove the path property, since it's being used in > userspace. This has me somewhat convinced that I think it might be a better idea > to just make a whole new path_v2 prop, and document that the path prop was a bad > idea and is now deprecated (but still functional). If we did this, we could come > up with a much nicer MST naming scheme as well! Consider: > > For a connector with the RAD 0.1 living on the topology on DP-1 on card0: > > mst:DP-1:0.1 > > I see multiple benefits to this: > * Look how easy it is to read! > * DP-1 isn't guaranteed to be consistent, but it is certainly far more likely > to be consistent than an object ID. > * This seems a lot easier to write udev rules for, imho We just had an epic discussion on irc about how connector names are _also_ not stable. At least not if you have more than drm_device (they're allocated from a global idr, because lolz and it's apparently uapi, xrandr will die if they're not globally unique). So actually worse than the object id, which at least on a given machine, and for any driver not doing something real funny with undefined load ordering, should be stable. So maybe not so stable for soc drivers with lots of EPROBE_DEFER. > The only thing I'm not sure about whether or not we should also prepend the > connector name with the device (e.g. card0, card1, etc.). I thought this might > be necessary at first, but thinking about it - it shouldn't be hard to figure > out the device in question from looking at sysfs since any userspace application > will know which DRM fd the connector comes from. > > Does this sound like a good idea? If so, I'd be happy to write up some patches > for this Stable naming is offiically hard. I think the most reasonable approach, and the one every DE implements, is to look at the serial/vendor in edid and just assume that cables/connectors/cards are fungible. Anyway I'm not sure how useful any of this is ... There's also the hilarity that on older i915 cards, there's both hdmi and dp "connectors" for DP++ ports. -Daniel > > On Thu, 2019-06-13 at 21:43 +0300, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Here's a possible apporoach for providing userspace with > > some stable connector identifiers. Combine with the bus > > name of the GPU and you should have some kind of real > > physical path description. Unfortunately the ship has > > sailed for MST connectors because userspace is already > > parsing the property and expects to find certain things > > there. So if we want stable names for those we'd probably > > have introduce another PATH prop (PHYS_PATH?). > > > > I suppose one alternative would to make the connector > > type_id stable. Currently that is being populated by drm > > core and it's just a global counter. Not sure how badly > > things would turn out if we'd allow each driver to set > > that. It could result in conflicting xrandr connector > > names between different GPUs which I suppose would > > confuse existing userspace? > > > > Cc: Daniel Vetter <daniel@ffwll.ch> > > Cc: Pekka Paalanen <ppaalanen@gmail.com> > > Cc: Ilia Mirkin <imirkin@alum.mit.edu> > > > > Ville Syrjälä (2): > > drm: Improve PATH prop docs > > drm/i915: Populate PATH prop for every connector > > > > drivers/gpu/drm/drm_connector.c | 13 ++++++++-- > > drivers/gpu/drm/i915/icl_dsi.c | 3 +++ > > drivers/gpu/drm/i915/intel_connector.c | 20 +++++++++++++++ > > drivers/gpu/drm/i915/intel_connector.h | 3 +++ > > drivers/gpu/drm/i915/intel_crt.c | 2 ++ > > drivers/gpu/drm/i915/intel_dp.c | 6 ++++- > > drivers/gpu/drm/i915/intel_dp_mst.c | 3 +-- > > drivers/gpu/drm/i915/intel_dvo.c | 3 +++ > > drivers/gpu/drm/i915/intel_hdmi.c | 4 +++ > > drivers/gpu/drm/i915/intel_lvds.c | 2 ++ > > drivers/gpu/drm/i915/intel_sdvo.c | 35 ++++++++++++++++++-------- > > drivers/gpu/drm/i915/intel_tv.c | 2 ++ > > drivers/gpu/drm/i915/vlv_dsi.c | 3 +++ > > 13 files changed, 83 insertions(+), 16 deletions(-) > > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20190711102923.3d219640@eldfell.localdomain>]
* Re: [Intel-gfx] [RFC][PATCH 0/2] drm: PATH prop for all connectors? [not found] ` <20190711102923.3d219640@eldfell.localdomain> @ 2019-07-16 14:59 ` Li, Sun peng (Leo) 2019-08-01 9:51 ` Pekka Paalanen 0 siblings, 1 reply; 16+ messages in thread From: Li, Sun peng (Leo) @ 2019-07-16 14:59 UTC (permalink / raw) To: Pekka Paalanen, Lyude Paul Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org On 2019-07-11 3:29 a.m., Pekka Paalanen wrote: > Wait, one can write udev rules for connectors and stuff? > How? What can they do? I was using it to generate user-friendly device names for the mst aux implementation: https://patchwork.freedesktop.org/patch/315900/?series=63237&rev=2 Leo _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-07-16 14:59 ` [Intel-gfx] " Li, Sun peng (Leo) @ 2019-08-01 9:51 ` Pekka Paalanen 2019-08-01 18:24 ` Li, Sun peng (Leo) 0 siblings, 1 reply; 16+ messages in thread From: Pekka Paalanen @ 2019-08-01 9:51 UTC (permalink / raw) To: Li, Sun peng (Leo) Cc: intel-gfx@lists.freedesktop.org, Ilia Mirkin, dri-devel@lists.freedesktop.org [-- Attachment #1.1: Type: text/plain, Size: 672 bytes --] On Tue, 16 Jul 2019 14:59:58 +0000 "Li, Sun peng (Leo)" <Sunpeng.Li@amd.com> wrote: > On 2019-07-11 3:29 a.m., Pekka Paalanen wrote: > > Wait, one can write udev rules for connectors and stuff? > > How? What can they do? > > I was using it to generate user-friendly device names for the mst aux > implementation: > https://patchwork.freedesktop.org/patch/315900/?series=63237&rev=2 Hi, what is that device node used for? Are the "by-path" symlinks to help a display server associate the right device node with the right DRM KMS connector resource? The patch commit message did not explain what the names are actually used for. Thanks, pq [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC][PATCH 0/2] drm: PATH prop for all connectors? 2019-08-01 9:51 ` Pekka Paalanen @ 2019-08-01 18:24 ` Li, Sun peng (Leo) 0 siblings, 0 replies; 16+ messages in thread From: Li, Sun peng (Leo) @ 2019-08-01 18:24 UTC (permalink / raw) To: Pekka Paalanen Cc: intel-gfx@lists.freedesktop.org, Ilia Mirkin, dri-devel@lists.freedesktop.org On 2019-08-01 5:51 a.m., Pekka Paalanen wrote: > On Tue, 16 Jul 2019 14:59:58 +0000 > "Li, Sun peng (Leo)" <Sunpeng.Li@amd.com> wrote: > >> On 2019-07-11 3:29 a.m., Pekka Paalanen wrote: >>> Wait, one can write udev rules for connectors and stuff? >>> How? What can they do? >> >> I was using it to generate user-friendly device names for the mst aux >> implementation: >> https://patchwork.freedesktop.org/patch/315900/?series=63237&rev=2 > > Hi, > > what is that device node used for? > > Are the "by-path" symlinks to help a display server associate the > right device node with the right DRM KMS connector resource? I intended it to be something more descriptive than the '/dev/drm_dp_aux0, drm_dp_aux1, drm_dp_aux2, ...' names, to help users identify the connector they're addressing in the mst topology. I guess it could also be used for the purpose you mention as well. Of course, we'd need more reliable and persistent PATH props first. The patch was dropped until this happens. Leo > > The patch commit message did not explain what the names are > actually used for. > > > Thanks, > pq > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2019-08-01 18:24 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-13 18:43 [RFC][PATCH 0/2] drm: PATH prop for all connectors? Ville Syrjala
2019-06-13 18:43 ` [RFC][PATCH 1/2] drm: Improve PATH prop docs Ville Syrjala
2019-06-27 7:36 ` Pekka Paalanen
2019-06-13 18:43 ` [RFC][PATCH 2/2] drm/i915: Populate PATH prop for every connector Ville Syrjala
2019-06-27 7:37 ` Pekka Paalanen
2019-06-13 18:50 ` ✗ Fi.CI.CHECKPATCH: warning for drm: PATH prop for all connectors? Patchwork
2019-06-13 20:42 ` [RFC][PATCH 0/2] " Daniel Vetter
2019-06-27 7:35 ` Pekka Paalanen
2019-06-27 7:44 ` Michel Dänzer
2019-06-14 11:38 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-06-15 8:26 ` ✓ Fi.CI.IGT: " Patchwork
2019-07-10 22:43 ` [Intel-gfx] [RFC][PATCH 0/2] " Lyude Paul
2019-07-11 7:20 ` Daniel Vetter
[not found] ` <20190711102923.3d219640@eldfell.localdomain>
2019-07-16 14:59 ` [Intel-gfx] " Li, Sun peng (Leo)
2019-08-01 9:51 ` Pekka Paalanen
2019-08-01 18:24 ` Li, Sun peng (Leo)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox