Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1094068imm; Wed, 8 Aug 2018 10:36:39 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwYscdDx/ZS4h+hlSvMIReZC08ZQ7hcIAc/7/8iMIHKhD2APMuzaAPyCn4TnIebreh3TQWD X-Received: by 2002:a65:6143:: with SMTP id o3-v6mr3532773pgv.52.1533749799001; Wed, 08 Aug 2018 10:36:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533749798; cv=none; d=google.com; s=arc-20160816; b=BbfcK7vG956QZYayIKZVn23PEUybR4D0XVAsOmOgSjB8+Pou7Wf7QGZYXdQn2xpz7u PPyLPjZkZ+mxpLVt0jXrWMpA3epJWgBdBqezFUb+rwYokVZW0tN4564hL2WAXt3/Cd+g a430cDwHMfm2UCPZSASM9P7mUJuNaN48OTB8/BUIjmijD8bburmOsdAa0/gC138MOAc6 2QnFTbEk4HyIfaa/jXEICcSCMaOCU9tzx6GT6uGcmqJ2GbVIoTcPhSdjStJFkHKG89/C Rn33Y0i4QyTaGSSJsY8PzIKf9xefFTfRcceUpAnpZsu7NEv5T+QBy9/f3jB5P0sAQ//w UHIA== 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:arc-authentication-results; bh=t4g79dX1W6I0kmo5k8HEqYfF+ajMC99xYZTKmbnIJqQ=; b=OD9ZEcUuBUXZGgKOC19znhQSrV98i6kq9rq65oCN00t+bjF+eSO0zX0g1yavLqvJPi t6qj/6Ec4svohrc+f6ZsqkRYFj9onp+NWV5xbZysmhEGohhPnS7RhasrK6OYQJc6042Q V8FJt4vKYbQRbKQxZn3i7XikY2LS6uhzQO7HWBD2pWoKiKeWUAw/dxAScp1IRqtEZftO Cb4TMLLW8YSR8+nkJXpaO6HQ7Qg3lSL5Bnj6Z4sX82O8kWjuA8kGQeH8T2GlzZeLmHev 5dT1pSkZ05+m2OM5IdHxDtUQzuCis84bYAeebneGmN8LKY+Zsi6iCKoUdHWYiT4xusAm I6YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=Ulglh9x0; 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 95-v6si4076340plc.466.2018.08.08.10.36.24; Wed, 08 Aug 2018 10:36:38 -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=Ulglh9x0; 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 S1730266AbeHHT4K (ORCPT + 99 others); Wed, 8 Aug 2018 15:56:10 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:38125 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730116AbeHHT4J (ORCPT ); Wed, 8 Aug 2018 15:56:09 -0400 Received: by mail-it0-f65.google.com with SMTP id v71-v6so4667915itb.3 for ; Wed, 08 Aug 2018 10:35:27 -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=t4g79dX1W6I0kmo5k8HEqYfF+ajMC99xYZTKmbnIJqQ=; b=Ulglh9x0h4irUEi5R9kRgyoNtvrbf+sZC9MlLY8jgvnz5kiYethHCJBoWUSoT8r5V+ 4T0Z1XBAauhnFzDzhuKmAUeIb5Ypf+xmFXM/DtxWEa7I4y2lalKKMrL2HPC01MhJs17b ovYV8KGxCGn0MT3PW3ci0jvwVRqWW28ZUDwc3sgfItPkd4mZM8Qcz186ZYnI8aNTFsF9 LFvfqh0bdNuwU605sMrFXhmaXkTRdUm64qKADXeOatnhlNYuIJqMDcObaYwJ9uo7WMri R20PK8xbQbGVfmb/awRWz52IW6Li/7HPvGWalSQHRKQt7Tfe2oGFsHp5ByiYmrW4wc3z /YNQ== 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=t4g79dX1W6I0kmo5k8HEqYfF+ajMC99xYZTKmbnIJqQ=; b=J49Ke2nGqJ12e85VFCSHppAdB/8Y0vQ4306bMklHHDG7Bx7MNQoWvmqqKxduYiG3M3 TvPMDrxLUzqCSGNtcYTFXqpZSMLQO5ZjIL4CSWRc3u2x7IhnvDlKbluqS7tRT9WDib2V 11Jism6fY+Kq/fXzN1jWDay71KrRl83Wj7Gt8F521bXVQAj942yRAppNOZPrMGPJZRbT 34b4pYn/m5fhJeQp51R83bOAwKI7+r9IQ/DIFyYx4oMhiohooDTYOdWribYJj+UI2d1A iozqYlp/TT+ucL0s+weXUywtimP3alGQf11zdPD3BRl5hscH0Z/GQ3bm8Nz1ny024FRm 12XA== X-Gm-Message-State: AOUpUlHnz11elnG7ENC1NuS8ykduVBKDnIDZhmxDuOC7h9YSC7zLloRc W9FiFi9T70NOU0hWMnfqQcQ= X-Received: by 2002:a24:2911:: with SMTP id p17-v6mr7792itp.134.1533749727310; Wed, 08 Aug 2018 10:35:27 -0700 (PDT) Received: from localhost.localdomain ([2605:a000:1316:45c1:6d6b:de32:e032:aa21]) by smtp.googlemail.com with ESMTPSA id d8-v6sm1977480itj.10.2018.08.08.10.35.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:26 -0700 (PDT) From: Connor McAdams Cc: Connor McAdams , Jaroslav Kysela , Takashi Iwai , Takashi Sakamoto , Alastair Bridgewater , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/11] ALSA: hda/ca0132 - Add exit commands for Recon3D Date: Wed, 8 Aug 2018 13:34:22 -0400 Message-Id: <1533749663-8200-12-git-send-email-conmanx360@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533749663-8200-1-git-send-email-conmanx360@gmail.com> References: <1533749663-8200-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 exit functions for the Recon3D, and cleans up the current exit function. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 6f288d7..61ab735 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -6969,7 +6969,7 @@ static void sbz_set_pin_ctl_default(struct hda_codec *codec) AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00); } -static void sbz_clear_unsolicited(struct hda_codec *codec) +static void ca0132_clear_unsolicited(struct hda_codec *codec) { hda_nid_t pins[7] = {0x0B, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13}; unsigned int i; @@ -7022,21 +7022,22 @@ static void sbz_exit_chip(struct hda_codec *codec) chipio_set_control_param(codec, 0x0D, 0x24); - sbz_clear_unsolicited(codec); + ca0132_clear_unsolicited(codec); sbz_set_pin_ctl_default(codec); snd_hda_codec_write(codec, 0x0B, 0, AC_VERB_SET_EAPD_BTLENABLE, 0x00); - if (dspload_is_loaded(codec)) - dsp_reset(codec); - - snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0, - VENDOR_CHIPIO_CT_EXTENSIONS_ENABLE, 0x00); - sbz_region2_exit(codec); } +static void r3d_exit_chip(struct hda_codec *codec) +{ + ca0132_clear_unsolicited(codec); + snd_hda_codec_write(codec, 0x01, 0, 0x793, 0x00); + snd_hda_codec_write(codec, 0x01, 0, 0x794, 0x5b); +} + static void ca0132_exit_chip(struct hda_codec *codec) { /* put any chip cleanup stuffs here. */ @@ -7382,16 +7383,17 @@ static void ca0132_free(struct hda_codec *codec) case QUIRK_SBZ: sbz_exit_chip(codec); break; + case QUIRK_R3D: + r3d_exit_chip(codec); + break; case QUIRK_R3DI: r3di_gpio_shutdown(codec); - snd_hda_sequence_write(codec, spec->base_exit_verbs); - ca0132_exit_chip(codec); - break; - default: - snd_hda_sequence_write(codec, spec->base_exit_verbs); - ca0132_exit_chip(codec); break; } + + snd_hda_sequence_write(codec, spec->base_exit_verbs); + ca0132_exit_chip(codec); + snd_hda_power_down(codec); if (spec->mem_base) iounmap(spec->mem_base); -- 2.7.4