From patchwork Mon Mar 3 23:42:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrik Jakobsson X-Patchwork-Id: 3757851 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id E06B4BF13A for ; Mon, 3 Mar 2014 23:43:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0634D203ED for ; Mon, 3 Mar 2014 23:43:02 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 1DA17203EB for ; Mon, 3 Mar 2014 23:43:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3D209F9D9E; Mon, 3 Mar 2014 15:42:59 -0800 (PST) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by gabe.freedesktop.org (Postfix) with ESMTP id E5489F9D9E for ; Mon, 3 Mar 2014 15:42:56 -0800 (PST) Received: by mail-lb0-f182.google.com with SMTP id n15so5201276lbi.27 for ; Mon, 03 Mar 2014 15:42:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=fKitq79I4ILNW3AQ7XPZ9X49WgYaioXFn9ZbrLeBeTA=; b=OQ+Cuxon8tOgdGYI5vHaXnfzYr8XQGOd8TNsg+Z5IBDOIeoDrjSv80lHXfDhlmb8fH 8EsLNykqgLbnNp+vGy1/jIRghrFJ6Wx1Dp6MV+ISFWP/HY8GU2ojCJYSUn7shfHuiKU3 Ddl59KlIJU6VMyGcxcMUPJhsiXMGn8lnwNzOLPdfa3Ae1sAJsvAC1UPs55hWX4qyJX1S YtO0D9wLb3X3A0B2yNfNipfxMycNXlT1vQOnP8nQZ6ciHSQYOfAZhgUJZBnB1aqhg1qJ jjfdDn9TwHsS5D0yKlGEZDpf0nuqegv5EfYcLlQJY9IOBV3hjbSzRwO7mE5D9Gx02VRK 9/MA== X-Received: by 10.112.171.67 with SMTP id as3mr23379040lbc.10.1393890174433; Mon, 03 Mar 2014 15:42:54 -0800 (PST) Received: from patrik-air.lan (h138n8-oer-a32.ias.bredband.telia.com. [2.248.103.138]) by mx.google.com with ESMTPSA id i7sm13112376lai.5.2014.03.03.15.42.53 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 03 Mar 2014 15:42:54 -0800 (PST) From: Patrik Jakobsson To: intel-gfx@lists.freedesktop.org Date: Tue, 4 Mar 2014 00:42:44 +0100 Message-Id: <1393890164-7270-1-git-send-email-patrik.r.jakobsson@gmail.com> X-Mailer: git-send-email 1.8.3.2 Cc: Paulo Zanoni Subject: [Intel-gfx] [PATCH] drm/i915: Don't just say it, actually force edp vdd 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@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch fixes the blank screen bug introduced in 3.14-rc1 on the MacBook Air 6,2. The comments state that we need to force edp vdd so lets put it back. The regression was introduced by the following commit: commit dff392dbd258381a6c3164f38420593f2d291e3b Author: Paulo Zanoni Date: Fri Dec 6 17:32:41 2013 -0200 drm/i915: don't touch the VDD when disabling the panel v2: Wrap intel_disable_dp() with _vdd_on and _vdd_off Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74628 Cc: Paulo Zanoni Cc: Chris Wilson Signed-off-by: Patrik Jakobsson Acked-by: Chris Wilson --- drivers/gpu/drm/i915/intel_dp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 57552eb..6da1fcb 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1252,7 +1252,8 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp) pp = ironlake_get_pp_control(intel_dp); /* We need to switch off panel power _and_ force vdd, for otherwise some * panels get very unhappy and cease to work. */ - pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE); + pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_FORCE_VDD | + EDP_BLC_ENABLE); pp_ctrl_reg = _pp_ctrl_reg(intel_dp); @@ -1784,9 +1785,11 @@ static void intel_disable_dp(struct intel_encoder *encoder) /* Make sure the panel is off before trying to change the mode. But also * ensure that we have vdd while we switch off the panel. */ + ironlake_edp_panel_vdd_on(intel_dp); ironlake_edp_backlight_off(intel_dp); intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); ironlake_edp_panel_off(intel_dp); + ironlake_edp_panel_vdd_off(intel_dp, true); /* cpu edp my only be disable _after_ the cpu pipe/plane is disabled. */ if (!(port == PORT_A || IS_VALLEYVIEW(dev)))