Lines Matching refs:queue

77 static u_long repair_txd_ring(struct s_smc *smc, struct s_smt_tx_queue *queue);
78 static u_long repair_rxd_ring(struct s_smc *smc, struct s_smt_rx_queue *queue);
350 struct s_smt_tx_queue *queue ;
358 queue = smc->hw.fp.tx[QUEUE_A0] ;
364 queue->tx_curr_put = queue->tx_curr_get = ds ;
366 queue->tx_free = HWM_ASYNC_TXD_COUNT ;
367 queue->tx_used = 0 ;
372 queue = smc->hw.fp.tx[QUEUE_S] ;
378 queue->tx_curr_put = queue->tx_curr_get = ds ;
379 queue->tx_free = HWM_SYNC_TXD_COUNT ;
380 queue->tx_used = 0 ;
387 struct s_smt_rx_queue *queue ;
394 queue = smc->hw.fp.rx[QUEUE_R1] ;
400 queue->rx_curr_put = queue->rx_curr_get = ds ;
401 queue->rx_free = SMT_R1_RXD_COUNT ;
402 queue->rx_used = 0 ;
509 * free MBuf queue
578 static u_long repair_txd_ring(struct s_smc *smc, struct s_smt_tx_queue *queue)
588 t = queue->tx_curr_get ;
589 tx_used = queue->tx_used ;
590 for (i = tx_used+queue->tx_free-1 ; i ; i-- ) {
595 t = queue->tx_curr_get ;
630 static u_long repair_rxd_ring(struct s_smc *smc, struct s_smt_rx_queue *queue)
640 r = queue->rx_curr_get ;
641 rx_used = queue->rx_used ;
647 r = queue->rx_curr_get ;
783 if (is & IS_R1_P) { /* Parity error rx queue 1 */
788 if (is & IS_R1_C) { /* Encoding error rx queue 1 */
809 DB_GEN(6, "Fast tx complete queue");
1031 * process receive queue
1039 struct s_smt_rx_queue *queue ; /* points to the queue ctl struct */
1052 queue = smc->hw.fp.rx[QUEUE_R1] ;
1055 r = queue->rx_curr_get ;
1056 rx_used = queue->rx_used ;
1148 rxd = queue->rx_curr_get ;
1149 queue->rx_curr_get = r ;
1150 queue->rx_free += frag_count ;
1151 queue->rx_used = rx_used ;
1353 DB_RX(3, "next RxD is %p", queue->rx_curr_get);
1354 NDD_TRACE("RHx1",queue->rx_curr_get,0,0) ;
1362 DB_RX(3, "next RxD is %p", queue->rx_curr_get);
1363 NDD_TRACE("RHx2",queue->rx_curr_get,0,0) ;
1441 * In this case, the frames in the receive queue are obsolete and
1459 struct s_smt_rx_queue *queue ;
1469 queue = smc->hw.fp.rx[QUEUE_R1] ;
1475 r = queue->rx_curr_get ;
1476 while (queue->rx_used) {
1484 while (r != queue->rx_curr_put &&
1496 for (r=queue->rx_curr_get,i=frag_count; i ; r=r->rxd_next,i--){
1502 queue->rx_curr_get, frag_count);
1503 mac_drv_clear_rxd(smc,queue->rx_curr_get,frag_count) ;
1505 queue->rx_curr_get = next_rxd ;
1506 queue->rx_used -= frag_count ;
1507 queue->rx_free += frag_count ;
1524 * corresponding send queue.
1527 * send queue the frame should be transmitted.
1535 * frame_status status of the frame, the send queue bit is already
1624 struct s_smt_tx_queue *queue ;
1627 queue = smc->os.hwm.tx_p ;
1633 * Set: t = queue->tx_curr_put here !
1635 t = queue->tx_curr_put ;
1651 outpd(queue->tx_bmu_ctl,CSR_START) ;
1661 queue->tx_free-- ;
1662 queue->tx_used++ ;
1663 queue->tx_curr_put = t->txd_next ;
1719 NDD_TRACE("THfE",t,queue->tx_free,0) ;
1808 struct s_smt_tx_queue *queue ;
1844 queue = smc->hw.fp.tx[QUEUE_A0] ;
1855 if (!smc->hw.mac_ring_is_up || frag_count > queue->tx_free) {
1873 t = queue->tx_curr_put ;
1892 outpd(queue->tx_bmu_ctl,CSR_START) ;
1898 queue->tx_curr_put = t = t->txd_next ;
1899 queue->tx_free-- ;
1900 queue->tx_used++ ;
1907 DB_TX(5, "pass Mbuf to LLC queue");
1916 NDD_TRACE("THSE",t,queue->tx_free,frag_count) ;
1935 struct s_smt_tx_queue *queue ;
1946 queue = smc->hw.fp.tx[i] ;
1947 t1 = queue->tx_curr_get ;
1958 if (tbctrl & BMU_OWN || !queue->tx_used){
1959 DB_TX(4, "End of TxDs queue %d", i);
1960 goto free_next_queue ; /* next queue */
1966 t1 = queue->tx_curr_get ;
1987 queue->tx_curr_get);
1988 mac_drv_tx_complete(smc,queue->tx_curr_get) ;
1991 queue->tx_curr_get = t1 ;
1992 queue->tx_free += frag_count ;
1993 queue->tx_used -= frag_count ;
2026 struct s_smt_tx_queue *queue ;
2037 queue = smc->hw.fp.tx[i] ;
2043 t = queue->tx_curr_get ;
2044 tx_used = queue->tx_used ;
2061 queue = smc->hw.fp.tx[i] ;
2062 t = queue->tx_curr_get ;
2076 queue->tx_curr_put = queue->tx_curr_get->txd_next ;
2077 queue->tx_curr_get = queue->tx_curr_put ;