From patchwork Thu Sep 6 20:15:44 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 1418001 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id E7593DFFCF for ; Thu, 6 Sep 2012 21:26:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E7F33A0C3C for ; Thu, 6 Sep 2012 14:26:59 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTP id CE8C5A0D99 for ; Thu, 6 Sep 2012 14:23:13 -0700 (PDT) Received: by mail-wi0-f171.google.com with SMTP id hq4so5491846wib.12 for ; Thu, 06 Sep 2012 14:23:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=PcYmAARtVtqEa1lWRoZ48mdTZDIjSaU1Ams7cidgKrQ=; b=U2iiABNGCyUxTm1Z2Drlot9T3YNlTJKDJJg1s/Cj2Xsg4pmziF+nE8LRrMGGsBCOun oddXndg7aqum53eIwMvzI9z6BdKs4V7hvMXnG54kUXITlOEpt9BjOt0TkIMesE0dVVT3 tN0KOC+R1NJf6KKDn0eZIhx6m30PEhKrp1xSs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=PcYmAARtVtqEa1lWRoZ48mdTZDIjSaU1Ams7cidgKrQ=; b=FlKnTFFK7SnrdcH9tI2NFNDFYtpaBkM7vcJw/74fSQZ0UKmDfrysD5N3B4RhkdQ1xx 2y31G0PU9+VD3ECzEKhAT6T2KZpYSNlzfBeV6gVGbI6fly08GAUs4I6X7dpn5rB3T5zH XDVAfhPA+TSPRbd6GklGYWHpeGJUW+ooTLXVm1mmPB7jXqaYuQX1SlqKCwQ8VBF5v8CS VA7W6fgDvAozTxGnC5Ic1VcyLU8Sq3X6sLG9/w7i9oS9dRpUUxgGPeU0vcWsR3TiCQgg bmvaM5KEGRv2zkEmymDfPTBChfFFtJjxchCW5471Fzcg9CaCXrLp6vKZzNQWPwktIv2R Fe0g== Received: by 10.216.197.12 with SMTP id s12mr1989483wen.4.1346966593466; Thu, 06 Sep 2012 14:23:13 -0700 (PDT) Received: from wespe.ffwll.local (178-83-130-250.dynamic.hispeed.ch. [178.83.130.250]) by mx.google.com with ESMTPS id l5sm8618787wix.5.2012.09.06.14.23.11 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 06 Sep 2012 14:23:12 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Thu, 6 Sep 2012 22:15:44 +0200 Message-Id: <1346962544-7439-6-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.7.11.2 In-Reply-To: <1346962544-7439-1-git-send-email-daniel.vetter@ffwll.ch> References: <1346962544-7439-1-git-send-email-daniel.vetter@ffwll.ch> X-Gm-Message-State: ALoCoQkKYjeyn5YWjZLM+2XpXfKUmKmL4tSeybWbw1iq7P+TUssHR1/jd+1peSmYYnd2oo+PO7Ji Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH 5/5] drm/i915: disable the cpu edp port after the cpu pipe X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org See bspec, Vol3 Part2, Section 1.1.3 "Display Mode Set Sequence". This applies to all platforms where we currently support eDP on, i.e. ilk, snb & ivb. Without this change we fail to light up the eDP port on previously unused crtcs (likely because something is stuck on the old pipe), and we also fail to properly disable the old pipe (i.e. bit 30 in the PIPECONF register is stuck as set until the next reboot). v2: Rebased on top of the edp panel off sequence changes in 3.6-rc2. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=44001 Signed-Off-by: Daniel Vetter Reviewed-by: Paulo Zanoni --- drivers/gpu/drm/i915/intel_dp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 07f9521..f28353d 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1315,15 +1315,20 @@ static void intel_disable_dp(struct intel_encoder *encoder) ironlake_edp_backlight_off(intel_dp); intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); ironlake_edp_panel_off(intel_dp); - intel_dp_link_down(intel_dp); + + /* cpu edp my only be disable _after_ the cpu pipe/plane is disabled. */ + if (!is_cpu_edp(intel_dp)) + intel_dp_link_down(intel_dp); } static void intel_post_disable_dp(struct intel_encoder *encoder) { struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); - if (is_cpu_edp(intel_dp)) + if (is_cpu_edp(intel_dp)) { + intel_dp_link_down(intel_dp); ironlake_edp_pll_off(intel_dp); + } } static void intel_enable_dp(struct intel_encoder *encoder)