mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
add back old input handler as option
This commit is contained in:
parent
efd5070f76
commit
eabde4ab5a
@ -2346,6 +2346,30 @@ static void input_tasklet(unsigned long data)
|
||||
spin_unlock_irqrestore(&dma->lock, flags);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void input_handler(unsigned long data)
|
||||
{
|
||||
struct ddb_input *input = (struct ddb_input *)data;
|
||||
struct ddb_dma *dma = input->dma;
|
||||
|
||||
/* If there is no input connected, input_tasklet() will
|
||||
* just copy pointers and ACK. So, there is no need to go
|
||||
* through the tasklet scheduler.
|
||||
*/
|
||||
#ifdef DDB_USE_WORK
|
||||
if (input->redi)
|
||||
queue_work(ddb_wq, &dma->work);
|
||||
else
|
||||
input_work(&dma->work);
|
||||
#else
|
||||
if (input->redi)
|
||||
tasklet_schedule(&dma->tasklet);
|
||||
else
|
||||
input_tasklet(data);
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
static void input_handler(void *data)
|
||||
{
|
||||
struct ddb_input *input = (struct ddb_input *)data;
|
||||
@ -2357,6 +2381,7 @@ static void input_handler(void *data)
|
||||
input_tasklet(dma);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef DDB_USE_WORK
|
||||
static void output_work(struct work_struct *work)
|
||||
@ -2383,6 +2408,26 @@ static void output_tasklet(unsigned long data)
|
||||
spin_unlock(&dma->lock);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void output_handler(unsigned long data)
|
||||
{
|
||||
struct ddb_output *output = (struct ddb_output *)data;
|
||||
struct ddb_dma *dma = output->dma;
|
||||
struct ddb *dev = output->port->dev;
|
||||
|
||||
spin_lock(&dma->lock);
|
||||
if (!dma->running) {
|
||||
spin_unlock(&dma->lock);
|
||||
return;
|
||||
}
|
||||
dma->stat = ddbreadl(dev, DMA_BUFFER_CURRENT(dma));
|
||||
dma->ctrl = ddbreadl(dev, DMA_BUFFER_CONTROL(dma));
|
||||
if (output->redi)
|
||||
output_ack_input(output, output->redi);
|
||||
wake_up(&dma->wq);
|
||||
spin_unlock(&dma->lock);
|
||||
}
|
||||
#else
|
||||
static void output_handler(void *data)
|
||||
{
|
||||
struct ddb_output *output = (struct ddb_output *)data;
|
||||
@ -2394,6 +2439,7 @@ static void output_handler(void *data)
|
||||
tasklet_schedule(&dma->tasklet);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************/
|
||||
/****************************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user