Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 758 → Rev 757

/shark/trunk/drivers/bttv/bttv-driver.c
78,7 → 78,6
static unsigned int v4l2 = 1;
 
static volatile unsigned int grab_task = -1;
static volatile unsigned int shark_task_activation = 0;
 
/* insmod args */
MODULE_PARM(radio,"1-" __stringify(BTTV_MAX) "i");
3186,9 → 3185,6
return 0;
}
 
/* S.Ha.R.K. External function */
extern int task_activate(int pid);
 
static void
bttv_irq_wakeup_set(struct bttv *btv, struct bttv_buffer_set *wakeup,
struct bttv_buffer_set *curr, unsigned int state)
3227,16 → 3223,8
wakeup->bottom->vb.ts = ts;
wakeup->bottom->vb.field_count = btv->field_count;
wakeup->bottom->vb.state = state;
//wake_up(&wakeup->bottom->vb.done);
}
}
 
/* S.Ha.R.K. grab task activation */
if (shark_task_activation == 0) {
shark_task_activation = 1;
task_activate(grab_task);
}
 
}
 
static void bttv_irq_timeout(unsigned long data)
3270,10 → 3258,6
list_del(&item->vb.queue);
item->vb.state = STATE_ERROR;
//wake_up(&item->vb.done);
if (shark_task_activation == 0) {
shark_task_activation = 1;
task_activate(grab_task);
}
}
while (!list_empty(&btv->vcapture)) {
item = list_entry(btv->vcapture.next, struct bttv_buffer, vb.queue);
3280,10 → 3264,6
list_del(&item->vb.queue);
item->vb.state = STATE_ERROR;
//wake_up(&item->vb.done);
if (shark_task_activation == 0) {
shark_task_activation = 1;
task_activate(grab_task);
}
}
btv->errors++;
3307,16 → 3287,12
wakeup->vb.field_count = btv->field_count;
wakeup->vb.state = STATE_DONE;
//wake_up(&wakeup->vb.done);
if (shark_task_activation == 0) {
shark_task_activation = 1;
task_activate(grab_task);
}
 
spin_unlock(&btv->s_lock);
 
}
 
extern int task_activate(int pid);
 
static void
bttv_irq_switch_fields(struct bttv *btv)
{
3352,6 → 3328,9
/* wake up finished buffers */
bttv_irq_wakeup_set(btv, &old, &new, STATE_DONE);
 
/* S.Ha.R.K. Task Activate */
task_activate(grab_task);
 
spin_unlock(&btv->s_lock);
}
 
3378,8 → 3357,6
/* get device status bits */
dstat=btread(BT848_DSTATUS);
 
shark_task_activation = 0;
 
if (irq_debug) {
printk(KERN_DEBUG "bttv%d: irq loop=%d fc=%d "
"riscs=%x, riscc=%08x, ",
/shark/trunk/drivers/bttv/bttv-risc.c
404,9 → 404,9
cmd |= BT848_RISC_IRQ;
cmd |= (irqflags & 0x0f) << 16;
cmd |= (~irqflags & 0x0f) << 20;
mod_timer(&btv->timeout, jiffies26+BTTV_TIMEOUT);
//mod_timer(&btv->timeout, jiffies26+BTTV_TIMEOUT);
} else {
del_timer(&btv->timeout);
//del_timer(&btv->timeout);
}
btv->main.cpu[RISC_SLOT_LOOP] = cpu_to_le32(cmd);