Lines Matching refs:slot
228 int slot, dma_addr_t addr)
238 rzg2l_cru_write(cru, AMnMBxADDRL(slot), addr);
239 rzg2l_cru_write(cru, AMnMBxADDRH(slot), 0);
243 * Moves a buffer from the queue to the HW slot. If no buffer is
248 static void rzg2l_cru_fill_hw_slot(struct rzg2l_cru_dev *cru, int slot)
254 /* A already populated slot shall never be overwritten. */
255 if (WARN_ON(cru->queue_buf[slot]))
258 dev_dbg(cru->dev, "Filling HW slot: %d\n", slot);
261 cru->queue_buf[slot] = NULL;
269 cru->queue_buf[slot] = vbuf;
275 rzg2l_cru_set_slot_addr(cru, slot, phys_addr);
280 unsigned int slot;
288 for (slot = 0; slot < cru->num_buf; slot++)
289 rzg2l_cru_fill_hw_slot(cru, slot);
537 int slot;
564 slot = amnmbs & AMnMBS_MBSTS;
570 if (slot == 0)
571 slot = cru->num_buf - 1;
573 slot--;
577 * to capture first from slot 0.
580 if (slot != 0) {
581 dev_dbg(cru->dev, "Starting sync slot: %d\n", slot);
590 if (cru->queue_buf[slot]) {
591 cru->queue_buf[slot]->field = cru->format.field;
592 cru->queue_buf[slot]->sequence = cru->sequence;
593 cru->queue_buf[slot]->vb2_buf.timestamp = ktime_get_ns();
594 vb2_buffer_done(&cru->queue_buf[slot]->vb2_buf,
596 cru->queue_buf[slot] = NULL;
605 rzg2l_cru_fill_hw_slot(cru, slot);