Received: by 10.192.165.148 with SMTP id m20csp4566919imm; Tue, 8 May 2018 10:25:58 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr033SVrcswSEr2xqZ0JRxKpB0O6pTCY8Q1MbnfAI5dgc+W16oAs9Ne7xXMRdk6orZAdJ9a X-Received: by 2002:a17:902:3e5:: with SMTP id d92-v6mr43850261pld.104.1525800357953; Tue, 08 May 2018 10:25:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525800357; cv=none; d=google.com; s=arc-20160816; b=r2uAHC5aXr0zPALmu/HIbbz6Szy3dlhBEDMXZl+s23ikRntRur5LyNx32mkaUNl93P stckBjvqZSS4EpPNySIBYkUFYmWGvWFHA3ym0DIk02kNu0ApM3wHXS00x8bOuPzYfLa3 2tRd10WXmJmiOXeRx9FzmXnmB8NelFyChgqu/L1YXnf6FEJKvMIowJ4wzc1R+sbf3V/T OWBnUY5F0D1G9y8G2j0b0BpRS3F2JuvHw8IDMw2QFmoh97pUCAQl/9nYNiWMNP8H4Rga R17bD0kweczPyL0rfSYMt5V7oP1tRms9pGgsg6GJPjzc+nQAONjjf1cqy1Os7k4p+VY7 6KWA== 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=oTGOJt4ThUqduMR5OjvIoVqLZneQMsq5eLMt35/D5So=; b=iteUYsbRWC+3Jax0bWemRViDSDdw0qriAlnLGcivW3tCuhMOD+aZ4VEjcL3ELmWf9T 69SfnqI/EzUghP2qu/BQt3s6mRDGMMKthQrI827STd7w9EQJBDGuk84m7UB6tkl1ZzaH Y5dBpmd9aqrqt9E58xPi+itGsPe2JgovDg2coifBnuFHbeA/M5BWWjJR5vl0oIset7A5 dbLF442i/og2mBjYzTfghvvadWuE9d5ym02oJv4/DDXQyScOkypI+HxuaMCWLn3sz/hU lxm3RdH4vZKyyI3PI7OdwObMG00J9k31zD0kErltqBLQ5VQVAYQQ2+xEdTMO3ugVjs7g GJUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=G5B9/dbp; 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 y11-v6si10478215plt.455.2018.05.08.10.25.43; Tue, 08 May 2018 10:25:57 -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=G5B9/dbp; 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 S932295AbeEHRUp (ORCPT + 99 others); Tue, 8 May 2018 13:20:45 -0400 Received: from mail-io0-f173.google.com ([209.85.223.173]:39532 "EHLO mail-io0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932204AbeEHRUo (ORCPT ); Tue, 8 May 2018 13:20:44 -0400 Received: by mail-io0-f173.google.com with SMTP id r9-v6so39344937iod.6 for ; Tue, 08 May 2018 10:20:43 -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=oTGOJt4ThUqduMR5OjvIoVqLZneQMsq5eLMt35/D5So=; b=G5B9/dbpxYpZUThMqHUJUS5JX7JBlnEpe9oA8NXihrAGNCku+zDvuw7Ry44Yj8Q4qw fj/COXatC6ZSjKsdrN8HEm1ClA/+7JuRTGKi235nquAgw1Re/GwDjkL1HWRzlqc7OQMM Ou8w3bAYDvkefmSCFGjMKXmieCQerIHJq2sOMQnSEtwxvblGqSpNvOHzTPiD4zGndw6+ 3pd70DZ4kAdIHgh2oJ5LmTU+spcoxSYsyThmZ+G+f+OHq5RvFwyAiqqNXn38k0Yh/0c+ AR7zMxEbKQT7Hgj5IcXab7MDdrK56eejw+Z8ah7xrd+MRbpDgICFHqMBVcxHvpmwq7vf O3fQ== 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=oTGOJt4ThUqduMR5OjvIoVqLZneQMsq5eLMt35/D5So=; b=PDkpkLfOC02WUKlB2udizTk8da3JMbcVxFMg7piruRyzzQIR1i/d++GnHMfU3rA0Cp TXRtJowc/P+dHPq8YNee3p1yrS88C8wmdGVxRFftp12mrfLmFloWB2g0s8lQONmIVbfo Vo/i0iy6BdMQIIRPIcG0n7Kpe0izV2ps4ogzzEjXXyB7avW4tSY/wx8RVxYbflVrwvLv Vkw0XjIfROfwxLHsOj1dZs7JQn0jejXnzNJK0MlkZK8ayjFuZriil3jgmBocx5V2Brtu GRh4YgndPL8hITnnccNYz2hV7pZoSbidf7QnIbXIE+/RQxAv/vMlZyxebAlVrgPhECV5 x3nw== X-Gm-Message-State: ALQs6tB7IrmOGKIedvlzn9QhEVsBg4qFSAWpYUQky9FR7Nw5pHsuPzJd Yutov2GdBpAvFvhZM2/2P+I= X-Received: by 2002:a6b:82a0:: with SMTP id m32-v6mr47284271ioi.56.1525800043228; Tue, 08 May 2018 10:20:43 -0700 (PDT) Received: from localhost.localdomain ([2605:a000:1316:4462:80cc:335d:e307:b5cb]) by smtp.googlemail.com with ESMTPSA id k62-v6sm13160209ioo.23.2018.05.08.10.20.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 08 May 2018 10:20:42 -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 v5 00/13] ALSA: hda/ca0132: Patch Series for Recon3Di and Sound Blaster Z Support Date: Tue, 8 May 2018 13:20:00 -0400 Message-Id: <1525800015-2920-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. v4: ******************* -Split patch into smaller pieces. -Added const to alt_out_presets array. -Fixed command that was commented out and only put it in when it was actually used. v5: ******************* -Fixed issue identified by kbuild test robot, where patch 12 didn't compile individually. Connor McAdams (13): 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 extra init functions for r3di + sbz ALSA: hda/ca0132: update core functions for sbz + r3di ALSA: hda/ca0132: add dsp setup related commands for the sbz ALSA: hda/ca0132: Add dsp setup + gpio functions for r3di ALSA: hda/ca0132: add the ability to set src_id on scp commands 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 | 3057 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 2941 insertions(+), 116 deletions(-) -- 2.7.4