From patchwork Wed Oct 31 20:12:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paulo Zanoni X-Patchwork-Id: 1681601 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 574D5DFB80 for ; Wed, 31 Oct 2012 20:32:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 38809A0C6B for ; Wed, 31 Oct 2012 13:32:36 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-ye0-f177.google.com (mail-ye0-f177.google.com [209.85.213.177]) by gabe.freedesktop.org (Postfix) with ESMTP id C7B7BA0C35 for ; Wed, 31 Oct 2012 13:14:04 -0700 (PDT) Received: by mail-ye0-f177.google.com with SMTP id r1so354583yen.36 for ; Wed, 31 Oct 2012 13:14:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=buQdz+ITb1bU3OCEsIy0bY/r9KmgJyPptm+/PA5vUWA=; b=Vnnno4KFlA8ehDnVg94a9bdkg9rrrof04BYWL81kt+VbpoHxfn+28pdWxG0MTA8S2m OYoRz1tgH2n1B7moY6cnrtOwOOnhS7a7Mut7lRWNjsi1ohq4OsY/famorecoHw5j3U3V iqgFtZPbKzGwb6lG4/aZF0iNVRlc2Z0KZOLpd5hS5J73e0NQzmA8ODL+xucPXFEZ8yEL DsuZepj9ht7kApz2mTMHoBCywtUfWhqC6lHNjHVWA0EqdANIoBY3TYsMd0VleTFieyEy vzlecYxXSIJKIUfilv+5z20PQ/B0flx983CXkGdtOKyLPfULQzJSn/5Eryq9v5+iuAT8 TMUQ== Received: by 10.236.44.196 with SMTP id n44mr37378458yhb.117.1351714444645; Wed, 31 Oct 2012 13:14:04 -0700 (PDT) Received: from vicky.domain.invalid ([177.42.7.91]) by mx.google.com with ESMTPS id h16sm4354130ani.0.2012.10.31.13.14.03 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 31 Oct 2012 13:14:04 -0700 (PDT) From: Paulo Zanoni To: intel-gfx@lists.freedesktop.org Date: Wed, 31 Oct 2012 18:12:52 -0200 Message-Id: <1351714375-15284-34-git-send-email-przanoni@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1351714375-15284-1-git-send-email-przanoni@gmail.com> References: <1351714375-15284-1-git-send-email-przanoni@gmail.com> Cc: Paulo Zanoni Subject: [Intel-gfx] [PATCH 33/36] drm/i915: implement timing override workarounds on LPT 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 From: Paulo Zanoni These workarounds are documented on the CRT mode set sequence. Signed-off-by: Paulo Zanoni --- drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index ae22d4d..a01901a 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -1729,6 +1729,11 @@ static void lpt_enable_pch_transcoder(struct drm_i915_private *dev_priv, assert_fdi_tx_enabled(dev_priv, cpu_transcoder); assert_fdi_rx_enabled(dev_priv, TRANSCODER_A); + /* Workaround: set timing override bit. */ + val = I915_READ(_TRANSA_CHICKEN2); + val |= TRANS_AUTOTRAIN_GEN_STALL_DIS; + I915_WRITE(_TRANSA_CHICKEN2, val); + val = TRANS_ENABLE; pipeconf_val = I915_READ(PIPECONF(cpu_transcoder)); @@ -1780,6 +1785,11 @@ static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv, /* wait for PCH transcoder off, transcoder state */ if (wait_for((I915_READ(_TRANSACONF) & TRANS_STATE_ENABLE) == 0, 50)) DRM_ERROR("Failed to disable PCH transcoder\n"); + + /* Workaround: clear timing override bit. */ + val = I915_READ(_TRANSA_CHICKEN2); + val &= ~TRANS_AUTOTRAIN_GEN_STALL_DIS; + I915_WRITE(_TRANSA_CHICKEN2, val); } /**