linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/13] ALSA: hda/ca0132: Patch Series for Recon3Di and Sound Blaster Z Support
@ 2018-05-08 17:20 Connor McAdams
  2018-05-08 17:20 ` [PATCH v5 01/13] ALSA: hda/ca0132: R3Di and SBZ quirk entires + alt firmware loading Connor McAdams
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Connor McAdams @ 2018-05-08 17:20 UTC (permalink / raw)
  Cc: o-takashi, Connor McAdams, Jaroslav Kysela, Takashi Iwai,
	Jérémy Lefaure, alsa-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-05-13  7:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-08 17:20 [PATCH v5 00/13] ALSA: hda/ca0132: Patch Series for Recon3Di and Sound Blaster Z Support Connor McAdams
2018-05-08 17:20 ` [PATCH v5 01/13] ALSA: hda/ca0132: R3Di and SBZ quirk entires + alt firmware loading Connor McAdams
2018-05-08 17:20 ` [PATCH v5 02/13] ALSA: hda/ca0132: Add pincfg for SBZ + R3Di, add fp hp auto-detect Connor McAdams
2018-05-08 17:20 ` [PATCH v5 03/13] ALSA: hda/ca0132: Add PCI region2 iomap for SBZ Connor McAdams
2018-05-13  7:18   ` Takashi Iwai
2018-05-08 17:20 ` [PATCH v5 04/13] ALSA: hda/ca0132: Add extra exit functions for R3Di and SBZ Connor McAdams
2018-05-08 17:20 ` [PATCH v5 05/13] ALSA: hda/ca0132: add extra init functions for r3di + sbz Connor McAdams
2018-05-08 17:20 ` [PATCH v5 06/13] ALSA: hda/ca0132: update core functions for sbz + r3di Connor McAdams
2018-05-08 17:20 ` [PATCH v5 07/13] ALSA: hda/ca0132: add dsp setup related commands for the sbz Connor McAdams
2018-05-08 17:20 ` [PATCH v5 08/13] ALSA: hda/ca0132: Add dsp setup + gpio functions for r3di Connor McAdams
2018-05-08 17:20 ` [PATCH v5 09/13] ALSA: hda/ca0132: add the ability to set src_id on scp commands Connor McAdams
2018-05-08 17:20 ` [PATCH v5 10/13] ALSA: hda/ca0132: add alt_select_in/out for R3Di + SBZ Connor McAdams
2018-05-08 17:20 ` [PATCH v5 11/13] ALSA: hda/ca0132: Add DSP Volume set and New mixers for SBZ + R3Di Connor McAdams
2018-05-08 17:20 ` [PATCH v5 12/13] ALSA: hda/ca0132: add ca0132_alt_set_vipsource Connor McAdams
2018-05-08 17:20 ` [PATCH v5 13/13] ALSA: hda/ca0132: Add new control changes for SBZ + R3Di Connor McAdams
2018-05-11  1:27 ` [PATCH v5 00/13] ALSA: hda/ca0132: Patch Series for Recon3Di and Sound Blaster Z Support Takashi Sakamoto
2018-05-13  7:32 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).