From: "Guillem Solà" <garanda@flumotion.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: Issue with creative Xfi PCIe ca0110-IBG
Date: Tue, 13 Oct 2009 10:48:48 +0200 [thread overview]
Message-ID: <4AD43EF0.70907@flumotion.com> (raw)
In-Reply-To: <s5h63aov93b.wl%tiwai@suse.de>
Takashi Iwai wrote:
> At Fri, 09 Oct 2009 18:05:28 +0200,
> Guillem Solà wrote:
>
>> Takashi Iwai wrote:
>>
>>> At Fri, 09 Oct 2009 16:15:00 +0200,
>>> Guillem Solà wrote:
>>>
>>>
>>>> Takashi Iwai wrote:
>>>>
>>>>
>>>>> At Fri, 09 Oct 2009 11:19:04 +0200,
>>>>> Guillem Solà wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a Creative XFi PCIe with ca0110-IBG chip. It's primary use is
>>>>>> audio input for streaming on a brand new Dell server with RHEL. I have
>>>>>> been testing latest kernel 2.6.31 through it's releases candidates and
>>>>>> the card stoped working on 2.6.31-rc6, so now I'm stuck at 2.6.31-rc5.
>>>>>> With rc5 I made a 2 weeks test and it went flawlessly.
>>>>>>
>>>>>> There's another guy who referenced this issue on
>>>>>> http://mailman.alsa-project.org/pipermail/alsa-devel/2009-September/020876.html
>>>>>> and Takashi Iwai said that there is a communication error between the
>>>>>> codec and the controller.
>>>>>>
>>>>>> Any workaround? Is there a bug created related to this issue?
>>>>>>
>>>>>> I tried to "extract" the alsa-driver on 2.6.31-rc5 and install it 2.6.31
>>>>>> final without success. Also tried to get old snapshots from alsa-driver
>>>>>> and alsa-kmirror but I cannot compile them. Any place where get some
>>>>>> info about how to create
>>>>>>
>>>>>>
>>>>>>
>>>>> Then some codes added after rc5 regressed?
>>>>> The candidates are not so many but a few:
>>>>>
>>>>> deadff1665491afce124a8ff83f00f784161f660
>>>>> ALSA: hda: track CIRB/CORB command/response states for each codec
>>>>>
>>>>> a678cdee25a387c8fc3b2754974695412baf1d85
>>>>> ALSA: hda: take cmd_mutex in probe_codec()
>>>>>
>>>>> cdb1fbf23181c133fb24f12ad14ccea7dc399599
>>>>> ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io
>>>>>
>>>>> c32649feb4573b31f0a2bfdf35cbe1351256c764
>>>>> ALSA: hda: read CORBWP inside reg_lock
>>>>>
>>>>> feb273404f15d86098cb0e81e46330d5c1e22b1b
>>>>> ALSA: hda: remember last command for each codec
>>>>>
>>>>> The suspicious changes are the first one and the third one.
>>>>> But, anyway, it'd be helpful if you can bisect these.
>>>>>
>>>>> If you can use git, git-bisect would be the best to try.
>>>>> Do bisect only for changes in sound/pci/hda directory between
>>>>> 2.6.31-rc5 and rc6.
>>>>>
>>>>>
>>>>> thanks,
>>>>>
>>>>> Takashi
>>>>>
>>>>>
>>>>>
>>>>>
>>>> Ok I read how to do bisect with git and so on. Also take latest alsa
>>>> from git.
>>>>
>>>> Now the question is do I have to do bisect from alsa-kernel? (that's
>>>> what I'm trying now) but that implies recompile kernel in every step,
>>>> isn't it?
>>>>
>>>>
>>> If you can build the kernel by yourself, and you already find that
>>> 2.6.31-rc5 works as is, I recommend you to bisect the kernel tree.
>>>
>>> As mentioned, the commits to bisect are only for sound/pci/hda
>>> directory, and there aren't so many. You can just rebuild the module
>>> with "make M=sound/pci/hda" during bisecting.
>>>
>>>
>>> Takashi
>>> _______________________________________________
>>> Alsa-devel mailing list
>>> Alsa-devel@alsa-project.org
>>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>>
>>>
>> Ok Think I Finally get it :-)
>>
>> those are the latest steps I did, AFAIK it was the first commit after
>> 2.6.31-rc5 as you said "The suspicious changes are the first one and the
>> third one."
>>
>> deadff1665491afce124a8ff83f00f784161f660 is first bad commit
>>
>
> Thanks! That's what I expected (and worried)...
>
> What happens if you apply the patch below to the latest alsa driver
> (or 2.6.31-rc6)?
>
>
> Takashi
>
> ---
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index d0effa3..81663a7 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -566,6 +566,7 @@ static void azx_free_cmd_io(struct azx *chip)
>
> static unsigned int azx_command_addr(u32 cmd)
> {
> +#if 0 /* XXX */
> unsigned int addr = cmd >> 28;
>
> if (addr >= AZX_MAX_CODECS) {
> @@ -574,6 +575,9 @@ static unsigned int azx_command_addr(u32 cmd)
> }
>
> return addr;
> +#else
> + return 0;
> +#endif
> }
>
> static unsigned int azx_response_addr(u32 res)
> @@ -818,6 +822,7 @@ static unsigned int azx_get_response(struct hda_bus *bus,
> unsigned int addr)
> {
> struct azx *chip = bus->private_data;
> + addr = 0; /* XXX */
> if (chip->single_cmd)
> return azx_single_get_response(bus, addr);
> else
>
>
I tried the patch you have attached, it patched well (I checked it) but
seems to not work
After make I tried to modprobe snd-hda-intel-ca0110 and I saw in dmesg:
hda-intel: Invalid position buffer, using LPIB read method instead.
alsactl[8292]: segfault at 0 ip (null) sp bfa83f1c error 14 in
ld-2.5.so[54c000+1a000]
HDA Intel 0000:05:00.0: PCI INT A disabled
and after reboot:
HDA Intel 0000:05:00.0: PCI INT A -> GSI 38 (level, low) -> IRQ 38
hda-intel: spurious response 0x1102000a:0x1, last cmd=0x000000
hda-intel: azx_get_response timeout, switching to polling mode: last
cmd=0x100f0000
hda-intel: Codec #1 probe error; disabling it...
hda-intel: spurious response 0x1102000a:0x1, last cmd=0x000000
hda_intel: azx_get_response timeout, switching to single_cmd mode: last
cmd=0x100f0000
hda-intel: no codecs initialized
HDA Intel 0000:05:00.0: PCI INT A disabled
It seems something went wrong
regards,
Guillem Solà
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2009-10-13 8:48 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-09 9:19 Issue with creative Xfi PCIe ca0110-IBG Guillem Solà
2009-10-09 9:38 ` Takashi Iwai
2009-10-09 14:15 ` Guillem Solà
2009-10-09 14:36 ` Takashi Iwai
2009-10-09 15:17 ` Guillem Solà
2009-10-09 16:05 ` Guillem Solà
2009-10-09 16:13 ` Takashi Iwai
2009-10-13 8:48 ` Guillem Solà [this message]
2009-10-13 9:14 ` Takashi Iwai
2009-10-13 9:59 ` Guillem Solà
2009-10-13 10:06 ` Takashi Iwai
2009-10-13 10:26 ` Guillem Solà
2009-10-13 10:39 ` Takashi Iwai
2009-10-13 11:28 ` Guillem Solà
2009-10-13 11:31 ` Takashi Iwai
2009-10-13 12:10 ` Guillem Solà
2009-10-13 12:34 ` Takashi Iwai
2009-10-13 14:12 ` Guillem Solà
2009-10-13 14:20 ` Takashi Iwai
2009-10-13 15:01 ` Guillem Solà
2009-10-13 15:21 ` Takashi Iwai
2009-10-13 16:59 ` Guillem Solà
2009-10-14 15:48 ` Takashi Iwai
2009-10-14 16:03 ` Guillem Solà
2009-10-14 16:09 ` Takashi Iwai
2009-10-15 9:52 ` Guillem Solà
-- strict thread matches above, loose matches on Subject: below --
2009-10-17 10:30 Philippe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AD43EF0.70907@flumotion.com \
--to=garanda@flumotion.com \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.