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)
|
if (!substream->opened)
|
||||||
return;
|
return;
|
||||||
if (up) {
|
if (up) {
|
||||||
tasklet_hi_schedule(&substream->runtime->tasklet);
|
tasklet_schedule(&substream->runtime->tasklet);
|
||||||
} else {
|
} else {
|
||||||
tasklet_kill(&substream->runtime->tasklet);
|
tasklet_kill(&substream->runtime->tasklet);
|
||||||
substream->ops->trigger(substream, 0);
|
substream->ops->trigger(substream, 0);
|
||||||
|
@ -908,7 +908,7 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream,
|
||||||
}
|
}
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
if (runtime->event)
|
if (runtime->event)
|
||||||
tasklet_hi_schedule(&runtime->tasklet);
|
tasklet_schedule(&runtime->tasklet);
|
||||||
else if (snd_rawmidi_ready(substream))
|
else if (snd_rawmidi_ready(substream))
|
||||||
wake_up(&runtime->sleep);
|
wake_up(&runtime->sleep);
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ static void rtctimer_tasklet(unsigned long data)
|
||||||
*/
|
*/
|
||||||
static void rtctimer_interrupt(void *private_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);
|
spin_unlock_irqrestore(&timer->lock, flags);
|
||||||
|
|
||||||
if (use_tasklet)
|
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))
|
(chip->chip_status & VX_STAT_IS_STALE))
|
||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
if (! vx_test_and_ack(chip))
|
if (! vx_test_and_ack(chip))
|
||||||
tasklet_hi_schedule(&chip->tq);
|
tasklet_schedule(&chip->tq);
|
||||||
return IRQ_HANDLED;
|
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
|
* we trigger the pipe using tasklet, so that the interrupts are
|
||||||
* issued surely after the trigger is completed.
|
* issued surely after the trigger is completed.
|
||||||
*/
|
*/
|
||||||
tasklet_hi_schedule(&pipe->start_tq);
|
tasklet_schedule(&pipe->start_tq);
|
||||||
chip->pcm_running++;
|
chip->pcm_running++;
|
||||||
pipe->running = 1;
|
pipe->running = 1;
|
||||||
break;
|
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);
|
outw(inw(chip->io_port + 4) & 1, chip->io_port + 4);
|
||||||
|
|
||||||
if (event & ESM_HWVOL_IRQ)
|
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 */
|
/* else ack 'em all, i imagine */
|
||||||
outb(0xFF, chip->io_port + 0x1A);
|
outb(0xFF, chip->io_port + 0x1A);
|
||||||
|
|
|
@ -1670,7 +1670,7 @@ static irqreturn_t snd_m3_interrupt(int irq, void *dev_id)
|
||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
|
|
||||||
if (status & HV_INT_PENDING)
|
if (status & HV_INT_PENDING)
|
||||||
tasklet_hi_schedule(&chip->hwvol_tq);
|
tasklet_schedule(&chip->hwvol_tq);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ack an assp int if its running
|
* 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[mgr->msg_fifo_writeptr] = msg;
|
||||||
mgr->msg_fifo_writeptr++;
|
mgr->msg_fifo_writeptr++;
|
||||||
mgr->msg_fifo_writeptr %= MSG_FIFO_SIZE;
|
mgr->msg_fifo_writeptr %= MSG_FIFO_SIZE;
|
||||||
tasklet_hi_schedule(&mgr->msg_taskq);
|
tasklet_schedule(&mgr->msg_taskq);
|
||||||
}
|
}
|
||||||
spin_unlock(&mgr->msg_lock);
|
spin_unlock(&mgr->msg_lock);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -653,7 +653,7 @@ static int pcxhr_trigger(struct snd_pcm_substream *subs, int cmd)
|
||||||
PCXHR_STREAM_STATUS_SCHEDULE_RUN;
|
PCXHR_STREAM_STATUS_SCHEDULE_RUN;
|
||||||
snd_pcm_trigger_done(s, subs);
|
snd_pcm_trigger_done(s, subs);
|
||||||
}
|
}
|
||||||
tasklet_hi_schedule(&chip->mgr->trigger_taskq);
|
tasklet_schedule(&chip->mgr->trigger_taskq);
|
||||||
} else {
|
} else {
|
||||||
stream = subs->runtime->private_data;
|
stream = subs->runtime->private_data;
|
||||||
snd_printdd("Only one Substream %c %d\n",
|
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->dsp_time_last = PCXHR_DSP_TIME_INVALID;
|
||||||
|
|
||||||
mgr->src_it_dsp = reg;
|
mgr->src_it_dsp = reg;
|
||||||
tasklet_hi_schedule(&mgr->msg_taskq);
|
tasklet_schedule(&mgr->msg_taskq);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_SND_DEBUG_VERBOSE
|
#ifdef CONFIG_SND_DEBUG_VERBOSE
|
||||||
if (reg & PCXHR_FATAL_DSP_ERR)
|
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) ||
|
if (IS_EOBIRQ(cif->hwport) || IS_EOSIRQ(cif->hwport) ||
|
||||||
IS_EOCIRQ(cif->hwport)) {
|
IS_EOCIRQ(cif->hwport)) {
|
||||||
chip->handled_irqs++;
|
chip->handled_irqs++;
|
||||||
tasklet_hi_schedule(&chip->riptide_tq);
|
tasklet_schedule(&chip->riptide_tq);
|
||||||
}
|
}
|
||||||
if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
|
if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
|
||||||
chip->handled_irqs++;
|
chip->handled_irqs++;
|
||||||
|
|
|
@ -3750,7 +3750,7 @@ static irqreturn_t snd_hdsp_interrupt(int irq, void *dev_id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (hdsp->use_midi_tasklet && schedule)
|
if (hdsp->use_midi_tasklet && schedule)
|
||||||
tasklet_hi_schedule(&hdsp->midi_tasklet);
|
tasklet_schedule(&hdsp->midi_tasklet);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3476,7 +3476,7 @@ static irqreturn_t snd_hdspm_interrupt(int irq, void *dev_id)
|
||||||
schedule = 1;
|
schedule = 1;
|
||||||
}
|
}
|
||||||
if (schedule)
|
if (schedule)
|
||||||
tasklet_hi_schedule(&hdspm->midi_tasklet);
|
tasklet_schedule(&hdspm->midi_tasklet);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ irqreturn_t pdacf_interrupt(int irq, void *dev)
|
||||||
if (stat & PDAUDIOCF_IRQOVR) /* should never happen */
|
if (stat & PDAUDIOCF_IRQOVR) /* should never happen */
|
||||||
snd_printk(KERN_ERR "PDAUDIOCF SRAM buffer overrun detected!\n");
|
snd_printk(KERN_ERR "PDAUDIOCF SRAM buffer overrun detected!\n");
|
||||||
if (chip->pcm_substream)
|
if (chip->pcm_substream)
|
||||||
tasklet_hi_schedule(&chip->tq);
|
tasklet_schedule(&chip->tq);
|
||||||
if (!(stat & PDAUDIOCF_IRQAKM))
|
if (!(stat & PDAUDIOCF_IRQAKM))
|
||||||
stat |= PDAUDIOCF_IRQAKM; /* check rate */
|
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);
|
snd_rawmidi_transmit_ack(substream, 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
tasklet_hi_schedule(&port->ep->tasklet);
|
tasklet_schedule(&port->ep->tasklet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue