From patchwork Mon May 20 17:14:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Stein X-Patchwork-Id: 2594591 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 188CF3FE81 for ; Mon, 20 May 2013 19:10:23 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 153C3E61EB for ; Mon, 20 May 2013 12:10:23 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 1440 seconds by postgrey-1.32 at gabe; Mon, 20 May 2013 10:38:08 PDT Received: from nick.hrz.tu-chemnitz.de (nick.hrz.tu-chemnitz.de [134.109.228.11]) by gabe.freedesktop.org (Postfix) with ESMTP id 04A5EE5BF7 for ; Mon, 20 May 2013 10:38:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tu-chemnitz.de; s=dkim2010; h=Message-Id:Date:Subject:Cc:To:From; bh=rFxTx/DqlBNTLBOELIwNpMQpiF4WhN7TNPxcP4S3RzE=; b=Qo/o0NLpH3uuRG+gKIe6ni/LXu4pvICMXVSMWuRxJL4TOCnqsPK8A3JbFbvDiUIw0IutYhzccHLqgjBH+YlHx6oYQJ107/SepsVx3hpKTCCsaBTmsppuWey7SOm2K5X1SQhc9bmLPJ7BlHGJyKF4ecN5TGt+c1vW5HdDU4ZiZjo=; Received: from 77-64-181-50.dynamic.primacom.net ([77.64.181.50] helo=kongar.lan.local) by nick.hrz.tu-chemnitz.de with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80.1) (envelope-from ) id 1UeTeu-0002oP-Sb; Mon, 20 May 2013 19:14:05 +0200 From: Alexander Stein To: David Airlie , Ben Skeggs Subject: [PATCH] drm/nouveau/nv84: Fix HDMI audio regression Date: Mon, 20 May 2013 19:14:00 +0200 Message-Id: <1369070040-26148-1-git-send-email-alexander.stein@informatik.tu-chemnitz.de> X-Mailer: git-send-email 1.8.2.1 X-purgate: clean X-purgate-type: clean X-purgate-ID: 154106::1369070044-000004FE-3259BCCB/0-0/0-0 X-Scan-AV: nick.hrz.tu-chemnitz.de; 2013-05-20 19:14:04; 2df92c5df6a2b3ac564f85f9831f30a3 X-Scan-SA: nick.hrz.tu-chemnitz.de; 2013-05-20 19:14:05; 35761ed4fd422289c837b76748edee86 X-Spam-Score: -1.0 (-) X-Spam-Report: --- Textanalyse SpamAssassin 3.3.1 (-1.0 Punkte) Fragen an/questions to: Postmaster TU Chemnitz * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 TVD_RCVD_IP TVD_RCVD_IP --- Ende Textanalyse X-Mailman-Approved-At: Mon, 20 May 2013 12:10:12 -0700 Cc: Alexander Stein , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Code refactoring in commit 8e9e3d2deacc460fbb8a4691140318f6e85e6891 (drm/nv84/disp: move hdmi control into core) disabled HDMI audio on my nv84 by removing too much old code without adding it in the new one. This patch adds the missing code within the new code layout resulting in HDMI audio working again. It should work on any HDMI head, but due to lacking ahrdware I could only test the (1st) one. It also might be possible that similar code is needed for nva3, which I can't test. Signed-off-by: Alexander Stein --- This patch should also be added to stable kernels. drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c b/drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c index 0d36bdc..7fdade6 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c +++ b/drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c @@ -55,6 +55,10 @@ nv84_hdmi_ctrl(struct nv50_disp_priv *priv, int head, int or, u32 data) nv_wr32(priv, 0x616510 + hoff, 0x00000000); nv_mask(priv, 0x616500 + hoff, 0x00000001, 0x00000001); + nv_mask(priv, 0x6165d0 + hoff, 0x00070001, 0x00010001); /* SPARE, HW_CTS */ + nv_mask(priv, 0x616568 + hoff, 0x00010101, 0x00000000); /* ACR_CTRL, ?? */ + nv_mask(priv, 0x616578 + hoff, 0x80000000, 0x80000000); /* ACR_0441_ENABLE */ + /* ??? */ nv_mask(priv, 0x61733c, 0x00100000, 0x00100000); /* RESETF */ nv_mask(priv, 0x61733c, 0x10000000, 0x10000000); /* LOOKUP_EN */