[Intel-gfx] [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 Intel-gfx
mailing list