[alsa-devel] rme hdsp pcmcia (and probably pci) broken
Takashi Iwai
tiwai at suse.de
Tue Nov 27 14:55:35 CET 2007
At Mon, 26 Nov 2007 17:45:03 -0800,
Fernando Lopez-Lezcano wrote:
>
> Hi, anyone has a pcmcia rme card running? And working? With a reasonably
> recent alsa? (this probably applies also for the regular pci rme cards,
> I've had reports on the Planet CCRMA list about problems that sound
> similar to this one).
>
> My test setup is on fc7 running:
>
> alsa-lib 1.0.15
> alsa-tools 1.0.15
> alsa-firmware 1.0.15
>
> After a sequence of reboots this is what I get:
>
> 2.6.22.1-1.rt5.1 + alsa driver modules from
> svn 20070702.165519
> --> OK
>
> 2.6.22.5-1.rt9.2 + alsa driver modules from
> hg20070830
> --> OK
>
> 2.6.22.6-1.rt9.5 + alsa driver modules from
> hg20070830
> --> OK
>
> 2.6.22.10-1.rt9.1 + alsa driver modules from
> hg20071012
> --> BROKEN
The only significant change in hdsp.c during this is the patch below.
Could you try to revert?
Takashi
# HG changeset patch
# User tiwai
# Date 1188556434 -7200
# Node ID d2e58f75d204bc01677c7f97e08ec067f8026dbc
# Parent 56d4c7f294f63f63b93d9d1fbfda5570149500f8
hdsp - Add support for latset RME9632 revisions
added support for the latest revision of the 9632 (and hopefully a few
following ones). The DSP matrix was not working because of wrong
identification of the card in this part of the code.
Signed-off-by: Remy Bruno <remy.bruno at trinnov.com>
diff -r 56d4c7f294f6 -r d2e58f75d204 pci/rme9652/hdsp.c
--- a/pci/rme9652/hdsp.c Fri Aug 31 12:21:08 2007 +0200
+++ b/pci/rme9652/hdsp.c Fri Aug 31 12:33:54 2007 +0200
@@ -606,28 +606,28 @@ static void snd_hdsp_9652_enable_mixer (
static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
{
- switch (hdsp->firmware_rev) {
- case 0xa:
+ switch (hdsp->io_type) {
+ case Multiface:
+ case Digiface:
+ default:
return (64 * out) + (32 + (in));
- case 0x96:
- case 0x97:
- case 0x98:
+ case H9632:
return (32 * out) + (16 + (in));
- default:
+ case H9652:
return (52 * out) + (26 + (in));
}
}
static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
{
- switch (hdsp->firmware_rev) {
- case 0xa:
+ switch (hdsp->io_type) {
+ case Multiface:
+ case Digiface:
+ default:
return (64 * out) + in;
- case 0x96:
- case 0x97:
- case 0x98:
+ case H9632:
return (32 * out) + in;
- default:
+ case H9652:
return (52 * out) + in;
}
}
More information about the Alsa-devel
mailing list