mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal tasklet_schedule(). The former often causes troubles with RT-kernels, and has actually no merit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
8b1fae4e42
commit
1f04128a3d
@ -151,7 +151,7 @@ static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *subs
|
||||
if (!substream->opened)
|
||||
return;
|
||||
if (up) {
|
||||
tasklet_hi_schedule(&substream->runtime->tasklet);
|
||||
tasklet_schedule(&substream->runtime->tasklet);
|
||||
} else {
|
||||
tasklet_kill(&substream->runtime->tasklet);
|
||||
substream->ops->trigger(substream, 0);
|
||||
@ -908,7 +908,7 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream,
|
||||
}
|
||||
if (result > 0) {
|
||||
if (runtime->event)
|
||||
tasklet_hi_schedule(&runtime->tasklet);
|
||||
tasklet_schedule(&runtime->tasklet);
|
||||
else if (snd_rawmidi_ready(substream))
|
||||
wake_up(&runtime->sleep);
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ static void rtctimer_tasklet(unsigned long data)
|
||||
*/
|
||||
static void rtctimer_interrupt(void *private_data)
|
||||
{
|
||||
tasklet_hi_schedule(private_data);
|
||||
tasklet_schedule(private_data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -743,7 +743,7 @@ void snd_timer_interrupt(struct snd_timer * timer, unsigned long ticks_left)
|
||||
spin_unlock_irqrestore(&timer->lock, flags);
|
||||
|
||||
if (use_tasklet)
|
||||
tasklet_hi_schedule(&timer->task_queue);
|
||||
tasklet_schedule(&timer->task_queue);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -548,7 +548,7 @@ irqreturn_t snd_vx_irq_handler(int irq, void *dev)
|
||||
(chip->chip_status & VX_STAT_IS_STALE))
|
||||
return IRQ_NONE;
|
||||
if (! vx_test_and_ack(chip))
|
||||
tasklet_hi_schedule(&chip->tq);
|
||||
tasklet_schedule(&chip->tq);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
@ -823,7 +823,7 @@ static int vx_pcm_trigger(struct snd_pcm_substream *subs, int cmd)
|
||||
* we trigger the pipe using tasklet, so that the interrupts are
|
||||
* issued surely after the trigger is completed.
|
||||
*/
|
||||
tasklet_hi_schedule(&pipe->start_tq);
|
||||
tasklet_schedule(&pipe->start_tq);
|
||||
chip->pcm_running++;
|
||||
pipe->running = 1;
|
||||
break;
|
||||
|
@ -1953,7 +1953,7 @@ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id)
|
||||
outw(inw(chip->io_port + 4) & 1, chip->io_port + 4);
|
||||
|
||||
if (event & ESM_HWVOL_IRQ)
|
||||
tasklet_hi_schedule(&chip->hwvol_tq); /* we'll do this later */
|
||||
tasklet_schedule(&chip->hwvol_tq); /* we'll do this later */
|
||||
|
||||
/* else ack 'em all, i imagine */
|
||||
outb(0xFF, chip->io_port + 0x1A);
|
||||
|
@ -1670,7 +1670,7 @@ static irqreturn_t snd_m3_interrupt(int irq, void *dev_id)
|
||||
return IRQ_NONE;
|
||||
|
||||
if (status & HV_INT_PENDING)
|
||||
tasklet_hi_schedule(&chip->hwvol_tq);
|
||||
tasklet_schedule(&chip->hwvol_tq);
|
||||
|
||||
/*
|
||||
* ack an assp int if its running
|
||||
|
@ -550,7 +550,7 @@ irqreturn_t snd_mixart_interrupt(int irq, void *dev_id)
|
||||
mgr->msg_fifo[mgr->msg_fifo_writeptr] = msg;
|
||||
mgr->msg_fifo_writeptr++;
|
||||
mgr->msg_fifo_writeptr %= MSG_FIFO_SIZE;
|
||||
tasklet_hi_schedule(&mgr->msg_taskq);
|
||||
tasklet_schedule(&mgr->msg_taskq);
|
||||
}
|
||||
spin_unlock(&mgr->msg_lock);
|
||||
break;
|
||||
|
@ -653,7 +653,7 @@ static int pcxhr_trigger(struct snd_pcm_substream *subs, int cmd)
|
||||
PCXHR_STREAM_STATUS_SCHEDULE_RUN;
|
||||
snd_pcm_trigger_done(s, subs);
|
||||
}
|
||||
tasklet_hi_schedule(&chip->mgr->trigger_taskq);
|
||||
tasklet_schedule(&chip->mgr->trigger_taskq);
|
||||
} else {
|
||||
stream = subs->runtime->private_data;
|
||||
snd_printdd("Only one Substream %c %d\n",
|
||||
|
@ -1213,7 +1213,7 @@ irqreturn_t pcxhr_interrupt(int irq, void *dev_id)
|
||||
mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID;
|
||||
|
||||
mgr->src_it_dsp = reg;
|
||||
tasklet_hi_schedule(&mgr->msg_taskq);
|
||||
tasklet_schedule(&mgr->msg_taskq);
|
||||
}
|
||||
#ifdef CONFIG_SND_DEBUG_VERBOSE
|
||||
if (reg & PCXHR_FATAL_DSP_ERR)
|
||||
|
@ -1754,7 +1754,7 @@ snd_riptide_interrupt(int irq, void *dev_id)
|
||||
if (IS_EOBIRQ(cif->hwport) || IS_EOSIRQ(cif->hwport) ||
|
||||
IS_EOCIRQ(cif->hwport)) {
|
||||
chip->handled_irqs++;
|
||||
tasklet_hi_schedule(&chip->riptide_tq);
|
||||
tasklet_schedule(&chip->riptide_tq);
|
||||
}
|
||||
if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
|
||||
chip->handled_irqs++;
|
||||
|
@ -3750,7 +3750,7 @@ static irqreturn_t snd_hdsp_interrupt(int irq, void *dev_id)
|
||||
}
|
||||
}
|
||||
if (hdsp->use_midi_tasklet && schedule)
|
||||
tasklet_hi_schedule(&hdsp->midi_tasklet);
|
||||
tasklet_schedule(&hdsp->midi_tasklet);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
@ -3476,7 +3476,7 @@ static irqreturn_t snd_hdspm_interrupt(int irq, void *dev_id)
|
||||
schedule = 1;
|
||||
}
|
||||
if (schedule)
|
||||
tasklet_hi_schedule(&hdspm->midi_tasklet);
|
||||
tasklet_schedule(&hdspm->midi_tasklet);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ irqreturn_t pdacf_interrupt(int irq, void *dev)
|
||||
if (stat & PDAUDIOCF_IRQOVR) /* should never happen */
|
||||
snd_printk(KERN_ERR "PDAUDIOCF SRAM buffer overrun detected!\n");
|
||||
if (chip->pcm_substream)
|
||||
tasklet_hi_schedule(&chip->tq);
|
||||
tasklet_schedule(&chip->tq);
|
||||
if (!(stat & PDAUDIOCF_IRQAKM))
|
||||
stat |= PDAUDIOCF_IRQAKM; /* check rate */
|
||||
}
|
||||
|
@ -880,7 +880,7 @@ static void snd_usbmidi_output_trigger(struct snd_rawmidi_substream *substream,
|
||||
snd_rawmidi_transmit_ack(substream, 1);
|
||||
return;
|
||||
}
|
||||
tasklet_hi_schedule(&port->ep->tasklet);
|
||||
tasklet_schedule(&port->ep->tasklet);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user