Lines Matching refs:csring
354 static void pasemi_mac_free_csring(struct pasemi_mac_csring *csring) in pasemi_mac_free_csring() argument
356 pasemi_dma_stop_chan(&csring->chan); in pasemi_mac_free_csring()
357 pasemi_dma_free_flag(csring->events[0]); in pasemi_mac_free_csring()
358 pasemi_dma_free_flag(csring->events[1]); in pasemi_mac_free_csring()
359 pasemi_dma_free_ring(&csring->chan); in pasemi_mac_free_csring()
360 pasemi_dma_free_chan(&csring->chan); in pasemi_mac_free_csring()
361 pasemi_dma_free_fun(csring->fun); in pasemi_mac_free_csring()
1344 struct pasemi_mac_csring *csring) in pasemi_mac_queue_csdesc() argument
1355 XCT_FUN_O | XCT_FUN_FUN(csring->fun) | in pasemi_mac_queue_csdesc()
1375 fill = csring->next_to_fill; in pasemi_mac_queue_csdesc()
1378 CS_DESC(csring, fill++) = fund; in pasemi_mac_queue_csdesc()
1380 csdma = csring->chan.ring_dma + (fill & (CS_RING_SIZE-1)) * 8 + 2; in pasemi_mac_queue_csdesc()
1381 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1383 CS_DESC(csring, fill) = XCT_PTR_LEN(map_size[0]-nh_off) | XCT_PTR_ADDR(map[0]+nh_off); in pasemi_mac_queue_csdesc()
1385 CS_DESC(csring, fill+i) = XCT_PTR_LEN(map_size[i]) | XCT_PTR_ADDR(map[i]); in pasemi_mac_queue_csdesc()
1392 CS_DESC(csring, fill++) = XCT_FUN_O | XCT_FUN_FUN(csring->fun) | in pasemi_mac_queue_csdesc()
1394 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(cs_dest) | XCT_PTR_T; in pasemi_mac_queue_csdesc()
1395 CS_DESC(csring, fill++) = XCT_PTR_LEN(2) | XCT_PTR_ADDR(csdma); in pasemi_mac_queue_csdesc()
1398 evt = !csring->last_event; in pasemi_mac_queue_csdesc()
1399 csring->last_event = evt; in pasemi_mac_queue_csdesc()
1402 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O | in pasemi_mac_queue_csdesc()
1403 CTRL_CMD_ETYPE_SET | CTRL_CMD_REG(csring->events[evt]); in pasemi_mac_queue_csdesc()
1404 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1405 CS_DESC(csring, fill++) = CTRL_CMD_T | CTRL_CMD_META_EVT | CTRL_CMD_O | in pasemi_mac_queue_csdesc()
1406 CTRL_CMD_ETYPE_WCLR | CTRL_CMD_REG(csring->events[!evt]); in pasemi_mac_queue_csdesc()
1407 CS_DESC(csring, fill++) = 0; in pasemi_mac_queue_csdesc()
1408 csring->next_to_fill = fill & (CS_RING_SIZE-1); in pasemi_mac_queue_csdesc()
1411 write_dma_reg(PAS_DMA_TXCHAN_INCR(csring->chan.chno), (cs_size) >> 1); in pasemi_mac_queue_csdesc()
1416 CTRL_CMD_ETYPE_WSET | CTRL_CMD_REG(csring->events[evt]); in pasemi_mac_queue_csdesc()
1419 CTRL_CMD_ETYPE_CLR | CTRL_CMD_REG(csring->events[!evt]); in pasemi_mac_queue_csdesc()
1430 struct pasemi_mac_csring *csring; in pasemi_mac_start_tx() local
1498 csring = mac->cs[mac->last_cs]; in pasemi_mac_start_tx()
1501 pasemi_mac_queue_csdesc(skb, map, map_size, txring, csring); in pasemi_mac_start_tx()