Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2449942imm; Sat, 29 Sep 2018 20:04:51 -0700 (PDT) X-Google-Smtp-Source: ACcGV63ZwBhxS+bno85LkaECcZXou7LGHKlBD1qgc5M1f6J0Uwa2sEUL7i6z/qMpVZR7q8qLB6zU X-Received: by 2002:a63:1245:: with SMTP id 5-v6mr4871715pgs.299.1538276691239; Sat, 29 Sep 2018 20:04:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538276691; cv=none; d=google.com; s=arc-20160816; b=zOKXI26TG53K1SJ0ibsJEboJyScbZp+hIRO587QravGIod8Uk/bpsezrId9MeExzbF /PPMXKREcsJqJA/Qg8ifzaR4r2+JiepQDNAMKEV3Aupnbz1n8NJKoveUA/Zq92dQ3+aY pU/RGIG1glbVODLPBbYCeMmQKbksv5uGwabjJg+GEEQHs69Pmt3poF9o7ftKPaQ23d2E bSUjhYOAL98oiN6hkaCgRkjrSJQC4yHUOXztdym5/p6rmyQ9R5PCN73/96QQivINvyKS 7i/u69RMSBHpKssZIgN+DvfkBgNhIWQGf098xYLJLIrEc4Q41aAcf868oYz6FEF158/o ic0Q== 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=CwUJ6imS0yjjkjF+6d8w5gTjRrXXyKR9x/vgKC0p8GQ=; b=z0z8LFkiSsmPGMLffGdwLKbRgx0H4L2sr23mVK1+QNEydeXNkChyeBCXASbs7aemiL oiLLsOEzczSzN2jYSL6vj+mMzASuRoqtgdH2+SoddCTa5UHIW7t4VTSFJRczUDdHMrZw WN21mzDoxPLDIgx53Wvpy+tn6L5wOf1b6Go29TfyPORdNpyv8T85m58TQc7VfA0yGzP7 Z3866A3Qpll5OxdUp6P9dA80brS9O+EB74dF43wlFyjDpZlEyazOm1ccPK1Ge3gs07rS I7HYmOeLjHI5FmKYwHJjMh2RME8Ebtyj4PBuiJ+PhV8OkwmieG7mTdw+QSl07T6uYKkv Pn2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=ND+QQwZv; 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 q4-v6si7692080pgh.563.2018.09.29.20.04.37; Sat, 29 Sep 2018 20:04:51 -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=ND+QQwZv; 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 S1728310AbeI3Jf2 (ORCPT + 99 others); Sun, 30 Sep 2018 05:35:28 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:35388 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728274AbeI3Jf1 (ORCPT ); Sun, 30 Sep 2018 05:35:27 -0400 Received: by mail-qt1-f196.google.com with SMTP id z14-v6so10729751qtn.2 for ; Sat, 29 Sep 2018 20:04:21 -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=CwUJ6imS0yjjkjF+6d8w5gTjRrXXyKR9x/vgKC0p8GQ=; b=ND+QQwZvrErMag09AjBomWdDYTisxvDWaMjPi2k2Hx380CcEYHGXVz0JTEWD24thrj roKQtRx1d37aWGjY3hl1kuYo2ovOEDDrBihEXBdy4bPYdst2H0SDidLXpZAjsjSNaS/2 rmfQTQy8RnjcaYsRaVJ+hPl4H81mLZr8ZQZeyLVrc/oUFjo3xF+uynyG2nxc+XnGR0bP w4ZFu0++cXi9PB+J0lKtc5YD3XkzGlp5ZGBm+Guz6xvVW4WcYk0/czmFuXfKbqqMVTOx fvnvK5c70vqiBKl0l9Nr3Lmnr4yjc0NM7IN/SAOVJVuMKD8PEeM4fejo1b8FDuT9DyOI szHQ== 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=CwUJ6imS0yjjkjF+6d8w5gTjRrXXyKR9x/vgKC0p8GQ=; b=g3bbscnYNX8OeiAgDJ0BeanSWDJgb9sKZaPJWr8lWQj6qRHVDNX+L3TFLsMzfCMxmt MRsINRji4YIX0pzQkKr9vADyN8RQnmR+Cr7uLae+eZ2Xz3HbrOfK1t4GAdKM3uVsegGP w6DVOXiRVPWrYLoHRceJ/eErln9UGo3yAcw373+EJpJ6FEbfhbvSipp2UmU7HaAMh86f D9/HBwLj7aS3ZRURtyeRLp5cLecneBOc3D3KNMpldQp+giejD7OADbPZ0rWGQI07AMVl Oi/QXSQYhWpX4lYdVIvMLldyARcNFxKd6aBWIqkmY6GV2QV/UozRI+LLUFubHPLVgMsB Phfw== X-Gm-Message-State: ABuFfoiXi+801/17utOxiS9AzeH60mUXJ55iIvDtwIpGfx5Hc56TXKsI 9mP6cUKX0gSJkkZs/6su2Ds= X-Received: by 2002:ad4:5052:: with SMTP id m18-v6mr3123972qvq.164.1538276660594; Sat, 29 Sep 2018 20:04:20 -0700 (PDT) Received: from localhost.localdomain ([2605:a000:1316:4273:6520:8440:55b8:a001]) by smtp.googlemail.com with ESMTPSA id p1-v6sm4782028qkg.82.2018.09.29.20.04.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 29 Sep 2018 20:04:20 -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 08/11] ALSA: hda/ca0132 - Add ZxR input/output select commands Date: Sat, 29 Sep 2018 23:03:23 -0400 Message-Id: <1538276607-30234-9-git-send-email-conmanx360@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538276607-30234-1-git-send-email-conmanx360@gmail.com> References: <1538276607-30234-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 commands for selecting input and output on the Sound Blaster ZxR. The ZxR has no front panel header, and has line-in on the separate daughter board, so it only does rear-mic. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 729766a..bc8745f 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -4174,6 +4174,12 @@ static void ca0132_alt_select_out_quirk_handler(struct hda_codec *codec) ca0113_mmio_gpio_set(codec, 1, true); chipio_set_control_param(codec, 0x0d, 0x18); break; + case QUIRK_ZXR: + ca0113_mmio_gpio_set(codec, 2, true); + ca0113_mmio_gpio_set(codec, 3, true); + ca0113_mmio_gpio_set(codec, 5, false); + chipio_set_control_param(codec, 0x0d, 0x24); + break; case QUIRK_R3DI: chipio_set_control_param(codec, 0x0d, 0x24); r3di_gpio_out_set(codec, R3DI_LINE_OUT); @@ -4201,6 +4207,12 @@ static void ca0132_alt_select_out_quirk_handler(struct hda_codec *codec) ca0113_mmio_gpio_set(codec, 1, false); chipio_set_control_param(codec, 0x0d, 0x12); break; + case QUIRK_ZXR: + ca0113_mmio_gpio_set(codec, 2, false); + ca0113_mmio_gpio_set(codec, 3, false); + ca0113_mmio_gpio_set(codec, 5, true); + chipio_set_control_param(codec, 0x0d, 0x21); + break; case QUIRK_R3DI: chipio_set_control_param(codec, 0x0d, 0x21); r3di_gpio_out_set(codec, R3DI_HEADPHONE_OUT); @@ -4229,6 +4241,12 @@ static void ca0132_alt_select_out_quirk_handler(struct hda_codec *codec) ca0113_mmio_gpio_set(codec, 1, true); chipio_set_control_param(codec, 0x0d, 0x18); break; + case QUIRK_ZXR: + ca0113_mmio_gpio_set(codec, 2, true); + ca0113_mmio_gpio_set(codec, 3, true); + ca0113_mmio_gpio_set(codec, 5, false); + chipio_set_control_param(codec, 0x0d, 0x24); + break; case QUIRK_R3DI: chipio_set_control_param(codec, 0x0d, 0x24); r3di_gpio_out_set(codec, R3DI_LINE_OUT); @@ -4625,6 +4643,9 @@ static int ca0132_alt_select_in(struct hda_codec *codec) ca0113_mmio_gpio_set(codec, 0, false); tmp = FLOAT_THREE; break; + case QUIRK_ZXR: + tmp = FLOAT_THREE; + break; case QUIRK_R3DI: r3di_gpio_mic_set(codec, R3DI_REAR_MIC); tmp = FLOAT_ONE; @@ -4652,6 +4673,10 @@ static int ca0132_alt_select_in(struct hda_codec *codec) chipio_write(codec, 0x18B098, 0x0000000C); chipio_write(codec, 0x18B09C, 0x0000000C); break; + case QUIRK_ZXR: + chipio_write(codec, 0x18B098, 0x0000000C); + chipio_write(codec, 0x18B09C, 0x000000CC); + break; case QUIRK_AE5: chipio_write(codec, 0x18B098, 0x0000000C); chipio_write(codec, 0x18B09C, 0x0000004C); -- 2.7.4