Received: by 10.192.165.148 with SMTP id m20csp1441321imm; Sat, 5 May 2018 12:07:52 -0700 (PDT) X-Google-Smtp-Source: AB8JxZprW+bT25QExIgL+u4SfveXJz6gqW3V0p9CNfKtRNVI5uqXnZid5po0ZqMYb4FfHyULB7tr X-Received: by 2002:a63:7b55:: with SMTP id k21-v6mr26380807pgn.364.1525547272011; Sat, 05 May 2018 12:07:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525547271; cv=none; d=google.com; s=arc-20160816; b=SWOm903ANzKiVf7I4cCMB4NTa3UCubA+DYrJmuWwF+Bpr10rJ0tZh7TFq6DNbdEeGc g7+Bhl2yoHo0c87rHKbK0qegGqF7v5qLrQnFHeKOGGljqAF8MQCwTI2PS6RTZu1sU2Eh YHAtn981RfBTwAzH28mxb3FCghxKhlZnAQ40NbSahUSCMYewJ6mGLc0f/DmjA5CJAm4S SuDPG3CkID7xj3bVTqOHVKkTXTOlxcJsvMhBNDEVU7EULy7oMl7SvlysIcsXljiOYLFx Et8AT7WrRx2+wwykfq3nqeRBeibKa7zDdGo89uFa5cgXilNDBoGdN8N6aHH8AhdfSUC1 K0lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:message-id:date:subject:cc:from :dkim-signature:arc-authentication-results; bh=s/XXk6jI1rTToqn8JLED1rH36O6/27gXNgmg0aHL2XU=; b=SgsY25yPIWXkQ8I0Zcq7eeMt6gTawVcNCJD7L5oNoiz0cHR1FIb0ftBFgNuHfHjUZ3 UnaLt5i4/VwQ8ROnBzHfTX4UnqsKVZ7+heXWCm7G/5WEmOqWFuIRqWt38EJP+iVOr6w6 Tabt/SBmvRDI4v11QmxSQfJO5fXkdax+6Nocw+eie+n6MxCKhT85S3SV7VUiQGBnRTRB K8BjTYHbKhnl50S5DUkTfSwFAHBYrdGop/vGJCrPF+h78Q9oUWaRywibH2/3zGgrskyJ Vs2TH3cV1ScAt2dJX+Qn4/vhGPPv8Zbh8TZqZEBUy9T1EUjWBEjHcYYP+28L/VgRQLQo Wsag== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=rFCi+qQZ; 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 q6si18087120pfh.17.2018.05.05.12.07.37; Sat, 05 May 2018 12:07: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=rFCi+qQZ; 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 S1751800AbeEETEH (ORCPT + 99 others); Sat, 5 May 2018 15:04:07 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:54099 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751252AbeEETEF (ORCPT ); Sat, 5 May 2018 15:04:05 -0400 Received: by mail-it0-f65.google.com with SMTP id n64-v6so1414705itb.3 for ; Sat, 05 May 2018 12:04:05 -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; bh=s/XXk6jI1rTToqn8JLED1rH36O6/27gXNgmg0aHL2XU=; b=rFCi+qQZ/InGnsZj9HGEdtrSl58t+0ZQjkuOJ5pnyJYscdBMq4s4vVdSFZoVm4P9L0 rqqGS1oJ6WTQ63mY3hrnIdfOqe0bbk6UMEaks7FsGgNAWAX3U33bGE6CWhpS/5qzDcN+ xXdfxPH8HBDRbiR+lB4etA+XvFzqjVLk13Rc90r0Ri4+uC/Jnrx9kEpbN1YEU/iy+QZk GCtAJ1UqxGihwa6d4zmeSpZbJHSx50ns59TlXkp7RSYFQvWA7pXfw2f3tgSiGdc0MHJB koiAovth/kODSiV/WGGDW6zOYScaq47Mny8TjyDS86jTmzQwvR6qq/E1VGDylv85Gos7 8BQg== 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; bh=s/XXk6jI1rTToqn8JLED1rH36O6/27gXNgmg0aHL2XU=; b=IIXA4a7Wmlu2uLrlfXkjHP0QYZ+MrUjYvP44moyebLdqOFuEJ341WAmdE8Ut4aDorV L4abDrkULRNQv9rET+hyoiixEEhzUd3TPJBQ2wVqqR7EQEi9/WhFD7MMPaY+7yDO7Vhw Z//YPLA1OgXO18HRcmsGvMlzba2OGp0/TCUqzW9QaKhH4jYU+WG4Krs60LRdIJy20sjn TFVWhFPjRvq2rSBGxZAs50xlMuImuLUH6jEtk7TE8E3OnQbjYYb/WbNLutj4bwW5Ebp0 70zIN5s3iyvhaXv8ssu/7zPADrZJlg5Zf1qvmlpr78HA96sSHqXDVSPhBODLx26gu8hv flQw== X-Gm-Message-State: ALQs6tCHKaHKj69y5HjL8tG+UMAycyvvybymt1V5APlT2/uhP7F0GcaA zIH8S3BZz1w0vp8JIvsm6Xo= X-Received: by 2002:a24:8b41:: with SMTP id g62-v6mr5510175ite.114.1525547044981; Sat, 05 May 2018 12:04:04 -0700 (PDT) Received: from localhost.localdomain ([2605:a000:1316:4462:961:633e:9990:7115]) by smtp.googlemail.com with ESMTPSA id q21-v6sm3314945itb.4.2018.05.05.12.04.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 05 May 2018 12:04:04 -0700 (PDT) From: Connor McAdams Cc: o-takashi@sakamocchi.jp, Connor McAdams , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?J=C3=A9r=C3=A9my=20Lefaure?= , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/9] ALSA: hda/ca0132: Patch Series for Recon3Di and Sound Blaster Z Support Date: Sat, 5 May 2018 15:03:11 -0400 Message-Id: <1525547001-17588-1-git-send-email-conmanx360@gmail.com> X-Mailer: git-send-email 2.7.4 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 patchset adds support for the Sound Blaster Z and the Recon3Di. In order to figure out how to get these cards to work, I made a program called QemuHDADump[1], which uses the trace function of qemu to see interactions with the memory mapped pci BAR space of the card being used in the virtual machine. With this, I obtain the CORB buffer location to get the command verbs, and then dump them each time the buffer rolls over. This program may be useful for fixing other HDA related driver issues where there is no documentation for the device. So far, I have been able to get all features supported on the Sound Blaster Z and the Recon3Di. All output and input effects work, all inputs and outputs work, and just about anything else I can think of. I have also added new controls in order to select the new inputs and outputs, as well as controls to change the effect levels and presets. I have also added the ability to use firmware taken from the Windows drivers of both the Sound Blaster Z and Recon3Di. I am trying to get into contact with Creative to get permission to redistribute these along with the current file included with the Chromebook, but they have not been very responsive. Luckily, the cards work with the Chromebook firmware just fine, although I believe there has to be a reason they have different firmware in Windows. I will not link to the firmwares here, but if you look up my thread on Creative Labs forums, you will find the link to download the firmwares there. I am willing to help get the other non-working cards such as the ZxR and the newer AE-5 working too, but I will need someone willing to run QemuHDADump in a virtual machine in order to get the commands. So, in summary: -This patchset makes the cards work better than they did before (they really didn't work before) -This patchset leaves the original chromebook related stuff alone. Thanks. [1] https://github.com/Conmanx360/QemuHDADump Bugs: ------------------------------------------------------------------------------- Recon3Di: (Reported by Mariusz Ceier) ******************* -Occasionally switching between rear and front mic breaks the input until computer is shutdown or put to sleep. -Surround Sound works, but is inconsistent. Sometimes, just updating the volume fixes it, and sometimes, it requires a restart. Sound Blaster Z: ******************* -none that I'm aware of. Version changes: ------------------------------------------------------------------------------- v1: ******************* -Massive patch formatting failure, please ignore v1. v2: ******************* -Fixed patch formatting failure. v3: ******************* -Fixed mem_base unmap, instead of checking for QUIRK_SBZ on exit, have it check if the area is mapped, and if it is, unmap it. Also make it unmap after all other commands are finished. -Change notification of failure to map mem_base from codec_dbg to codec_warn, and use codec_info to tell the user that their card might have been incorrectly identified as a Sound Blaster Z. -Remove commented out commands in sbz_exit_chip function, only reintroduce them when their functions are defined. Connor McAdams (9): ALSA: hda/ca0132: R3Di and SBZ quirk entires + alt firmware loading ALSA: hda/ca0132: Add pincfg for SBZ + R3Di, add fp hp auto-detect ALSA: hda/ca0132: Add PCI region2 iomap for SBZ ALSA: hda/ca0132: Add extra exit functions for R3Di and SBZ ALSA: hda/ca0132: add/change helper functions for R3Di and SBZ ALSA: hda/ca0132: add alt_select_in/out for R3Di + SBZ ALSA: hda/ca0132: Add DSP Volume set and New mixers for SBZ + R3Di ALSA: hda/ca0132: add ca0132_alt_set_vipsource ALSA: hda/ca0132: Add new control changes for SBZ + R3Di sound/pci/hda/patch_ca0132.c | 3055 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 2941 insertions(+), 114 deletions(-) -- 2.7.4