[PATCH 1/2] drm: Add a new connector property for link status

Chris Wilson chris at chris-wilson.co.uk
Wed Oct 26 09:27:55 UTC 2016


On Tue, Oct 25, 2016 at 06:19:47PM -0700, Manasi Navare wrote:
> Chris,
> 
> Would you be able to make the necessary changes in the suerspace
> driver so I can do some testing tomorrow?
> 
> Manasi
> 
> On Tue, Oct 25, 2016 at 06:16:34PM -0700, Manasi Navare wrote:
> > A new optional connector property is added for keeping
> > track of whether the link is good (link training passed) or
> > link is bad (link training  failed). If the link status property
> > is Bad, then userspace should fire off a new modeset at the current
> > mode even if there have not been any changes in the mode list
> > or connector status.
> > 
> > Cc: dri-devel at lists.freedesktop.org
> > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > Cc: Daniel Vetter <daniel.vetter at intel.com>
> > Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
> > ---
> >  drivers/gpu/drm/drm_connector.c | 32 ++++++++++++++++++++++++++++++++
> >  include/drm/drm_connector.h     |  1 +
> >  include/drm/drm_crtc.h          |  6 ++++++
> >  include/uapi/drm/drm_mode.h     |  4 ++++
> >  4 files changed, 43 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > index 2db7fb5..b4ce19f 100644
> > --- a/drivers/gpu/drm/drm_connector.c
> > +++ b/drivers/gpu/drm/drm_connector.c
> > @@ -588,6 +588,11 @@ int drm_display_info_set_bus_formats(struct drm_display_info *info,
> >  DRM_ENUM_NAME_FN(drm_get_tv_subconnector_name,
> >  		 drm_tv_subconnector_enum_list)
> >  
> > +static const struct drm_prop_enum_list drm_link_status_enum_list[] = {
> > +	{ DRM_MODE_LINK_STATUS_GOOD, "Good" },
> > +	{ DRM_MODE_LINK_STATUS_BAD, "Bad" },
> > +};
> > +
> >  int drm_connector_create_standard_properties(struct drm_device *dev)
> >  {
> >  	struct drm_property *prop;
> > @@ -845,6 +850,33 @@ int drm_mode_create_suggested_offset_properties(struct drm_device *dev)
> >  EXPORT_SYMBOL(drm_mode_create_suggested_offset_properties);
> >  
> >  /**
> > + * drm_mode_create_link_status_property - Create link status property
> > + * @dev: DRM device
> > + *
> > + * Called by a driver the first time it's needed, must be attached to desired
> > + * connectors.
> > + * This property is used to indicate whether link sttaus is Good or Bad as
> > + * a result fo link training
> > + */
> > +int drm_mode_create_link_status_property(struct drm_device *dev)
> > +{
> > +	struct drm_property *link_status;
> > +
> > +	if (dev->mode_config.link_status_property)
> > +		return 0;
> > +
> > +	link_status =
> > +		drm_property_create_enum(dev, 0, "link-status",

s/0/DRM_MODE_PROP_IMMUTABLE/

Bikeshed commitee: "link-status" or "link status" or "Link status"
		   "Good" or "good"

Do we want a general term such as bad or more specific error? Anything
not !good is an error, so we are always free to add more if need be.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list