From patchwork Fri Sep 28 07:27:18 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 11835 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id D5DCE23E42 for ; Fri, 28 Sep 2012 07:27:30 +0000 (UTC) Received: from mail-ie0-f180.google.com (mail-ie0-f180.google.com [209.85.223.180]) by fiordland.canonical.com (Postfix) with ESMTP id 6FE35A18CA7 for ; Fri, 28 Sep 2012 07:27:30 +0000 (UTC) Received: by ieje10 with SMTP id e10so6250621iej.11 for ; Fri, 28 Sep 2012 00:27:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf :dkim-signature:sender:from:to:cc:subject:date:message-id:x-mailer :x-gm-message-state; bh=Dj/Pgh8im8TjTrMXZIZu25f+6sPfLrIXaSHEY4imzQY=; b=TxoTxOhBjg8XQzbq8hWNcjAlHotyRyEHA4npnXumVmsFSrWNVpeUHHmrozZ2qQkhMd TCeDJ0h6vszcbJ1tkdFu9HhlbG/YeJNtNAsfzD1a/+FFJFPetzc9jcqKykH5Ez/m0Ys5 pO9IP/UmQav6iUsDbQS6M7KjBv1XMzHKViUC0me7Cscl8HkK1YpaWw15qDl8EFvZywWQ pVt/s+xtfIYT5pejDjCRtbOgu07XeiFqaovgVUpa9tmiWU4cTn+D43Wb/PRruWQahhDM h2giuD39W6m7z9gkIQEDGN/ixg0wnGmaoICl44sMK+8ecEupeCqWU70N44wq4lJCVuZT Bb4w== Received: by 10.50.217.229 with SMTP id pb5mr830069igc.28.1348817249748; Fri, 28 Sep 2012 00:27:29 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.50.184.232 with SMTP id ex8csp456612igc; Fri, 28 Sep 2012 00:27:29 -0700 (PDT) Received: by 10.60.172.19 with SMTP id ay19mr5226653oec.68.1348817248877; Fri, 28 Sep 2012 00:27:28 -0700 (PDT) Received: from mail-oa0-f50.google.com (mail-oa0-f50.google.com [209.85.219.50]) by mx.google.com with ESMTPS id in8si9087017obb.144.2012.09.28.00.27.28 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 28 Sep 2012 00:27:28 -0700 (PDT) Received-SPF: pass (google.com: domain of robdclark@gmail.com designates 209.85.219.50 as permitted sender) client-ip=209.85.219.50; Authentication-Results: mx.google.com; spf=pass (google.com: domain of robdclark@gmail.com designates 209.85.219.50 as permitted sender) smtp.mail=robdclark@gmail.com; dkim=pass header.i=@gmail.com Received: by oagn16 with SMTP id n16so3279849oag.37 for ; Fri, 28 Sep 2012 00:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer; bh=Dj/Pgh8im8TjTrMXZIZu25f+6sPfLrIXaSHEY4imzQY=; b=VGk6y5a7wiFlj0hmBivJaK77ZD6cPtAWLX28vcXxHUuLruS0vdUZVdS10uTRcwNLAS dysOSLqM1AnvMJUfxIBUyIO8oTaUt6hXxp6XbGxiM+KHoIVdIpdoDU3SbhiNefnYRrf5 vvPnJQRGFujta3Y8mohCCgG1/mzIXxXYtn8ZBIuQvy5knKoZxshCFb7DvaLx4G9v99mr BdDEcmZjV3yvLsIp40m/3VLVlCpJyW4TZfkl8DUhRS+a1p+tAg/ng7FNV7XDupMY/ufD Uk15QbymY5bg2sca3RlGDkRlmPMF+tUBqmFQ4vns/+LKwWPbcWVe5Wxpq1sZDN1lzitk +6Gg== Received: by 10.60.14.5 with SMTP id l5mr5314940oec.39.1348817248609; Fri, 28 Sep 2012 00:27:28 -0700 (PDT) Received: from localhost (dragon.ti.com. [192.94.94.33]) by mx.google.com with ESMTPS id r3sm6085081oef.2.2012.09.28.00.27.26 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 28 Sep 2012 00:27:27 -0700 (PDT) Sender: Rob Clark From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: patches@linaro.org, rogerq@ti.com, Rob Clark Subject: [PATCH] drm: call connector->dpms(OFF) when disabling Date: Fri, 28 Sep 2012 09:27:18 +0200 Message-Id: <1348817238-30228-1-git-send-email-rob.clark@linaro.org> X-Mailer: git-send-email 1.7.9.5 X-Gm-Message-State: ALoCoQnkeNrE9vDRAIB7xrjl7e7sXIz1QJ3Jlscy/te2Maw+8WXzPNEBgwKheHftQOaR+HAis1fr From: Rob Clark When disabling unused connectors, be sure to call connector->dpms(OFF), so if there is actually some IP to turn off (such as external bridge chips, etc), these actually do get turned off. Signed-off-by: Rob Clark Tested-by: Roger Quadros NACKed-by: Daniel Vetter --- drivers/gpu/drm/drm_crtc_helper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 3252e70..000cda4 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -244,16 +244,16 @@ void drm_helper_disable_unused_functions(struct drm_device *dev) struct drm_crtc *crtc; list_for_each_entry(connector, &dev->mode_config.connector_list, head) { - if (!connector->encoder) - continue; if (connector->status == connector_status_disconnected) connector->encoder = NULL; + if (!connector->encoder) + connector->funcs->dpms(connector, DRM_MODE_DPMS_OFF); } list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { if (!drm_helper_encoder_in_use(encoder)) { drm_encoder_disable(encoder); - /* disconnector encoder from any connector */ + /* disconnect encoder from any connector */ encoder->crtc = NULL; } }