Lines Matching refs:csring
364 static void pasemi_mac_free_csring(struct pasemi_mac_csring *csring) in pasemi_mac_free_csring() argument
366 pasemi_dma_stop_chan(&csring->chan); in pasemi_mac_free_csring()
367 pasemi_dma_free_flag(csring->events[0]); in pasemi_mac_free_csring()
368 pasemi_dma_free_flag(csring->events[1]); in pasemi_mac_free_csring()
369 pasemi_dma_free_ring(&csring->chan); in pasemi_mac_free_csring()
370 pasemi_dma_free_chan(&csring->chan); in pasemi_mac_free_csring()
371 pasemi_dma_free_fun(csring->fun); in pasemi_mac_free_csring()
1351 struct pasemi_mac_csring *csring) in pasemi_mac_queue_csdesc() argument
1362 XCT_FUN_O | XCT_FUN_FUN(csring->fun) | in pasemi_mac_queue_csdesc()
1382 fill = csring->next_to_fill; in pasemi_mac_queue_csdesc()
1385 CS_DESC(csring, fill++) = fund; in pasemi_mac_queue_csdesc()
1387 csdma = csring->chan.ring_dma + (fill & (CS_RING_SIZE-1)) * 8 + 2; in pasemi_mac_queue_csdesc()
1388 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1390 CS_DESC(csring, fill) = XCT_PTR_LEN(map_size[0]-nh_off) | XCT_PTR_ADDR(map[0]+nh_off); in pasemi_mac_queue_csdesc()
1392 CS_DESC(csring, fill+i) = XCT_PTR_LEN(map_size[i]) | XCT_PTR_ADDR(map[i]); in pasemi_mac_queue_csdesc()
1400 CS_DESC(csring, fill++) = XCT_FUN_O | XCT_FUN_FUN(csring->fun) | in pasemi_mac_queue_csdesc()
1402 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(cs_dest) | XCT_PTR_T; in pasemi_mac_queue_csdesc()
1403 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(csdma); in pasemi_mac_queue_csdesc()
1406 evt = !csring->last_event; in pasemi_mac_queue_csdesc()
1407 csring->last_event = evt; in pasemi_mac_queue_csdesc()
1410 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O | in pasemi_mac_queue_csdesc()
1411 CTRL_CMD_ETYPE_SET | CTRL_CMD_REG(csring->events[evt]); in pasemi_mac_queue_csdesc()
1412 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1413 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O | in pasemi_mac_queue_csdesc()
1414 CTRL_CMD_ETYPE_WCLR | CTRL_CMD_REG(csring->events[!evt]); in pasemi_mac_queue_csdesc()
1415 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1416 csring->next_to_fill = fill & (CS_RING_SIZE-1); in pasemi_mac_queue_csdesc()
1419 write_dma_reg(PAS_DMA_TXCHAN_INCR(csring->chan.chno), (cs_size) >> 1); in pasemi_mac_queue_csdesc()
1424 CTRL_CMD_ETYPE_WSET | CTRL_CMD_REG(csring->events[evt]); in pasemi_mac_queue_csdesc()
1427 CTRL_CMD_ETYPE_CLR | CTRL_CMD_REG(csring->events[!evt]); in pasemi_mac_queue_csdesc()
1438 struct pasemi_mac_csring *csring; in pasemi_mac_start_tx() local
1506 csring = mac->cs[mac->last_cs]; in pasemi_mac_start_tx()
1509 pasemi_mac_queue_csdesc(skb, map, map_size, txring, csring); in pasemi_mac_start_tx()