Lines Matching defs:rdesc
242 struct ring_desc *rdesc;
247 rdesc = list_first_entry(&sqi->bd_list_free, struct ring_desc, list);
248 list_move_tail(&rdesc->list, &sqi->bd_list_used);
249 return rdesc;
252 static void ring_desc_put(struct pic32_sqi *sqi, struct ring_desc *rdesc)
254 list_move(&rdesc->list, &sqi->bd_list_free);
263 struct ring_desc *rdesc;
298 rdesc = ring_desc_get(sqi);
299 if (!rdesc)
302 bd = rdesc->bd;
305 rdesc->xfer_len = sg_dma_len(sg);
307 bd->bd_ctrl |= rdesc->xfer_len;
343 struct ring_desc *rdesc, *next;
397 rdesc = list_last_entry(&sqi->bd_list_used, struct ring_desc, list);
398 rdesc->bd->bd_ctrl |= BD_LAST | BD_CS_DEASSERT |
402 rdesc = list_first_entry(&sqi->bd_list_used, struct ring_desc, list);
403 writel(rdesc->bd_dma, sqi->regs + PESQI_BD_BASE_ADDR_REG);
430 list_for_each_entry_safe_reverse(rdesc, next,
433 msg->actual_length += rdesc->xfer_len;
435 ring_desc_put(sqi, rdesc);
456 struct ring_desc *rdesc;
470 sqi->ring = kcalloc(PESQI_BD_COUNT, sizeof(*rdesc), GFP_KERNEL);
484 for (i = 0, rdesc = sqi->ring; i < PESQI_BD_COUNT; i++, rdesc++) {
485 INIT_LIST_HEAD(&rdesc->list);
486 rdesc->bd = &bd[i];
487 rdesc->bd_dma = sqi->bd_dma + (void *)&bd[i] - (void *)bd;
488 list_add_tail(&rdesc->list, &sqi->bd_list_free);
492 for (i = 0, rdesc = sqi->ring; i < PESQI_BD_COUNT - 1; i++)
493 bd[i].bd_nextp = rdesc[i + 1].bd_dma;