Lines Matching refs:sq
1325 mlxcx_work_queue_t *sq; in mlxcx_tx_group_setup() local
1372 sq = &g->mlg_wqs[i]; in mlxcx_tx_group_setup()
1373 if (!mlxcx_sq_setup(mlxp, g->mlg_port, cq, &g->mlg_tis, sq)) { in mlxcx_tx_group_setup()
1377 sq->mlwq_group = g; in mlxcx_tx_group_setup()
1387 mlxcx_work_queue_t *sq) in mlxcx_tx_ring_start() argument
1395 cq = sq->mlwq_cq; in mlxcx_tx_ring_start()
1399 mutex_enter(&sq->mlwq_mtx); in mlxcx_tx_ring_start()
1400 if (sq->mlwq_state & MLXCX_WQ_STARTED) { in mlxcx_tx_ring_start()
1401 mutex_exit(&sq->mlwq_mtx); in mlxcx_tx_ring_start()
1407 ASSERT0(sq->mlwq_state & MLXCX_WQ_BUFFERS); in mlxcx_tx_ring_start()
1408 for (i = 0; i < sq->mlwq_nents; ++i) { in mlxcx_tx_ring_start()
1409 if (!mlxcx_buf_create_foreign(mlxp, sq->mlwq_foreign_bufs, &b)) in mlxcx_tx_ring_start()
1413 for (i = 0; i < sq->mlwq_nents / 2; ++i) { in mlxcx_tx_ring_start()
1414 if (!mlxcx_buf_create_foreign(mlxp, sq->mlwq_foreign_bufs, &b)) in mlxcx_tx_ring_start()
1418 for (i = 0; i < sq->mlwq_nents; ++i) { in mlxcx_tx_ring_start()
1419 if (!mlxcx_buf_create(mlxp, sq->mlwq_bufs, &b)) in mlxcx_tx_ring_start()
1423 sq->mlwq_state |= MLXCX_WQ_BUFFERS; in mlxcx_tx_ring_start()
1425 mlxcx_shard_ready(sq->mlwq_bufs); in mlxcx_tx_ring_start()
1426 mlxcx_shard_ready(sq->mlwq_foreign_bufs); in mlxcx_tx_ring_start()
1428 if (!mlxcx_cmd_start_sq(mlxp, sq)) { in mlxcx_tx_ring_start()
1429 mutex_exit(&sq->mlwq_mtx); in mlxcx_tx_ring_start()
1436 (void) mlxcx_sq_add_nop(mlxp, sq); in mlxcx_tx_ring_start()
1438 mutex_exit(&sq->mlwq_mtx); in mlxcx_tx_ring_start()