[alsa-devel] salsa with noninterleaved needs irqpoll?
And what about the sample format? I looked at the drivers; the two sound cards do not have a common sample format.
Best regards, Clemens
Thanks, the problem was indeed that I was setting hwparams that are not supported by the card. I do think salsa lib could return a more relevant error than "operation not permitted" and I'll see if I can come up with something for that. Right now though I am trying to figure out what snd_pcm_writen needs for its second parameter, void** bufs. I get the error "bad address" when passing in an array of pointers to a malloc-ed space big enough to hold a channels' worth of data. Sorry if I am missing obvious documentation about this, but what should I pass for this parameter?
Regards Maarten
Hi again,
Ok, now I finally got everything working and am asking the following mostly out of curiosity. The problem I had with snd_pcm_writen by the way has to do somehow with using a chroot environment; everything works when directly booting into the uclibc / salsa system. For it to work I need to add "irqpoll" to the kernel boot options. Without this, the card does not start playing (though no error messages from salsa) and after a few seconds the kernel tells me to add irqpoll to the boot options. On a glibc / alsa based system everything works fine without this option as it does with a c-media card with salsa. What does it do and why is it needed with the hdsp 9632 on a system with salsa?
Thanks Maarten
At Sat, 25 Apr 2009 17:41:23 +0100, maarten van es wrote:
And what about the sample format? I looked at the drivers; the two sound cards do not have a common sample format.
Best regards, Clemens
Thanks, the problem was indeed that I was setting hwparams that are not supported by the card. I do think salsa lib could return a more relevant error than "operation not permitted" and I'll see if I can come up with something for that. Right now though I am trying to figure out what snd_pcm_writen needs for its second parameter, void** bufs. I get the error "bad address" when passing in an array of pointers to a malloc-ed space big enough to hold a channels' worth of data. Sorry if I am missing obvious documentation about this, but what should I pass for this parameter?
Regards Maarten
Hi again,
Ok, now I finally got everything working and am asking the following mostly out of curiosity. The problem I had with snd_pcm_writen by the way has to do somehow with using a chroot environment; everything works when directly booting into the uclibc / salsa system. For it to work I need to add "irqpoll" to the kernel boot options. Without this, the card does not start playing (though no error messages from salsa) and after a few seconds the kernel tells me to add irqpoll to the boot options. On a glibc / alsa based system everything works fine without this option as it does with a c-media card with salsa. What does it do and why is it needed with the hdsp 9632 on a system with salsa?
It must be a coincidence that the driver works with alsa without irqpoll option, then.
Takashi
participants (2)
-
maarten van es
-
Takashi Iwai