[alsa-devel] [RFC] disabling ALSA period interrupts

Jaroslav Kysela perex at perex.cz
Wed May 12 15:00:23 CEST 2010


On Tue, 11 May 2010, pl bossart wrote:

> Here's a proposal for an alsa-lib modification to allow applications
> to disable interrupts (if the hardware can do so).

Please, use tabs for block indention for alsa-lib.

> I used the flag field in hw_params, this looked like a good candidate
> to convey this information needed by the driver. I don't really like
> adding two new routines, but I don't think there's any other way.
> Still 2 points to be worked out:
> - I couldn't figure out how to make these two new symbols known to
> PulseAudio. Somehow there's a missing symbol that prevents PA modules
> from loading, not sure where it needs to be declare

Are you sure that you're using new libraries? 'ldd' and 'nm' tools will 
help you to determine what's wrong with symbols.

> - I thought I could make use of the same flag on the driver side, but
> the code in pcm_native.c makes a peculiar use of hw_params->flag. It
> looks like this field is used as an internal variable.
>
> for (k = 0; k < constrs->rules_num; k++) {
> 			struct snd_pcm_hw_rule *r = &constrs->rules[k];
> 			unsigned int d;
> 			int doit = 0;
> 			if (r->cond && !(r->cond & params->flags))
> 				continue;

Ignore this. I don't know about any place where r->cond is used (!= 0) in 
the current ALSA driver, so eating one more bit from params->flags is OK.
Just put the kernel asound.h in sync with library asound.h.

 						Jaroslav

-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list