From patchwork Wed Aug 8 17:34:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560417 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EB4C9139A for ; Wed, 8 Aug 2018 17:35:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D4A252B25A for ; Wed, 8 Aug 2018 17:35:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C8C042B25E; Wed, 8 Aug 2018 17:35:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0EE052B25A for ; Wed, 8 Aug 2018 17:35:20 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 8B49B2678FC; Wed, 8 Aug 2018 19:35:12 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id E46C12678F5; Wed, 8 Aug 2018 19:35:09 +0200 (CEST) Received: from mail-io0-f194.google.com (mail-io0-f194.google.com [209.85.223.194]) by alsa0.perex.cz (Postfix) with ESMTP id 21EF62678C4 for ; Wed, 8 Aug 2018 19:35:07 +0200 (CEST) Received: by mail-io0-f194.google.com with SMTP id z20-v6so2520202iol.0 for ; Wed, 08 Aug 2018 10:35:07 -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=FJpyd41qAC8imAN1StMw64515r0067ueDIdBahh60U0=; b=Ok5j+2lzESuF3aDoi2JHKYspVR/RglWR0gILQ1LVlln3QgCB7l7z0eqNuRQKuhQdvw re/mRQX4IzXtmQzPsTt0/7F+vh3rv4N4QIAMNwh14KFj3IIDyXRWm0qpTGYqYNl8oepY D2D1CvRAAS9hHy+qENuBrIA5hFqIM6qKuvxfTMHqOf9KTR5A84Z+Fcox5bU1MlcOuzJh PYBo9vUpzs38+tL9FAstITmiLIz2f+FgR7PX8q/mFShB+sGbkaJ/CAy6erBswOIMLX1p 4+euNK2Er/4Volar4sOJTCOLc/hWX97V6iWonZafPJnzqgC+DQFYUS/ORfWWsa0A+oaK wurQ== 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=FJpyd41qAC8imAN1StMw64515r0067ueDIdBahh60U0=; b=iWH8lNNvRYg3mYXRoKEuQ3aiaRvAKno3KxjRh5tOZwrd92H5O1EPsmUYg0LZM/S1xe 4zVL4D6WgzXvNBepEb/10omxPkLC0LYWSjVvndiT/qIoG1Ykc8kA2OyTpSzXBUkmVXKg HTsO5J7sf/XnuY4KCHdQGHHHfGzM5IuAb+tI+G7moC4cfhwSym7LcH7QZZNgb50+cOXj 8LKTQ0HBIlhwF2s+tLMx8tmmO5noTFLRP91ZxtHd8yrhr5mWt0e1OKItU3fSZ9Z9OSvL UgMj00P+n4Qmqalc3xOPqGKNLK3LpFGiEexNfh5kxo3WnXPw7abVuWRWEMWoTuNV1lGq CHsg== X-Gm-Message-State: AOUpUlH796F+JnyGkWCxjosMjqWPLDLTu4GZFXo7A/0PjVYxM22mINGr Eo2GAn7N5tV4xvVv7tezm+U= X-Google-Smtp-Source: AA+uWPw+c9zkzeJ9ophYAY9h5N7tbBJYBYy4514X8/PoZHZ1Qj0H97ybXfVXaeXZU7ofno9JqRUGnw== X-Received: by 2002:a6b:b452:: with SMTP id d79-v6mr3100059iof.163.1533749706816; Wed, 08 Aug 2018 10:35:06 -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.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:06 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:12 -0400 Message-Id: <1533749663-8200-2-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 01/11] ALSA: hda/ca0132 - Create mmio gpio function to make code clearer X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds a new function, ca0132_mmio_gpio_set, to clear up what is going on with writes to mmio region 0x320. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 62 +++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 321e95c..9a92a64 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -3073,6 +3073,24 @@ static bool dspload_wait_loaded(struct hda_codec *codec) */ /* + * For cards with PCI-E region2 (Sound Blaster Z/ZxR, Recon3D, and AE-5) + * the mmio address 0x320 is used to set GPIO pins. The format for the data + * The first eight bits are just the number of the pin. So far, I've only seen + * this number go to 7. + */ +static void ca0132_mmio_gpio_set(struct hda_codec *codec, unsigned int gpio_pin, + bool enable) +{ + struct ca0132_spec *spec = codec->spec; + unsigned short gpio_data; + + gpio_data = gpio_pin & 0xF; + gpio_data |= ((enable << 8) & 0x100); + + writew(gpio_data, spec->mem_base + 0x320); +} + +/* * Sets up the GPIO pins so that they are discoverable. If this isn't done, * the card shows as having no GPIO pins. */ @@ -3947,9 +3965,9 @@ static int ca0132_alt_select_out(struct hda_codec *codec) /*speaker out config*/ switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0007, spec->mem_base + 0x320); - writew(0x0104, spec->mem_base + 0x320); - writew(0x0101, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 7, false); + ca0132_mmio_gpio_set(codec, 4, true); + ca0132_mmio_gpio_set(codec, 1, true); chipio_set_control_param(codec, 0x0D, 0x18); break; case QUIRK_R3DI: @@ -3983,9 +4001,9 @@ static int ca0132_alt_select_out(struct hda_codec *codec) /* Headphone out config*/ switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0107, spec->mem_base + 0x320); - writew(0x0104, spec->mem_base + 0x320); - writew(0x0001, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 7, true); + ca0132_mmio_gpio_set(codec, 4, true); + ca0132_mmio_gpio_set(codec, 1, false); chipio_set_control_param(codec, 0x0D, 0x12); break; case QUIRK_R3DI: @@ -4025,9 +4043,9 @@ static int ca0132_alt_select_out(struct hda_codec *codec) /* Surround out config*/ switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0007, spec->mem_base + 0x320); - writew(0x0104, spec->mem_base + 0x320); - writew(0x0101, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 7, false); + ca0132_mmio_gpio_set(codec, 4, true); + ca0132_mmio_gpio_set(codec, 1, true); chipio_set_control_param(codec, 0x0D, 0x18); break; case QUIRK_R3DI: @@ -4291,7 +4309,7 @@ static int ca0132_alt_select_in(struct hda_codec *codec) case REAR_MIC: switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0000, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 0, false); tmp = FLOAT_THREE; break; case QUIRK_R3DI: @@ -4323,7 +4341,7 @@ static int ca0132_alt_select_in(struct hda_codec *codec) ca0132_mic_boost_set(codec, 0); switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0000, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 0, false); break; case QUIRK_R3DI: r3di_gpio_mic_set(codec, R3DI_REAR_MIC); @@ -4349,8 +4367,8 @@ static int ca0132_alt_select_in(struct hda_codec *codec) case FRONT_MIC: switch (spec->quirk) { case QUIRK_SBZ: - writew(0x0100, spec->mem_base + 0x320); - writew(0x0005, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 0, true); + ca0132_mmio_gpio_set(codec, 5, false); tmp = FLOAT_THREE; break; case QUIRK_R3DI: @@ -6891,16 +6909,12 @@ static void sbz_region2_exit(struct hda_codec *codec) writeb(0x0, spec->mem_base + 0x100); for (i = 0; i < 8; i++) writeb(0xb3, spec->mem_base + 0x304); - /* - * I believe these are GPIO, with the right most hex digit being the - * gpio pin, and the second digit being on or off. We see this more in - * the input/output select functions. - */ - writew(0x0000, spec->mem_base + 0x320); - writew(0x0001, spec->mem_base + 0x320); - writew(0x0104, spec->mem_base + 0x320); - writew(0x0005, spec->mem_base + 0x320); - writew(0x0007, spec->mem_base + 0x320); + + ca0132_mmio_gpio_set(codec, 0, false); + ca0132_mmio_gpio_set(codec, 1, false); + ca0132_mmio_gpio_set(codec, 4, true); + ca0132_mmio_gpio_set(codec, 5, false); + ca0132_mmio_gpio_set(codec, 7, false); } static void sbz_set_pin_ctl_default(struct hda_codec *codec) @@ -7237,7 +7251,7 @@ static int ca0132_init(struct hda_codec *codec) ca0132_refresh_widget_caps(codec); if (spec->quirk == QUIRK_SBZ) - writew(0x0107, spec->mem_base + 0x320); + ca0132_mmio_gpio_set(codec, 7, true); switch (spec->quirk) { case QUIRK_R3DI: From patchwork Wed Aug 8 17:34:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560419 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E60BB139A for ; Wed, 8 Aug 2018 17:35:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CF0A32B224 for ; Wed, 8 Aug 2018 17:35:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C348E2B25D; Wed, 8 Aug 2018 17:35:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D3C42B224 for ; Wed, 8 Aug 2018 17:35:27 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 0DCDE267901; Wed, 8 Aug 2018 19:35:19 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 57F87267906; Wed, 8 Aug 2018 19:35:14 +0200 (CEST) Received: from mail-io0-f179.google.com (mail-io0-f179.google.com [209.85.223.179]) by alsa0.perex.cz (Postfix) with ESMTP id CF457267901 for ; Wed, 8 Aug 2018 19:35:09 +0200 (CEST) Received: by mail-io0-f179.google.com with SMTP id m4-v6so1451557iop.3 for ; Wed, 08 Aug 2018 10:35:09 -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=pbarrIxl+ZHEuNSDhcUA9yZa8fTgAZf/kdXk0HHvmZs=; b=KIzYO/LvFM6NEzIGtKVUGIbHcZ/5JULL8c2TZPLM8XoGFiI8rIGBmC2HYTabVXoozE 3meme+k/HmgABuK3EDW98m9yfkmo0mp4AMMk/1Bob4gjELdUCbj3g2+etGXE7xvVgJxq LMItTDp5C9DtcGlHDNQh6XPiZ2i8FTPsAA2rO22V6xyDwo3hrx4l0MBHSpLLOqwfzla9 qs9hncm/ezhiU9JyXW44C887w2yY0YdbqEI6JaaFkvEBS48UyeSjUMElbYpaGJidmwtR G9GfiFmohEEBI1GE9pCbsUwozz2swaZX9Bv7agj/cjbdDy6G/36ZX1fx7NvmkCWelP3Y 0dmg== 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=pbarrIxl+ZHEuNSDhcUA9yZa8fTgAZf/kdXk0HHvmZs=; b=bn/Rf5UDIY58WkOFU9w0nrRh2YZogDqRP9I8eIDovq8R5EcG4NNyekw/a4hroxfpSW b1E2F9rQHsxmm3Sqrz4MEVW+8jTSIusBBudHuwkMLCqKBbOF6vbXjPKstg2EhcGW3fbz RA9gemjz3kcdySxMraViQm1cuEJMCDjvSvTzQf12uESqfhvuBnNxxfuKKNDqPl6EmCcM xAI2joA66T320o0o0zOAfWOXv3fPI604SaTap8dIlKleY4eeB/a6hqKCzV4nE1zHh5aE hxk/zNgfYfejnLhl0cdOdzgtb2/pNJySxqhx1f/AmNit8vGCWgwRd6pFx/WktDrMSm3c fFaw== X-Gm-Message-State: AOUpUlGOXoPMjBD8c5VeZSn6kVcGgQBna5lYxxENKA6Yq+Ze52PHHk3f mkUQqoe0phOpG4nave+bG/0= X-Google-Smtp-Source: AA+uWPw8rNQgfAvNXDkU6v1CbqiUcyYU/IwhTLqI6L2SpdpvbQmEl1vqkgP8bXoUM23gRFvxtcHETg== X-Received: by 2002:a6b:6407:: with SMTP id t7-v6mr3307908iog.111.1533749708856; Wed, 08 Aug 2018 10:35:08 -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.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:08 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:13 -0400 Message-Id: <1533749663-8200-3-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 02/11] ALSA: hda/ca0132 - Clean up ca0132_init function. X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch cleans up ca0132_init by removing unnecessary commands and ordering things better. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 9a92a64..b3c2cae 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -7250,14 +7250,12 @@ static int ca0132_init(struct hda_codec *codec) ca0132_refresh_widget_caps(codec); - if (spec->quirk == QUIRK_SBZ) - ca0132_mmio_gpio_set(codec, 7, true); - switch (spec->quirk) { case QUIRK_R3DI: r3di_setup_defaults(codec); break; case QUIRK_SBZ: + sbz_setup_defaults(codec); break; default: ca0132_setup_defaults(codec); @@ -7288,20 +7286,12 @@ static int ca0132_init(struct hda_codec *codec) ca0132_gpio_setup(codec); snd_hda_sequence_write(codec, spec->spec_init_verbs); - switch (spec->quirk) { - case QUIRK_SBZ: - sbz_setup_defaults(codec); - ca0132_alt_select_out(codec); - ca0132_alt_select_in(codec); - break; - case QUIRK_R3DI: + if (spec->use_alt_functions) { ca0132_alt_select_out(codec); ca0132_alt_select_in(codec); - break; - default: + } else { ca0132_select_out(codec); ca0132_select_mic(codec); - break; } snd_hda_jack_report_sync(codec); From patchwork Wed Aug 8 17:34:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560421 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4580414E2 for ; Wed, 8 Aug 2018 17:35:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2EAD52A12D for ; Wed, 8 Aug 2018 17:35:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 216242B224; Wed, 8 Aug 2018 17:35:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8710B2A12D for ; Wed, 8 Aug 2018 17:35:36 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 6CDBD267908; Wed, 8 Aug 2018 19:35:20 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 9BB36267901; Wed, 8 Aug 2018 19:35:14 +0200 (CEST) Received: from mail-io0-f177.google.com (mail-io0-f177.google.com [209.85.223.177]) by alsa0.perex.cz (Postfix) with ESMTP id 30563267904 for ; Wed, 8 Aug 2018 19:35:11 +0200 (CEST) Received: by mail-io0-f177.google.com with SMTP id z19-v6so2500628ioh.4 for ; Wed, 08 Aug 2018 10:35:11 -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=+REd3TOF5vrTnbb47ZfnclYJIG5eVJHq5gV0UJA2zSg=; b=MHWrMc/V9tYIeBmMkEbodn37gPLDqZ5Fb3/3KPTrsHCBn3G5THGYqAeceVOPVGemGD oVn4r994B7/3UXMYWe1iUHBo4FfOegJB03IAPMLrYiM1cizWh3Ru+Zm5NGytUcv0jXDz oXlAnC+Okz2TNL+EUZIOQy2tJhj2sh4pbK4Op0ajiqHpoOcgzhuHYoWd4qrtSpRQn0Xj 4QkC0p8el8zfAUmVagNld929R0cZnos/RTFa00AdHvmjEe4kns6JRROK//sl4sQktVQf CVvPi79O4Ya+nVjHyfyFXgvcvyTy1TqTD5l3CJ+KElsW9zQzUVavZKcdiGvhxBhijxh3 in2g== 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=+REd3TOF5vrTnbb47ZfnclYJIG5eVJHq5gV0UJA2zSg=; b=RabUzHVBD9Rh0eqQbM43FnpOOSx4teOdpaWnwGKT2kZRcbXNny9OmUS2Mlq9t1j9P+ OXBOScrWTeFKQ+56CTIRo8tIraR7oOAxZfDOwzNGcqcnsYCHs6SbLdUSQOja+7G8GJxv CdRiNyaF/RQaZVJScFEihldfoWnnV4BdnAbQjYKn/2FCIJRxaDh88hOidYh+jey5Kkfr uBuk0YtOUZalTpepvuZdkcwcRGaGXRlBnUW+UPua/JIQVAsb6WGyd5yY7bkjHjIKu+y4 cv0rTmpp3t6WNkhvGXvUAWgnUyRXzmCaQkFNrVbGdhLN2tXvG3CU3q4f4wQn/NC9ks4d B+6Q== X-Gm-Message-State: AOUpUlHkURukAoCX4ubLsnzvWud8D2WkbxAMiDPibNkkJtxo2Q0OPwO6 M7jajhXJs63PAoLZrCF7RL4= X-Google-Smtp-Source: AA+uWPzOmyZXsh/dV++3er6xWKmaYxhjnD93/7jTP7t8E6q1P71KjcJs70Onizlharp8fJg3r4kfeQ== X-Received: by 2002:a6b:445:: with SMTP id 66-v6mr2983430ioe.50.1533749710879; Wed, 08 Aug 2018 10:35:10 -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.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:10 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:14 -0400 Message-Id: <1533749663-8200-4-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 03/11] ALSA: hda/ca0132 - Add alt_functions unsolicited response X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch fixes a previous oversight where the microphone unsolicited response would use the wrong input selection function. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index b3c2cae..e2e1d29 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -6745,7 +6745,12 @@ static void hp_callback(struct hda_codec *codec, struct hda_jack_callback *cb) static void amic_callback(struct hda_codec *codec, struct hda_jack_callback *cb) { - ca0132_select_mic(codec); + struct ca0132_spec *spec = codec->spec; + + if (spec->use_alt_functions) + ca0132_alt_select_in(codec); + else + ca0132_select_mic(codec); } static void ca0132_init_unsol(struct hda_codec *codec) From patchwork Wed Aug 8 17:34:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560423 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8005513B4 for ; Wed, 8 Aug 2018 17:35:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 678B72A12D for ; Wed, 8 Aug 2018 17:35:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5A43C2B224; Wed, 8 Aug 2018 17:35:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A90CA2A12D for ; Wed, 8 Aug 2018 17:35:45 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 01316267922; Wed, 8 Aug 2018 19:35:24 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 36F2B2678FB; Wed, 8 Aug 2018 19:35:16 +0200 (CEST) Received: from mail-it0-f66.google.com (mail-it0-f66.google.com [209.85.214.66]) by alsa0.perex.cz (Postfix) with ESMTP id DEFD7267901 for ; Wed, 8 Aug 2018 19:35:13 +0200 (CEST) Received: by mail-it0-f66.google.com with SMTP id 72-v6so4536376itw.3 for ; Wed, 08 Aug 2018 10:35:13 -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=/OxVgMN4bqRzcPwyZ+UiYhFD7JkverwVUhACnIzinPk=; b=WTSCU2xHdP7IqnQpzFTNZcGD3W4XSGQxFZadDXUjd/GUQKclJp6sCmOLF5J3PRIaYK s/Ckr6A3GjUjry66XarSyPSn+gADVq5z9asjXOv8I3R7dpFw1q87CQVVteuEXSLuaj4F uxJNlIUrqcAI6T1MFFx+xzZmzmpwFfOc7opftgfw6Wt76cG+g1rfcKrQ7tsuHVTdajdy erBBcDpFbxTgWO7DFeB9qYHwL2RT9HMLbjTy+Wivsx9owxXFj6EGPjNcaQx/eEdVniW+ 4y+II1atRpVFdWXHT5rY9hZ3NwUQG4Fzc5JMmPh+zOMm8+FtbewiVfVURvTJucTDwmBz jAmg== 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=/OxVgMN4bqRzcPwyZ+UiYhFD7JkverwVUhACnIzinPk=; b=cLY1XOg9em4pSR5Xl08E08pdVbROAlsVtj1ao07IKeOsd39Q6+Px0hx9A2eGyorf/1 PITo2eXHnZP7wu4jJ8scsg4C9TFDiMbU870S6F5VAiHabzkslV7ddsFpUaEbq0LI1qlI ww6uC4FBwbwSdQus7EZeWxl/s3zyUgsk0Xx1KiL0SChtQtPlXNGK1W2sllXF2AMX7wfW sR+GIsrr/T+U2gD7tKNNbU1Sk0zROUIDnF6maPWvLkaKW5OkCVoLAjyviMsyERPj+PUt LJklkfXI1sZUTmRjLkxSB34oP2pkgsPkCQUQw7X96DWvNdOfhoq/p221RlgyFcMl25dY 1eFg== X-Gm-Message-State: AOUpUlF8vJJF+jM4mrrNcL5JMYWuZajsDdzzF0b7A1rCrYqCu6+LuiqI s39Mwe3i76nzS6i+bZq5B+8= X-Google-Smtp-Source: AA+uWPxAAPL0H9ERz7typv4sW6xgycu/E8G+juHMrQQHRazQknCqrznFMVsuwIoI0bpFL63zQH5/6w== X-Received: by 2002:a24:7414:: with SMTP id o20-v6mr11596itc.116.1533749712898; Wed, 08 Aug 2018 10:35:12 -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.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:12 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:15 -0400 Message-Id: <1533749663-8200-5-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 04/11] ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds the PCI subsys ID for the Recon3D that has been tested, and adds the QUIRK_R3D enumeration. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index e2e1d29..bec31b2 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -994,6 +994,7 @@ enum { QUIRK_ALIENWARE_M17XR4, QUIRK_SBZ, QUIRK_R3DI, + QUIRK_R3D, }; static const struct hda_pintbl alienware_pincfgs[] = { @@ -1050,6 +1051,7 @@ static const struct snd_pci_quirk ca0132_quirks[] = { SND_PCI_QUIRK(0x1458, 0xA016, "Recon3Di", QUIRK_R3DI), SND_PCI_QUIRK(0x1458, 0xA026, "Gigabyte G1.Sniper Z97", QUIRK_R3DI), SND_PCI_QUIRK(0x1458, 0xA036, "Gigabyte GA-Z170X-Gaming 7", QUIRK_R3DI), + SND_PCI_QUIRK(0x1102, 0x0013, "Recon3D", QUIRK_R3D), {} }; From patchwork Wed Aug 8 17:34:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560425 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4EDDB139A for ; Wed, 8 Aug 2018 17:35:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 37B3E2A12D for ; Wed, 8 Aug 2018 17:35:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2AFAD2B224; Wed, 8 Aug 2018 17:35:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 835D12A12D for ; Wed, 8 Aug 2018 17:35:53 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 4C187267929; Wed, 8 Aug 2018 19:35:25 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id DDF1D267909; Wed, 8 Aug 2018 19:35:19 +0200 (CEST) Received: from mail-it0-f51.google.com (mail-it0-f51.google.com [209.85.214.51]) by alsa0.perex.cz (Postfix) with ESMTP id 0D8CF2678FB for ; Wed, 8 Aug 2018 19:35:15 +0200 (CEST) Received: by mail-it0-f51.google.com with SMTP id v71-v6so4667110itb.3 for ; Wed, 08 Aug 2018 10:35:15 -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=KmLMbsGiBZoh8+1j9BQC4vk7Cdxb0jDVQBaaqRTBDMo=; b=kZ2VYX2IEkCkxOJ2Z4lruq9eo850WUDjrBLS9Oo5ZGGzRZ14jQDwDvbuOByNSy92bl QQ8VOyC8eEBSKXgPwxBZnur0imJ1uMJoIlL5KCAwjfGum/XXzOECdLMT0LkQwPdgNa61 +Xz2N9ONMUtaJxFJgqFt8lvFjQPo0eYe899DGuobpgKnLcMddWooFo0isAbvy+GYSI4x +XaAKoCrJmpGgW/8mUm85AmDNg0j2SqZ9QBjcydlA4Ws+Sbui1XHPqlsjuDgEDQZrVnd GWhvPmD0hw9wVU6jHAnRZGB5ySEJRvo9jcV4GFI7fMB2wZjBenaNkkPokf6Olaz9aZWo YahQ== 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=KmLMbsGiBZoh8+1j9BQC4vk7Cdxb0jDVQBaaqRTBDMo=; b=L+mt+3IBLpfZEMzgzopvTqEYZopDL2JlNyrDFxuu1M6JRHmjq1TaL+uZHnbYapWn5I Uh2k0mV06A/6XAv7CRIXyRYBpmuDgsiullrBUGVIjQ6skSSj7KR0vvnebKpB4zkqX6Xo gqIy5taui3ptPbR450FIh4HYigG5I9lTClCBo7dBzKlLErn581H4NVx6KujippdBem0M MupVLJdyTYxzRakMlIBaHCHDa3oBB2Cfp+hCGq/h3saQiIQud+1cmhVLTUmmwBproRmZ +eVMJ1vIDe+d7mgBMRpRd/NPFfkoCyJvMR/D7Wvnjs1Sg4cf1Qp+LfdQs+pKw9CMsTlo s0Ig== X-Gm-Message-State: AOUpUlHtX9bBf/kDaE+/x7QZaic5VuXK6Pkb47h34Mv/ubOL7WtU+bnN LFllcUdC58OqGMj062AsNWE= X-Google-Smtp-Source: AA+uWPxNgM5Z1Esmh+ca/mtCg+pau3h8cpjztUk3EbOdm1Fu5ZADkn64gMt5RIxOtgYqwcJATUiQaw== X-Received: by 2002:a24:bd82:: with SMTP id x124-v6mr44024ite.143.1533749715001; Wed, 08 Aug 2018 10:35:15 -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.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:14 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:16 -0400 Message-Id: <1533749663-8200-6-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 05/11] ALSA: hda/ca0132 - Add Recon3D pincfg X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds pin configs from the Recon3D, taken from the Window's driver. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index bec31b2..2ee9549 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -1026,6 +1026,21 @@ static const struct hda_pintbl sbz_pincfgs[] = { {} }; +/* Recon3D pin configs taken from Windows Driver */ +static const struct hda_pintbl r3d_pincfgs[] = { + { 0x0b, 0x01014110 }, /* Port G -- Lineout FRONT L/R */ + { 0x0c, 0x014510f0 }, /* SPDIF Out 1 */ + { 0x0d, 0x014510f0 }, /* Digital Out */ + { 0x0e, 0x01c520f0 }, /* SPDIF In */ + { 0x0f, 0x0221401f }, /* Port A -- BackPanel HP */ + { 0x10, 0x01016011 }, /* Port D -- Center/LFE or FP Hp */ + { 0x11, 0x01011014 }, /* Port B -- LineMicIn2 / Rear L/R */ + { 0x12, 0x02a090f0 }, /* Port C -- LineIn1 */ + { 0x13, 0x908700f0 }, /* What U Hear In*/ + { 0x18, 0x50d000f0 }, /* N/A */ + {} +}; + /* Recon3D integrated pin configs taken from Windows Driver */ static const struct hda_pintbl r3di_pincfgs[] = { { 0x0b, 0x01014110 }, /* Port G -- Lineout FRONT L/R */ @@ -7397,8 +7412,15 @@ static void ca0132_config(struct hda_codec *codec) spec->unsol_tag_amic1 = 0x11; break; case QUIRK_SBZ: - codec_dbg(codec, "%s: QUIRK_SBZ applied.\n", __func__); - snd_hda_apply_pincfgs(codec, sbz_pincfgs); + case QUIRK_R3D: + if (spec->quirk == QUIRK_SBZ) { + codec_dbg(codec, "%s: QUIRK_SBZ applied.\n", __func__); + snd_hda_apply_pincfgs(codec, sbz_pincfgs); + } + if (spec->quirk == QUIRK_R3D) { + codec_dbg(codec, "%s: QUIRK_R3D applied.\n", __func__); + snd_hda_apply_pincfgs(codec, r3d_pincfgs); + } spec->num_outputs = 2; spec->out_pins[0] = 0x0B; /* Line out */ From patchwork Wed Aug 8 17:34:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560429 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C5540139A for ; Wed, 8 Aug 2018 17:36:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AF76F2B25D for ; Wed, 8 Aug 2018 17:36:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A40A42B265; Wed, 8 Aug 2018 17:36:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 049C12B25D for ; Wed, 8 Aug 2018 17:36:08 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id EEDF926792E; Wed, 8 Aug 2018 19:35:27 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 1AB5E267922; Wed, 8 Aug 2018 19:35:22 +0200 (CEST) Received: from mail-it0-f68.google.com (mail-it0-f68.google.com [209.85.214.68]) by alsa0.perex.cz (Postfix) with ESMTP id 178B3267911 for ; Wed, 8 Aug 2018 19:35:17 +0200 (CEST) Received: by mail-it0-f68.google.com with SMTP id d16-v6so143854itj.0 for ; Wed, 08 Aug 2018 10:35:17 -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=nUDl70fkOm2sHf6lHMDHJ2UbSE/ayyLokfVLuzgZvgA=; b=KeIkSeqZQpi6MtVNIKRpYfsv6qaq2ZdgTouwFeB/77RnU4rTzmzDip0UQst3Himdzc xO6w/vpKzevMNXoGVkMtGfANJhvKgh2htHFlBRXffkcNFkuiM+C7JDB1yYSh5ZReR3pV FpmWqQOm5/GAehs5ZKzG3BXz7MlEH1hBUMtocm6sil9iMIezW5zsq6xlQG9CTDpQKimp EZQUsdrqCfT18AQ44s3ic4PH3FpQ2vT4cKGoc7djYguXE160HdrNKcSrQKLK6gHjswrY KkoOOyongRXYRuoBc0Jzo6n68MDInMJ6dQQo5HbBaCS12PpvQittQ4KZc5uN7FyIQqYi S7xw== 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=nUDl70fkOm2sHf6lHMDHJ2UbSE/ayyLokfVLuzgZvgA=; b=pNlgN7y/QIDfxqBpZgPXyXysl/d2YE/qxspdpzSjIP93LLMlPCl+OkxGP5/JKRIxYL pBph4g8u4uQn8DcV8t6wKXQdlGVDlSyaqTgzYmQ0/Im5VarfMzql4ywd2fz/yBdjtiPM fC1q+xii4rT8ls/4kKki2cFgHt6SWa59yNGW6xlTukFT1NGGX3ySUlqBvx9JaVXYF5dR 51LL1x8IQFbAOG5GHCTF/fLdWBF+z2sXS115hWfqY3+2pb5AlSMBPFHx5ygzmVdk+x8s xsTLdK8IyHp27RUA3UlgmNjxGiNkaliFR4ixlrqvSHQUECFwNlqd8Mbc/KOClRlOza5Q 807g== X-Gm-Message-State: AOUpUlEjtokFm6XPitD/Fy7gxgMVQRWGw2YHxQhQNJjnSH5kqBOiqm+G 3EPDoT9VF6IUwcNVWsoJsYGTjEni X-Google-Smtp-Source: AA+uWPypCkZRtPnrFlBSOkmLepRFu0cW94mL+qKnldysPZ3aEM/qeaSsCDey1Ze7QzKb3M7D4uEung== X-Received: by 2002:a02:986d:: with SMTP id x42-v6mr3369385jaj.131.1533749717020; Wed, 08 Aug 2018 10:35:17 -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.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:16 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:17 -0400 Message-Id: <1533749663-8200-7-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 06/11] ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds the ability to choose whether or not to map the pci region2, which is used for things such as GPIO on the Recon3D and Sound Blaster Z. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 2ee9549..b35b179 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -965,9 +965,11 @@ struct ca0132_spec { long cur_ctl_vals[TUNING_CTLS_COUNT]; #endif /* - * Sound Blaster Z PCI region 2 iomem, used for input and output - * switching, and other unknown commands. + * The Recon3D, Sound Blaster Z, Sound Blaster ZxR, and Sound Blaster + * AE-5 all use PCI region 2 to toggle GPIO and other currently unknown + * things. */ + bool use_pci_mmio; void __iomem *mem_base; /* @@ -7563,16 +7565,6 @@ static int patch_ca0132(struct hda_codec *codec) else spec->quirk = QUIRK_NONE; - /* Setup BAR Region 2 for Sound Blaster Z */ - if (spec->quirk == QUIRK_SBZ) { - spec->mem_base = pci_iomap(codec->bus->pci, 2, 0xC20); - if (spec->mem_base == NULL) { - codec_warn(codec, "pci_iomap failed!"); - codec_info(codec, "perhaps this is not an SBZ?"); - spec->quirk = QUIRK_NONE; - } - } - spec->dsp_state = DSP_DOWNLOAD_INIT; spec->num_mixers = 1; @@ -7591,19 +7583,33 @@ static int patch_ca0132(struct hda_codec *codec) break; } - /* Setup whether or not to use alt functions/controls */ + /* Setup whether or not to use alt functions/controls/pci_mmio */ switch (spec->quirk) { case QUIRK_SBZ: + spec->use_alt_controls = true; + spec->use_alt_functions = true; + spec->use_pci_mmio = true; + break; case QUIRK_R3DI: spec->use_alt_controls = true; spec->use_alt_functions = true; + spec->use_pci_mmio = false; break; default: spec->use_alt_controls = false; spec->use_alt_functions = false; + spec->use_pci_mmio = false; break; } + if (spec->use_pci_mmio) { + spec->mem_base = pci_iomap(codec->bus->pci, 2, 0xC20); + if (spec->mem_base == NULL) { + codec_warn(codec, "pci_iomap failed! Setting quirk to QUIRK_NONE."); + spec->quirk = QUIRK_NONE; + } + } + spec->base_init_verbs = ca0132_base_init_verbs; spec->base_exit_verbs = ca0132_base_exit_verbs; From patchwork Wed Aug 8 17:34:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560427 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 91B8413B4 for ; Wed, 8 Aug 2018 17:36:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7A1842B261 for ; Wed, 8 Aug 2018 17:36:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6C2C82B26C; Wed, 8 Aug 2018 17:36:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A752A2B265 for ; Wed, 8 Aug 2018 17:36:00 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 92F4D26790E; Wed, 8 Aug 2018 19:35:26 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 25029267920; Wed, 8 Aug 2018 19:35:22 +0200 (CEST) Received: from mail-it0-f65.google.com (mail-it0-f65.google.com [209.85.214.65]) by alsa0.perex.cz (Postfix) with ESMTP id 05E6B26790D for ; Wed, 8 Aug 2018 19:35:19 +0200 (CEST) Received: by mail-it0-f65.google.com with SMTP id e14-v6so4557981itf.1 for ; Wed, 08 Aug 2018 10:35:19 -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=+9f7zTXJ4QOfKKLYJKw9ZAtieZE64pO6HLEMANKX2gQ=; b=uH2Bdh4Uwj6gWufdrc6wGmt2Y+1GrmkGaULqpEKIXczcB/JiqNHh4kaYIb5Q43gX0e VV1eeWyMtNlzjG41ulj8VGM8u3E+HyjVHplPzyTLsbMPNK7q2WVI6tefB67m3lIkG3YE DHVQkauK/qlksPowkxMRZPUYsbo4B8MbHfJXPuIxwzjpNxNBTbK+JVyTi+Gsg8qm/Kug zExowXcaQmm11bwrZtl2FrPpOKmPRl6qa3F+EaNVsKk+w7jYDGhx0Cv5ddJbRVlLVtFs qGKwoRP35UnLLm9JM4DxbA2AuJlZslvFeKfB0Saer/GQmY5jPfFVrLFo+Aiygy/JKmHI lnzw== 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=+9f7zTXJ4QOfKKLYJKw9ZAtieZE64pO6HLEMANKX2gQ=; b=n0+0JrU1hOfl5Wj3u8NgywEXtqYrhK8fWLJX2ObClua2EfFzgVbDB8WTdLsRqOd8tK h2OmDK8vT31NtmbHgCIW2GOzs9Gp+W2hwfxk7WlM17/z+hBMsaoDi9O21CApgFe1nq5I qDM0KQaKPU7Pi3Ib2EWgIYGcTD2cS6WnhPyEcl970SXDTFJInaW2OQCi6go5ITRzPPyF EevDqb/UIGobiyYDd/tkc/P9HLdYkFPpEeG2SvlRTMBkfCPJhydzywWlOdTKc5VAwoUo dlSKUlgmWvwRlzDtmrv6fB1/oDQ1aR4YjPi7YTEHNthyD+W82gfP7/HvWOP2d5t/Il9j m0ew== X-Gm-Message-State: AOUpUlGiiByHcnhXeazCxT3gIM5gCj8G6mcSj/ceub9Uq12Q6XoeTnXI q6QFGMrst1uWYXATEdpA38o= X-Google-Smtp-Source: AA+uWPxiqQDPQegGDPCR1XSrcGLLvIZa3OZjhKCC23sawQTCLe/FwjOVCWmldKb4FdyS7LAM0VfGow== X-Received: by 2002:a02:b4a4:: with SMTP id k33-v6mr3203331jaj.53.1533749719063; Wed, 08 Aug 2018 10:35:19 -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.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:18 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:18 -0400 Message-Id: <1533749663-8200-8-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 07/11] ALSA: hda/ca0132 - Add Recon3D startup functions and setup X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds functions for Recon3D startup, and sets values for things such as use_pci_mmio. It also renames some functions and tables from the sbz prefix into ca0132, as the Recon3D uses them as well. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 49 ++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index b35b179..cb84648 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -897,7 +897,7 @@ struct ca0132_spec { const struct hda_verb *base_init_verbs; const struct hda_verb *base_exit_verbs; const struct hda_verb *chip_init_verbs; - const struct hda_verb *sbz_init_verbs; + const struct hda_verb *desktop_init_verbs; struct hda_verb *spec_init_verbs; struct auto_pin_cfg autocfg; @@ -6840,8 +6840,8 @@ static struct hda_verb ca0132_init_verbs0[] = { {} }; -/* Extra init verbs for SBZ */ -static struct hda_verb sbz_init_verbs[] = { +/* Extra init verbs for desktop cards. */ +static struct hda_verb ca0132_init_verbs1[] = { {0x15, 0x70D, 0x20}, {0x15, 0x70E, 0x19}, {0x15, 0x707, 0x00}, @@ -7136,9 +7136,27 @@ static void sbz_pre_dsp_setup(struct hda_codec *codec) AC_VERB_SET_PIN_WIDGET_CONTROL, 0x44); } -/* - * Extra commands that don't really fit anywhere else. - */ +static void r3d_pre_dsp_setup(struct hda_codec *codec) +{ + + snd_hda_codec_write(codec, 0x15, 0, 0xd00, 0xfc); + snd_hda_codec_write(codec, 0x15, 0, 0xd00, 0xfd); + snd_hda_codec_write(codec, 0x15, 0, 0xd00, 0xfe); + snd_hda_codec_write(codec, 0x15, 0, 0xd00, 0xff); + + chipio_write(codec, 0x18b0a4, 0x000000c2); + + snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0, + VENDOR_CHIPIO_8051_ADDRESS_LOW, 0x1E); + snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0, + VENDOR_CHIPIO_8051_ADDRESS_HIGH, 0x1C); + snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0, + VENDOR_CHIPIO_8051_DATA_WRITE, 0x5B); + + snd_hda_codec_write(codec, 0x11, 0, + AC_VERB_SET_PIN_WIDGET_CONTROL, 0x44); +} + static void r3di_pre_dsp_setup(struct hda_codec *codec) { chipio_write(codec, 0x18b0a4, 0x000000c2); @@ -7163,13 +7181,12 @@ static void r3di_pre_dsp_setup(struct hda_codec *codec) AC_VERB_SET_PIN_WIDGET_CONTROL, 0x04); } - /* * These are sent before the DSP is downloaded. Not sure * what they do, or if they're necessary. Could possibly * be removed. Figure they're better to leave in. */ -static void sbz_region2_startup(struct hda_codec *codec) +static void ca0132_mmio_init(struct hda_codec *codec) { struct ca0132_spec *spec = codec->spec; @@ -7209,7 +7226,7 @@ static void ca0132_alt_init(struct hda_codec *codec) ca0132_gpio_init(codec); sbz_pre_dsp_setup(codec); snd_hda_sequence_write(codec, spec->chip_init_verbs); - snd_hda_sequence_write(codec, spec->sbz_init_verbs); + snd_hda_sequence_write(codec, spec->desktop_init_verbs); break; case QUIRK_R3DI: codec_dbg(codec, "R3DI alt_init"); @@ -7220,6 +7237,11 @@ static void ca0132_alt_init(struct hda_codec *codec) snd_hda_sequence_write(codec, spec->chip_init_verbs); snd_hda_codec_write(codec, WIDGET_CHIP_CTRL, 0, 0x6FF, 0xC4); break; + case QUIRK_R3D: + r3d_pre_dsp_setup(codec); + snd_hda_sequence_write(codec, spec->chip_init_verbs); + snd_hda_sequence_write(codec, spec->desktop_init_verbs); + break; } } @@ -7256,8 +7278,8 @@ static int ca0132_init(struct hda_codec *codec) spec->dsp_state = DSP_DOWNLOAD_INIT; spec->curr_chip_addx = INVALID_CHIP_ADDRESS; - if (spec->quirk == QUIRK_SBZ) - sbz_region2_startup(codec); + if (spec->use_pci_mmio) + ca0132_mmio_init(codec); snd_hda_power_up_pm(codec); @@ -7508,8 +7530,8 @@ static int ca0132_prepare_verbs(struct hda_codec *codec) struct ca0132_spec *spec = codec->spec; spec->chip_init_verbs = ca0132_init_verbs0; - if (spec->quirk == QUIRK_SBZ) - spec->sbz_init_verbs = sbz_init_verbs; + if (spec->quirk == QUIRK_SBZ || spec->quirk == QUIRK_R3D) + spec->desktop_init_verbs = ca0132_init_verbs1; spec->spec_init_verbs = kcalloc(NUM_SPEC_VERBS, sizeof(struct hda_verb), GFP_KERNEL); @@ -7586,6 +7608,7 @@ static int patch_ca0132(struct hda_codec *codec) /* Setup whether or not to use alt functions/controls/pci_mmio */ switch (spec->quirk) { case QUIRK_SBZ: + case QUIRK_R3D: spec->use_alt_controls = true; spec->use_alt_functions = true; spec->use_pci_mmio = true; From patchwork Wed Aug 8 17:34:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560431 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E4698139A for ; Wed, 8 Aug 2018 17:36:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CAA4D2B25D for ; Wed, 8 Aug 2018 17:36:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB4892B265; Wed, 8 Aug 2018 17:36:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 188FD2B25D for ; Wed, 8 Aug 2018 17:36:15 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 4E233267913; Wed, 8 Aug 2018 19:35:29 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 1284526790E; Wed, 8 Aug 2018 19:35:26 +0200 (CEST) Received: from mail-it0-f66.google.com (mail-it0-f66.google.com [209.85.214.66]) by alsa0.perex.cz (Postfix) with ESMTP id EE0CD267911 for ; Wed, 8 Aug 2018 19:35:21 +0200 (CEST) Received: by mail-it0-f66.google.com with SMTP id e14-v6so4558121itf.1 for ; Wed, 08 Aug 2018 10:35: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=AtC4GBydT04u36AqS4VceQqa70g3rfD8EOUgbrd9p8s=; b=bFJeCEpaVLdwLisFLNnSasrVeroB+ZdhJpJBLwdmeUvp/ea36wVrYsXxji7mzYcjGp BMJfrxEjtLMhmtlsrzwQT4GSyCdHTdczF0JETZyRGP5kT2tAgAns+8+G0/X1f++iP2Z7 X3sUfPojhQ01IIqAr4lH0856qkvQ2EEAh9Wg/4MqdFGNyShW17S4DcIuqQ9hzK3kpYWV eux7QIQOh/43q6yNpbgD0phE1kf5gDDiRFnLDos/ToCIbiuPVwN9UK6mVUc6lteO6j5Z WOFsaUNYpHVeveXBaznHQm8RS9jwk268Se/AwG2I8Lm9lBpSxjOJySHVs20/FsEY6m4P VumQ== 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=AtC4GBydT04u36AqS4VceQqa70g3rfD8EOUgbrd9p8s=; b=VGLUZiqLLV6yLYARLMZ8VuNfuZ4zAj7uC6LOieNkNRfVIpfFgcAHn5BqqtpY7GOXBg qutUwsmXzcCKmyNnpznuW1MkUAB5p+Xz7a/HSOddKNF2hS1S82vaXJL/TgNvdsWlCjI5 uPBgE47xuzQSO2x+A1ezS7xRCrWQw0JunXT0FsXYZDXp26OFOPuIK5n1AmbXEKBC9yVY TOporL2mOfxvMicdDICFm/IqjN7xX9N9phKYAG3+e83z+wPO6Y10J001DmXk6ll5ZAAN jbhMS6h+5mfthhnG6dqrfOJLuiwMLdv3peNZ+x9sQaKcAUwRsw4QOjl6AUMY8pO86fnK Xn7Q== X-Gm-Message-State: AOUpUlE5v8Pu+pnAcbzq7F2DZuxvXeaDMr4M/XgQoudHYXuthrIwW2s1 zYOm54tiCqU2IjRd3o4NZW8= X-Google-Smtp-Source: AA+uWPy2AwipyjTnhOmU+R8yk1TNejpt+u8JdNw2XVxPOYE74XssLoMf5F050TShkGuqslomEHk1Kg== X-Received: by 2002:a02:35a:: with SMTP id y87-v6mr3394161jad.2.1533749721219; Wed, 08 Aug 2018 10:35:21 -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.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:20 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:19 -0400 Message-Id: <1533749663-8200-9-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 08/11] ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP The Recon3D can use many of the same functions as the Recon3Di, so many of the r3di prefix function remain the same, but change their names to the more generic r3d prefix. This patch does this, and adds quirk checks for things specific to the Recon3Di. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index cb84648..0257fb9 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -6224,10 +6224,10 @@ static void ca0132_refresh_widget_caps(struct hda_codec *codec) } /* - * Recon3Di r3di_setup_defaults sub functions. + * Recon3D r3d_setup_defaults sub functions. */ -static void r3di_dsp_scp_startup(struct hda_codec *codec) +static void r3d_dsp_scp_startup(struct hda_codec *codec) { unsigned int tmp; @@ -6248,7 +6248,7 @@ static void r3di_dsp_scp_startup(struct hda_codec *codec) } -static void r3di_dsp_initial_mic_setup(struct hda_codec *codec) +static void r3d_dsp_initial_mic_setup(struct hda_codec *codec) { unsigned int tmp; @@ -6458,10 +6458,10 @@ static void ca0132_setup_defaults(struct hda_codec *codec) } /* - * Setup default parameters for Recon3Di DSP. + * Setup default parameters for Recon3D/Recon3Di DSP. */ -static void r3di_setup_defaults(struct hda_codec *codec) +static void r3d_setup_defaults(struct hda_codec *codec) { struct ca0132_spec *spec = codec->spec; unsigned int tmp; @@ -6471,9 +6471,9 @@ static void r3di_setup_defaults(struct hda_codec *codec) if (spec->dsp_state != DSP_DOWNLOADED) return; - r3di_dsp_scp_startup(codec); + r3d_dsp_scp_startup(codec); - r3di_dsp_initial_mic_setup(codec); + r3d_dsp_initial_mic_setup(codec); /*remove DSP headroom*/ tmp = FLOAT_ZERO; @@ -6487,7 +6487,8 @@ static void r3di_setup_defaults(struct hda_codec *codec) /* Set speaker source? */ dspio_set_uint_param(codec, 0x32, 0x00, tmp); - r3di_gpio_dsp_status_set(codec, R3DI_DSP_DOWNLOADED); + if (spec->quirk == QUIRK_R3DI) + r3di_gpio_dsp_status_set(codec, R3DI_DSP_DOWNLOADED); /* Setup effect defaults */ num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT + 1; @@ -6499,7 +6500,6 @@ static void r3di_setup_defaults(struct hda_codec *codec) ca0132_effects[idx].def_vals[i]); } } - } /* @@ -7298,7 +7298,8 @@ static int ca0132_init(struct hda_codec *codec) switch (spec->quirk) { case QUIRK_R3DI: - r3di_setup_defaults(codec); + case QUIRK_R3D: + r3d_setup_defaults(codec); break; case QUIRK_SBZ: sbz_setup_defaults(codec); From patchwork Wed Aug 8 17:34:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560433 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6BAE139A for ; Wed, 8 Aug 2018 17:36:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0C0D2B25D for ; Wed, 8 Aug 2018 17:36:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A4E822B265; Wed, 8 Aug 2018 17:36:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 069442B25D for ; Wed, 8 Aug 2018 17:36:23 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 02697267935; Wed, 8 Aug 2018 19:35:34 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 34B41267935; Wed, 8 Aug 2018 19:35:28 +0200 (CEST) Received: from mail-io0-f195.google.com (mail-io0-f195.google.com [209.85.223.195]) by alsa0.perex.cz (Postfix) with ESMTP id 314F7267913 for ; Wed, 8 Aug 2018 19:35:23 +0200 (CEST) Received: by mail-io0-f195.google.com with SMTP id l14-v6so2486398iob.7 for ; Wed, 08 Aug 2018 10:35:23 -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=AWih7wUaLItSxunUAGBPh7BFuHKe3P2hg/fJSjXu3qo=; b=kZyoGrNz8qWgXmNPGtQ93Rf9ndULxQ4PltK/6II65mSAN2MfR6giAUL9yle5AOscZG ueZSQ+SMxlIUBDrqAbhrM/5F9iNu6KjLsMeRQfo3QQ6r+YfjRXEjeNDqs90UX657eK74 Ts6jMhasvovq8aSnbpL8v/+v1tTzmA1H9Bh6tMf1PcF3zMEb0ezt4hZ8bsx96NGiE7w0 we+K8RRxFi3KIeudj62RYX5btfOM88GEtDkaLXJPBiHgRqjM+zN51qpkwSHs16d6JWLk narC5DkwrDe7sda6NtDbeprC6/fcr9Oo/1GcUKbjX6rE1H1QIYEz5SahOE2qQoWMw+Hk +o0g== 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=AWih7wUaLItSxunUAGBPh7BFuHKe3P2hg/fJSjXu3qo=; b=e/O6zft5nmHm7y7uwqlQ6vnoAkgajo61UqCp6CQ8+/sjMckwypMbggegr6IZzfF5S6 MEPXwC+IofB8gFsF/NyEHKAWP2Js8JjvcQNOsKJuU7DN49NYVdlhs85IXCJL9aMx5jN+ fruXI7KIiowfBurSlXnVa8WfVBGb0h4IXzTmcSGbBBQwH7TUbxI2k8uu2RXW6kX/XfT2 Dq0vMtb9r/KrZx6SYX+/2nJ+oysll9E8LZqRyUHwrmIAom1+fg2+sR+pvYadOO4QLkSe LkQpTtMW0p9/WsAXWfhpwpVdnaFv7Hv0iTVoWh1T0pbCna2oBTIDSMFkGy7BjWc+1mW9 lKBA== X-Gm-Message-State: AOUpUlHr4/hMH3Sgebg8FAasF1QG304R5cfwfCjplALqDhf6pWZoi3US +UJBuQJPrqTY5pwfhEnS9sc= X-Google-Smtp-Source: AA+uWPxsev2KDL4ceuaNu5C3d0zM1ZgggcTAQ0/a1zo63Ejm0oTExsRc3bDbQTsj8AK5+qdFUv0vqg== X-Received: by 2002:a5e:8f0a:: with SMTP id c10-v6mr406363iok.92.1533749723268; Wed, 08 Aug 2018 10:35:23 -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.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:22 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:20 -0400 Message-Id: <1533749663-8200-10-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 09/11] ALSA: hda/ca0132 - Add Recon3D input and output select commands X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds commands to the alternative input and output select commands to support the Recon3D. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 0257fb9..18b97df 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -3993,6 +3993,10 @@ static int ca0132_alt_select_out(struct hda_codec *codec) chipio_set_control_param(codec, 0x0D, 0x24); r3di_gpio_out_set(codec, R3DI_LINE_OUT); break; + case QUIRK_R3D: + chipio_set_control_param(codec, 0x0D, 0x24); + ca0132_mmio_gpio_set(codec, 1, true); + break; } /* disable headphone node */ @@ -4029,6 +4033,10 @@ static int ca0132_alt_select_out(struct hda_codec *codec) chipio_set_control_param(codec, 0x0D, 0x21); r3di_gpio_out_set(codec, R3DI_HEADPHONE_OUT); break; + case QUIRK_R3D: + chipio_set_control_param(codec, 0x0D, 0x21); + ca0132_mmio_gpio_set(codec, 0x1, false); + break; } snd_hda_codec_write(codec, spec->out_pins[0], 0, @@ -4071,6 +4079,10 @@ static int ca0132_alt_select_out(struct hda_codec *codec) chipio_set_control_param(codec, 0x0D, 0x24); r3di_gpio_out_set(codec, R3DI_LINE_OUT); break; + case QUIRK_R3D: + ca0132_mmio_gpio_set(codec, 1, true); + chipio_set_control_param(codec, 0x0D, 0x24); + break; } /* enable line out node */ pin_ctl = snd_hda_codec_read(codec, spec->out_pins[0], 0, @@ -4328,6 +4340,7 @@ static int ca0132_alt_select_in(struct hda_codec *codec) case REAR_MIC: switch (spec->quirk) { case QUIRK_SBZ: + case QUIRK_R3D: ca0132_mmio_gpio_set(codec, 0, false); tmp = FLOAT_THREE; break; @@ -4360,6 +4373,7 @@ static int ca0132_alt_select_in(struct hda_codec *codec) ca0132_mic_boost_set(codec, 0); switch (spec->quirk) { case QUIRK_SBZ: + case QUIRK_R3D: ca0132_mmio_gpio_set(codec, 0, false); break; case QUIRK_R3DI: @@ -4386,6 +4400,7 @@ static int ca0132_alt_select_in(struct hda_codec *codec) case FRONT_MIC: switch (spec->quirk) { case QUIRK_SBZ: + case QUIRK_R3D: ca0132_mmio_gpio_set(codec, 0, true); ca0132_mmio_gpio_set(codec, 5, false); tmp = FLOAT_THREE; From patchwork Wed Aug 8 17:34:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560435 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98E8D13B4 for ; Wed, 8 Aug 2018 17:36:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 826172B25D for ; Wed, 8 Aug 2018 17:36:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 768842B265; Wed, 8 Aug 2018 17:36:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C93792B25D for ; Wed, 8 Aug 2018 17:36:29 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 4B008267942; Wed, 8 Aug 2018 19:35:35 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 60F39267935; Wed, 8 Aug 2018 19:35:29 +0200 (CEST) Received: from mail-io0-f193.google.com (mail-io0-f193.google.com [209.85.223.193]) by alsa0.perex.cz (Postfix) with ESMTP id 53D9526791D for ; Wed, 8 Aug 2018 19:35:26 +0200 (CEST) Received: by mail-io0-f193.google.com with SMTP id q19-v6so2464064ioh.11 for ; Wed, 08 Aug 2018 10:35:25 -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=2MDxi8G5QCQGcY68C2MmKrPRk4/p+/VvPDub72AlCxg=; b=sOAQseuMc/Q3zCxtmdkZGNuCCocmpzguidqf7RgNmmZvDrASFYbq+gYBQ0QQz1XMUB j6XIcU1PfXIgHO5cA1CrIOvE+I8oEjucXsbokjkl6k9fBaTWOGkVM4J7zHFTGT1C574L yZV6BKBAg5UbgeBPRwBvj9p1FE5MakkliELTtXpn27fj9lKtbtWIojGG7Bnqg1eRes0o 5B7Z4nrOTvOgnKTbxvV9qkKfVBM4bQ65/ijurE4EXG/l6l9T4PiquZ8n6JqCQGQYSMHE JAUbr4P2WpHaL8NHUGVyCTkfyB2YNMv6881jqx7aNmzAEXPtQNeWP4cnLmmJ8Ii0WusM dSNg== 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=2MDxi8G5QCQGcY68C2MmKrPRk4/p+/VvPDub72AlCxg=; b=OJTJ1tpWx/Q/RTOkRAuLPwBvCCLRqJqTz5o/FXmjMiRbcn/QI/zOmUII9asvdkyk2n gHJGpiyQx4QYzqaM66/OLGrF4jd3ULA38Gglxrthk7eKfLh7b10nJv9J4ljnZygCfMjm Jc1Z8Q9BVANZRONwE9DSYLCWCHRlTBxpr2fZbJrSjbC5ZNxAPWLmPbJfNNGWz5RQa5s1 iRNq3NNbycT0Ryf1BAe8SbRZCdcDuMVg8i7/3uREYg/NAMjn5a07z0QT3eJuOdakYtuH aKW5K6BK0mkna5Bu9G3xUlhXYx8PJHe9xgubzVVZJrJmCxe+ObzoEef5dBYmOOrcQxd8 7iEA== X-Gm-Message-State: AOUpUlEnZeEQs0cPy2TAuaYv9T+wDoaS7iOXuV5lwXq+lO5hbZpUDGuM izZ2F5rtTz1lxbmexDTglCM= X-Google-Smtp-Source: AA+uWPwYZ0XsU7SlydsLzZWJCirUGvzsKdx8FSE1QnqJC8JX9Kg1uSlWpmc7ZW2Z+Ehbknvmdj39SA== X-Received: by 2002:a6b:410f:: with SMTP id n15-v6mr3065419ioa.3.1533749725286; Wed, 08 Aug 2018 10:35:25 -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.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 10:35:24 -0700 (PDT) From: Connor McAdams To: Date: Wed, 8 Aug 2018 13:34:21 -0400 Message-Id: <1533749663-8200-11-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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 10/11] ALSA: hda/ca0132 - Change mixer controls for Recon3D X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds changes to setup the Recon3D's mixer controls. Signed-off-by: Connor McAdams --- sound/pci/hda/patch_ca0132.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 18b97df..6f288d7 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -5781,11 +5781,11 @@ static const struct snd_kcontrol_new ca0132_mixer[] = { }; /* - * SBZ specific control mixer. Removes auto-detect for mic, and adds surround - * controls. Also sets both the Front Playback and Capture Volume controls to - * alt so they set the DSP's decibel level. + * Desktop specific control mixer. Removes auto-detect for mic, and adds + * surround controls. Also sets both the Front Playback and Capture Volume + * controls to alt so they set the DSP's decibel level. */ -static const struct snd_kcontrol_new sbz_mixer[] = { +static const struct snd_kcontrol_new desktop_mixer[] = { CA0132_ALT_CODEC_VOL("Front Playback Volume", 0x02, HDA_OUTPUT), CA0132_CODEC_MUTE("Front Playback Switch", VNID_SPK, HDA_OUTPUT), HDA_CODEC_VOLUME("Surround Playback Volume", 0x04, 0, HDA_OUTPUT), @@ -5856,8 +5856,8 @@ static int ca0132_build_controls(struct hda_codec *codec) */ num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT; for (i = 0; i < num_fx; i++) { - /* SBZ breaks if Echo Cancellation is used */ - if (spec->quirk == QUIRK_SBZ) { + /* SBZ and R3D break if Echo Cancellation is used. */ + if (spec->quirk == QUIRK_SBZ || spec->quirk == QUIRK_R3D) { if (i == (ECHO_CANCELLATION - IN_EFFECT_START_NID + OUT_EFFECTS_COUNT)) continue; @@ -7609,9 +7609,13 @@ static int patch_ca0132(struct hda_codec *codec) /* Set which mixers each quirk uses. */ switch (spec->quirk) { case QUIRK_SBZ: - spec->mixers[0] = sbz_mixer; + spec->mixers[0] = desktop_mixer; snd_hda_codec_set_name(codec, "Sound Blaster Z"); break; + case QUIRK_R3D: + spec->mixers[0] = desktop_mixer; + snd_hda_codec_set_name(codec, "Recon3D"); + break; case QUIRK_R3DI: spec->mixers[0] = r3di_mixer; snd_hda_codec_set_name(codec, "Recon3Di"); From patchwork Wed Aug 8 17:34:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor McAdams X-Patchwork-Id: 10560437 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6061139A for ; Wed, 8 Aug 2018 17:36:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AF0C72B25D for ; Wed, 8 Aug 2018 17:36:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A34012B265; Wed, 8 Aug 2018 17:36:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0590B2B25D for ; Wed, 8 Aug 2018 17:36:37 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 9F150267936; Wed, 8 Aug 2018 19:35:36 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id C72FE267936; Wed, 8 Aug 2018 19:35:29 +0200 (CEST) Received: from mail-it0-f65.google.com (mail-it0-f65.google.com [209.85.214.65]) by alsa0.perex.cz (Postfix) with ESMTP id 054032678F5 for ; Wed, 8 Aug 2018 19:35:28 +0200 (CEST) Received: by mail-it0-f65.google.com with SMTP id h20-v6so4676224itf.2 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=Csr+3k5zp+jXqWjIC/ib6hOLHVrn2B/egKYXD3xer5uJ7A/H5F7rb73KwlKbT2hnDq U4iMRT/jJpGlYgWCl6tl/ZMd6MvGuhsGA9IxmqO96nwpmHxT/5hnh1U4dw/HcsJBAo1X SkzmlpCdOOkGEQk9rIjQSK/6ZJ7ohx97/h/6lc85j9c0tRfllIFZteSBc5TEyKUM1i9C bSsIIr4z6W+x/JuXb3M+uXWeGbx875FgzUKeIGSIYUYJuf7iqNAH0ZHuhmZSIcayUhjY DBespkWh+PO1T/pTex2WW/4aYH5bvh/dmZZ8CZDd8d+xxT8zUFe5kygWRZ8fYuXtvm+y 4JCQ== X-Gm-Message-State: AOUpUlHeDsFGpRz2wDXcfwqavuvIq81IAS+1mtt+TvQ/gHzRFa8L7/Ni U8obrkB4siFd+AIJDTt7rXI= X-Google-Smtp-Source: AA+uWPxV7Qh0hdKgvF9Vz8LscxRQB4gCnmSbMPtZx4ZOgkzE0GWIwnibVxboHnysgqbSsBVYKz0DVg== 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 To: 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> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Alastair Bridgewater , Takashi Iwai , Connor McAdams Subject: [alsa-devel] [PATCH 11/11] ALSA: hda/ca0132 - Add exit commands for Recon3D X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP 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);