struct rzg2l_cru_buffer *buf, *node;
unsigned int i;
- guard(spinlock_irq)(&cru->qlock);
-
- for (i = 0; i < cru->num_buf; i++) {
- if (cru->queue_buf[i]) {
- vb2_buffer_done(&cru->queue_buf[i]->vb2_buf,
- state);
- cru->queue_buf[i] = NULL;
+ scoped_guard(spinlock_irq, &cru->hw_lock) {
+ for (i = 0; i < cru->num_buf; i++) {
+ if (cru->queue_buf[i]) {
+ vb2_buffer_done(&cru->queue_buf[i]->vb2_buf,
+ state);
+ cru->queue_buf[i] = NULL;
+ }
}
}
- list_for_each_entry_safe(buf, node, &cru->buf_list, list) {
- vb2_buffer_done(&buf->vb.vb2_buf, state);
- list_del(&buf->list);
+ scoped_guard(spinlock_irq, &cru->qlock) {
+ list_for_each_entry_safe(buf, node, &cru->buf_list, list) {
+ vb2_buffer_done(&buf->vb.vb2_buf, state);
+ list_del(&buf->list);
+ }
}
}
dev_dbg(cru->dev, "Filling HW slot: %d\n", slot);
+ guard(spinlock)(&cru->qlock);
+
if (list_empty(&cru->buf_list)) {
cru->queue_buf[slot] = NULL;
phys_addr = cru->scratch_phys;
unsigned int retries = 0;
u32 icnms;
- scoped_guard(spinlock_irq, &cru->qlock) {
+ scoped_guard(spinlock_irq, &cru->hw_lock) {
/* Disable and clear the interrupt */
cru->info->disable_interrupts(cru);
}
u32 amnmbs;
int slot;
- guard(spinlock_irqsave)(&cru->qlock);
+ guard(spinlock_irqsave)(&cru->hw_lock);
irq_status = rzg2l_cru_read(cru, CRUnINTS);
if (!irq_status)
u32 irq_status;
int slot;
- guard(spinlock)(&cru->qlock);
+ guard(spinlock)(&cru->hw_lock);
irq_status = rzg2l_cru_read(cru, CRUnINTS2);
if (!irq_status)