mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 15:11:16 +00:00
ALSA: vx: Use nonatomic PCM ops
Rewrite VXpocket and VX222 drivers to use the new PCM nonatomic ops. The former irq tasklet is replaced with a threaded irq handler, and the tasklet for the PCM delayed start is simply merged into the normal PCM trigger, as well as the replacement of spinlock with mutex. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
e7e69265b6
commit
db0a5214b8
8 changed files with 78 additions and 109 deletions
|
@ -80,8 +80,6 @@ struct vx_pipe {
|
|||
|
||||
unsigned int references; /* an output pipe may be used for monitoring and/or playback */
|
||||
struct vx_pipe *monitoring_pipe; /* pointer to the monitoring pipe (capture pipe only)*/
|
||||
|
||||
struct tasklet_struct start_tq;
|
||||
};
|
||||
|
||||
struct vx_core;
|
||||
|
@ -165,9 +163,7 @@ struct vx_core {
|
|||
struct snd_vx_hardware *hw;
|
||||
struct snd_vx_ops *ops;
|
||||
|
||||
spinlock_t lock;
|
||||
spinlock_t irq_lock;
|
||||
struct tasklet_struct tq;
|
||||
struct mutex lock;
|
||||
|
||||
unsigned int chip_status;
|
||||
unsigned int pcm_running;
|
||||
|
@ -223,6 +219,7 @@ void snd_vx_free_firmware(struct vx_core *chip);
|
|||
* interrupt handler; exported for pcmcia
|
||||
*/
|
||||
irqreturn_t snd_vx_irq_handler(int irq, void *dev);
|
||||
irqreturn_t snd_vx_threaded_irq_handler(int irq, void *dev);
|
||||
|
||||
/*
|
||||
* lowlevel functions
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue