Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp5568626imm; Tue, 18 Sep 2018 11:36:34 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYrXugmV/CIa98CDgkGTZ44NoVSWJ0ge0Z+z2P7MvtHQsYaLxwIgYSc6FQwmdLlxCoU+8FE X-Received: by 2002:a17:902:a504:: with SMTP id s4-v6mr31585078plq.101.1537295793996; Tue, 18 Sep 2018 11:36:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537295793; cv=none; d=google.com; s=arc-20160816; b=L+WLY20N9lYImf1xiXzoQ8urIcaqhUngnU+1JAj09T+Fxkrh3CLGRymgEr+v13kPhY fPLgVzvssIEIQ8l0HR8+R6DPWyHU062L6+EEtWWAdaKRy2Yw3X9hDwZHTjVU7i/gG705 1YRmicbnW3SqKG8WptDN+Rl1w/aDc8SdNS42IIc+KePiJMlsaHpclvpecoFjdHwdew2b NifUaYwLpFoI21BzK/cf2P4ilz7EQodKXu9KPWyw6qDlfOHCpe17WD7WHdqs56Qd6U0m U7TIXyPRxHy9rbuy1/MXPH0+n8xOyABbcq8DegBPmCcpfurY5dLTB4qSOi0CuPQLrufu Uq8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:in-reply-to:message-id:date :subject:cc:from:dkim-signature; bh=gVvwJUUsuoo61qdK9/n8q8dibmVNerp3vNU6K3KNlaM=; b=X65C92dRYrQBA7rqIl104EbJvayfrY/cKbu9ibxl7aqNXQgGLIgQgG23EV3hsYBE3A 541k8Hh5E2+SlOA4K3+jy9dfCc5oJUQTiV0WlZMuLL4Y9qF8Jp9WDjjqZtZRwfebbU+R oqAvASVQ4sedKSkzCy6zHOxriKCq1E/z17srAbMJxRRRH+d0LhJRtB9UAPF5IRmqQoHw bB1hNkMAOf7Laj2D+Qm16HfP9sqU7BAL1KIWioohnzhZyQHLaCuOhv4M6aGcEtH2xx6p d91jjFlIcM0e6wBAhxrRBPGYu+dHYvu9392kmXUYFD0lIrp9jDsGOY4R/D+MxD8FZfPK K7lg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=usxB7bXW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 78-v6si19603394pfm.264.2018.09.18.11.36.14; Tue, 18 Sep 2018 11:36:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=usxB7bXW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730435AbeISAI3 (ORCPT + 99 others); Tue, 18 Sep 2018 20:08:29 -0400 Received: from mail-qk1-f195.google.com ([209.85.222.195]:35729 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730411AbeISAI2 (ORCPT ); Tue, 18 Sep 2018 20:08:28 -0400 Received: by mail-qk1-f195.google.com with SMTP id f62-v6so1595703qke.2 for ; Tue, 18 Sep 2018 11:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gVvwJUUsuoo61qdK9/n8q8dibmVNerp3vNU6K3KNlaM=; b=usxB7bXW5xqzLuDB9CwrjAfED29IjMx+82WeHSmEu5xUhuVg7bzWLE5iWBEkK00+dP weNIONAQKaLPm/9hAj+LNTxGIrp93OkWnCnARbs/L3/WqzRoSJd/GG9uuOMEeHO+Oajs biFEOBS2L2OQbxhp9bMkX9qCvM5DKjDLpLw4ekyNEJUF0IS0MbnK0Og6lAGiu+OfXine rqhPr5rnRnYQmfIJzZl3TWTZeKZeA3Pq0ALP132c6YREWsc80c3wEW4m1+Z72FJbEbCy TJklO0yauDhLWZN5IGH/3iobDdsNRtq7unaV507mUueGQpqtJul9AeD9Y+8QiaymuZcS YBnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gVvwJUUsuoo61qdK9/n8q8dibmVNerp3vNU6K3KNlaM=; b=T9IprHvE94nYp4ELkBxZOM8BOT1M4L6CJaC8+wo8cBaqESIPoPBbQnnsVP92d6YFgP hLCfNh2cpajVpdlhijljIfDQiZEtzrowJSXL4noFVZKiY/R5chH2ZJxECSuI7N+1pesV 6ZWUQRbIklWW9cDwfMoBS3heXR+t+iDbyI/C9exZCYlp03VE85Hrnz1sD1HDjXF77q+5 9as1f7iPdJQ7y0Gh/OuXbUABimFuuzq/SJGA3FgL9waSTiG7p+V4/SDkrcc9p2hAGz4C WvU5bIf4N/AoKygRwLSpLBrwEJhVHtLKRlxVhPnGshQJgH4crT1wlFXqd8RK0KDOiDG+ P6Ag== X-Gm-Message-State: APzg51CaN8oBMTtDrj1CCluiyP2eK7McxhiLluJIOz5wWLy2XW9lCrZJ o2KPq73jXYoOt08ivh0PeIo= X-Received: by 2002:a37:ac0d:: with SMTP id e13-v6mr21854659qkm.100.1537295676532; Tue, 18 Sep 2018 11:34:36 -0700 (PDT) Received: from localhost.localdomain ([2605:a000:1316:4273:719d:df26:b0cf:931a]) by smtp.googlemail.com with ESMTPSA id m15-v6sm13819101qki.1.2018.09.18.11.34.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 18 Sep 2018 11:34:36 -0700 (PDT) From: Connor McAdams Cc: conmanx360@gmail.com, Jaroslav Kysela , Takashi Iwai , Takashi Sakamoto , Alastair Bridgewater , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/15] ALSA: hda/ca0132 - Change ca0132_mmio_init for AE-5 Date: Tue, 18 Sep 2018 14:33:33 -0400 Message-Id: <1537295625-8082-6-git-send-email-conmanx360@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1537295625-8082-1-git-send-email-conmanx360@gmail.com> References: <1537295625-8082-1-git-send-email-conmanx360@gmail.com> To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds the unique writes for the AE-5 on startup to ca0132_mmio_init. The other cards share some addresses written to, but use different values. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 61 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 7c870c4..51af3dc 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -7223,23 +7223,72 @@ static void ca0132_mmio_init(struct hda_codec *codec) { struct ca0132_spec *spec = codec->spec; - writel(0x00000000, spec->mem_base + 0x400); - writel(0x00000000, spec->mem_base + 0x408); - writel(0x00000000, spec->mem_base + 0x40C); + if (spec->quirk == QUIRK_AE5) + writel(0x00000001, spec->mem_base + 0x400); + else + writel(0x00000000, spec->mem_base + 0x400); + + if (spec->quirk == QUIRK_AE5) + writel(0x00000001, spec->mem_base + 0x408); + else + writel(0x00000000, spec->mem_base + 0x408); + + if (spec->quirk == QUIRK_AE5) + writel(0x00000001, spec->mem_base + 0x40c); + else + writel(0x00000000, spec->mem_base + 0x40C); + writel(0x00880680, spec->mem_base + 0x01C); - writel(0x00000083, spec->mem_base + 0xC0C); + + if (spec->quirk == QUIRK_AE5) + writel(0x00000080, spec->mem_base + 0xC0C); + else + writel(0x00000083, spec->mem_base + 0xC0C); + writel(0x00000030, spec->mem_base + 0xC00); writel(0x00000000, spec->mem_base + 0xC04); + + if (spec->quirk == QUIRK_AE5) + writel(0x00000000, spec->mem_base + 0xC0C); + else + writel(0x00000003, spec->mem_base + 0xC0C); + writel(0x00000003, spec->mem_base + 0xC0C); writel(0x00000003, spec->mem_base + 0xC0C); writel(0x00000003, spec->mem_base + 0xC0C); - writel(0x00000003, spec->mem_base + 0xC0C); - writel(0x000000C1, spec->mem_base + 0xC08); + + if (spec->quirk == QUIRK_AE5) + writel(0x00000001, spec->mem_base + 0xC08); + else + writel(0x000000C1, spec->mem_base + 0xC08); + writel(0x000000F1, spec->mem_base + 0xC08); writel(0x00000001, spec->mem_base + 0xC08); writel(0x000000C7, spec->mem_base + 0xC08); writel(0x000000C1, spec->mem_base + 0xC08); writel(0x00000080, spec->mem_base + 0xC04); + + if (spec->quirk == QUIRK_AE5) { + writel(0x00000000, spec->mem_base + 0x42c); + writel(0x00000000, spec->mem_base + 0x46c); + writel(0x00000000, spec->mem_base + 0x4ac); + writel(0x00000000, spec->mem_base + 0x4ec); + writel(0x00000000, spec->mem_base + 0x43c); + writel(0x00000000, spec->mem_base + 0x47c); + writel(0x00000000, spec->mem_base + 0x4bc); + writel(0x00000000, spec->mem_base + 0x4fc); + writel(0x00000600, spec->mem_base + 0x100); + writel(0x00000014, spec->mem_base + 0x410); + writel(0x0000060f, spec->mem_base + 0x100); + writel(0x0000070f, spec->mem_base + 0x100); + writel(0x00000aff, spec->mem_base + 0x830); + writel(0x00000000, spec->mem_base + 0x86c); + writel(0x0000006b, spec->mem_base + 0x800); + writel(0x00000001, spec->mem_base + 0x86c); + writel(0x0000006b, spec->mem_base + 0x800); + writel(0x00000057, spec->mem_base + 0x804); + writel(0x00800000, spec->mem_base + 0x20c); + } } /* -- 2.7.4