From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm: change connector disconnected debug message to an error Date: Fri, 03 Feb 2017 09:59:35 +0200 Message-ID: <87vasryaag.fsf@intel.com> References: <20170202025904.25810-1-shuahkh@osg.samsung.com> <874m0d0z7o.fsf@intel.com> <9d3783d1-b8f8-bd82-3141-1897980197da@osg.samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id CCE506E061 for ; Fri, 3 Feb 2017 07:59:38 +0000 (UTC) In-Reply-To: <9d3783d1-b8f8-bd82-3141-1897980197da@osg.samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel.vetter@intel.com, seanpaul@chromium.org, airlied@linux.ie Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Shuah Khan List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAwMiBGZWIgMjAxNywgU2h1YWggS2hhbiA8c2h1YWhraEBvc2cuc2Ftc3VuZy5jb20+ IHdyb3RlOgo+IE9uIDAyLzAyLzIwMTcgMDE6MzIgQU0sIEphbmkgTmlrdWxhIHdyb3RlOgo+PiBP biBUaHUsIDAyIEZlYiAyMDE3LCBTaHVhaCBLaGFuIDxzaHVhaGtoQG9zZy5zYW1zdW5nLmNvbT4g d3JvdGU6Cj4+PiBDaGFuZ2UgZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVz KCkgdG8gcHJpbnQgYW4gZXJyb3IgdG8KPj4+IHJlcG9ydCBjb25uZWN0b3IgZGlzY29ubmVjdGVk IHN0YXR1cyBpbnN0ZWFkIG9mIGEgZGVidWcgbWVzc2FnZS4KPj4+Cj4+PiBXaGVuIHRoaXMgY29u ZGl0aW9uIG9jY3VycywgYXBwbGljYXRpb24gZG9lc24ndCBrbm93IHRoZSByZWFsIGVycm9yIGFu ZAo+Pj4gcmVwb3J0cyBpdCBhcyBkcml2ZXIgbGFja2luZyBzdXBwb3J0IGZvciBtb2RlIHNldHRp bmcuIENoYW5nZSBpdCB0byBhbgo+Pj4gZXJyb3IgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZGVidWcu Cj4+IAo+PiBQbGVhc2UgZXhwbGFpbiB3aGF0IG1ha2VzIHRoaXMgY29uZGl0aW9uIGFuIGVycm9y LiBDb25uZWN0b3JzIGdldAo+PiBjb25uZWN0ZWQgYW5kIGRpc2Nvbm5lY3RlZCwgYnVzaW5lc3Mg YXMgdXN1YWwsIHdoeSBzaG91bGQgdGhpcyBiZSBhbgo+PiBlcnJvcj8KPj4gCj4+IEJSLAo+PiBK YW5pLgo+Cj4gRGlzY29ubmVjdGluZyBjb25uZWN0b3IgaXRzZWxmIGlzbid0IGFuIGVycm9yLiBX aGVuIHVzZXItc3BhY2UgdHJpZXMKPiB0byBhY2Nlc3MgaXQsIGl0IHdvdWxkIGJlIHVzZWZ1bCB0 byByZXBvcnQgdGhlIHN0YXR1cyB0aGF0IHRoZSBjb25uZWN0b3IKPiBpcyBkaXNjb25uZWN0ZWQu Cj4KPiBJIHVzZSBlbWJlZGRlZCBzeXN0ZW0ocykgdGhhdCBkb24ndCBsaWtlIGl0IHdoZW4gSERN SSBpcyBob3QgYWRkZWQgb3IKPiByZW1vdmVkLiBBbHNvLCBiZWNhdXNlIG9mIHJldHVybiBwb3dl ciwgaXQgaXMgc2FmZXIgdG8gZGlzY29ubmVjdCBIRE1JCj4gYW5kIHRoZW4gYXBwbHkgcG93ZXIg dG8gdGhlIGJvYXJkLiBJdCBjaGFzZWQgYSBmZXcgbGliZHJtIGFuZCB1c2VyLXNwYWNlCj4gZGVh ZCBlbmRzIGJlZm9yZSBJIGVuYWJsZWQgZHJtIGRlYnVnIGFuZCB3YXMgYWJsZSB0byBmaXggdGhl IHJlYWwgaXNzdWUsCj4gd2hpY2ggaXMgYSBkaXNjb25uZWN0ZWQgY2FibGUuCj4KPiBVc2VyLXNw YWNlIHByaW50cyByYXRoZXIgY29uZnVzaW5nIG1lc3NhZ2VzIGFzIGl0IGRvZXNuJ3QgcmVhbGx5 IGtub3cKPiB0aGUgZGlzY29ubmVjdGVkIHN0YXR1cyBhcyBpdCBpc24ndCByZXR1cm5lZCB0byBp dC4KPgo+IEkgZmlndXJlZCBpdCBtaWdodCBiZSBhIGdvb2QgaWRlYSB0byBhdCBsZWFzdCBwcmlu dCBhIG1lc3NhZ2UgYW5kIHRoaXMgY2FuCj4gYmUgYSBub3RpY2Ugb3IgaW5mbyBpbnN0ZWFkIG9m IGFuIGVycm9yLiBJIGRvIHRoaW5rIGl0cyBpcyB3b3J0aCB3aGlsZSBpbgo+IHNvbWUgY2FzZXMu CgpXZWxsLCBJIHN0aWxsIHRoaW5rIGhhdmluZyBhIGRlYnVnIG1lc3NhZ2UgZm9yIGRlYnVnZ2lu ZyBpcyB0aGUgd2F5IHRvCmdvLCBhbmQgdGhhdCdzIHdoYXQgd2UgaGF2ZS4gUGVyaGFwcyBpdCBp cyB0aGUgdXNlcnNwYWNlIG1lc3NhZ2VzIHRoYXQKbmVlZCBpbXByb3ZlbWVudCBpbnN0ZWFkPwoK QlIsCkphbmkuCgoKPgo+IHRoYW5rcywKPiAtLSBTaHVhaAo+Cj4KPj4gCj4+IAo+Pj4KPj4+IFNp Z25lZC1vZmYtYnk6IFNodWFoIEtoYW4gPHNodWFoa2hAb3NnLnNhbXN1bmcuY29tPgo+Pj4gLS0t Cj4+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyB8IDQgKystLQo+Pj4gIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCj4+PiBpbmRleCBhYzk1M2YwLi42NDcyYjdmIDEwMDY0 NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+Pj4gQEAgLTI4Miw4ICsyODIsOCBA QCBpbnQgZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4+PiAgCWRldi0+bW9kZV9jb25maWcucG9sbF9ydW5uaW5n ID0gZHJtX2ttc19oZWxwZXJfcG9sbDsKPj4+ICAKPj4+ICAJaWYgKGNvbm5lY3Rvci0+c3RhdHVz ID09IGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkKSB7Cj4+PiAtCQlEUk1fREVCVUdfS01T KCJbQ09OTkVDVE9SOiVkOiVzXSBkaXNjb25uZWN0ZWRcbiIsCj4+PiAtCQkJY29ubmVjdG9yLT5i YXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwo+Pj4gKwkJRFJNX0VSUk9SKCJbQ09OTkVDVE9SOiVk OiVzXSBkaXNjb25uZWN0ZWRcbiIsCj4+PiArCQkJICBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5l Y3Rvci0+bmFtZSk7Cj4+PiAgCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoY29ubmVjdG9yLCBOVUxMKTsKPj4+ICAJCXZlcmJvc2VfcHJ1bmUgPSBmYWxzZTsKPj4+ICAJ CWdvdG8gcHJ1bmU7Cj4+IAo+CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752822AbdBCH7k (ORCPT ); Fri, 3 Feb 2017 02:59:40 -0500 Received: from mga05.intel.com ([192.55.52.43]:51344 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752409AbdBCH7i (ORCPT ); Fri, 3 Feb 2017 02:59:38 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,328,1477983600"; d="scan'208";a="816574256" From: Jani Nikula To: Shuah Khan , daniel.vetter@intel.com, seanpaul@chromium.org, airlied@linux.ie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Shuah Khan Subject: Re: [PATCH] drm: change connector disconnected debug message to an error In-Reply-To: <9d3783d1-b8f8-bd82-3141-1897980197da@osg.samsung.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20170202025904.25810-1-shuahkh@osg.samsung.com> <874m0d0z7o.fsf@intel.com> <9d3783d1-b8f8-bd82-3141-1897980197da@osg.samsung.com> Date: Fri, 03 Feb 2017 09:59:35 +0200 Message-ID: <87vasryaag.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 02 Feb 2017, Shuah Khan wrote: > On 02/02/2017 01:32 AM, Jani Nikula wrote: >> On Thu, 02 Feb 2017, Shuah Khan 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. Well, I still think having a debug message for debugging is the way to go, and that's what we have. Perhaps it is the userspace messages that need improvement instead? BR, Jani. > > thanks, > -- Shuah > > >> >> >>> >>> Signed-off-by: Shuah Khan >>> --- >>> drivers/gpu/drm/drm_probe_helper.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c >>> index ac953f0..6472b7f 100644 >>> --- a/drivers/gpu/drm/drm_probe_helper.c >>> +++ b/drivers/gpu/drm/drm_probe_helper.c >>> @@ -282,8 +282,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, >>> dev->mode_config.poll_running = drm_kms_helper_poll; >>> >>> if (connector->status == connector_status_disconnected) { >>> - DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", >>> - connector->base.id, connector->name); >>> + DRM_ERROR("[CONNECTOR:%d:%s] disconnected\n", >>> + connector->base.id, connector->name); >>> drm_mode_connector_update_edid_property(connector, NULL); >>> verbose_prune = false; >>> goto prune; >> > -- Jani Nikula, Intel Open Source Technology Center