Re: [PATCH] drm: change connector disconnected debug message to an error

From: Daniel Vetter
Date: Fri Feb 03 2017 - 03:06:31 EST


On Thu, Feb 02, 2017 at 10:25:44AM -0700, Shuah Khan wrote:
> On 02/02/2017 01:32 AM, Jani Nikula wrote:
> > On Thu, 02 Feb 2017, Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
> >> Change drm_helper_probe_single_connector_modes() to print an error to
> >> report connector disconnected status instead of a debug message.
> >>
> >> When this condition occurs, application doesn't know the real error and
> >> reports it as driver lacking support for mode setting. Change it to an
> >> error to make it easier to debug.
> >
> > Please explain what makes this condition an error. Connectors get
> > connected and disconnected, business as usual, why should this be an
> > error?
> >
> > BR,
> > Jani.
>
> Disconnecting connector itself isn't an error. When user-space tries
> to access it, it would be useful to report the status that the connector
> is disconnected.
>
> I use embedded system(s) that don't like it when HDMI is hot added or
> removed. Also, because of return power, it is safer to disconnect HDMI
> and then apply power to the board. It chased a few libdrm and user-space
> dead ends before I enabled drm debug and was able to fix the real issue,
> which is a disconnected cable.
>
> User-space prints rather confusing messages as it doesn't really know
> the disconnected status as it isn't returned to it.
>
> I figured it might be a good idea to at least print a message and this can
> be a notice or info instead of an error. I do think its is worth while in
> some cases.

This sounds like a very specific use-case you have here, and it can easily
be supported by a small deamon in userspace (only on debug builds ofc)
that tell you that someone unplugged the screen when it shouldn't have
been.

Because upstream runs also on non-embedded systems, where unplugging is
normal, and we definitely don't want to spam dmesg.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch