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