Lines Matching refs:pidx
207 int pidx; member
226 int pidx; member
232 int pidx; member
238 int pidx; member
243 int pidx; member
435 ntb_peer_port_number(tc->ntb, peer->pidx)); in tool_peer_port_read()
446 int pidx; in tool_init_peers() local
454 for (pidx = 0; pidx < tc->peer_cnt; pidx++) { in tool_init_peers()
455 tc->peers[pidx].pidx = pidx; in tool_init_peers()
456 tc->peers[pidx].tc = tc; in tool_init_peers()
500 if (ntb_link_is_up(tc->ntb, NULL, NULL) & BIT(peer->pidx)) in tool_peer_link_read()
528 link_msk = BIT_ULL_MASK(peer->pidx); in tool_peer_link_event_write()
574 static int tool_setup_mw(struct tool_ctx *tc, int pidx, int widx, in tool_setup_mw() argument
578 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_setup_mw()
585 ret = ntb_mw_get_align(tc->ntb, pidx, widx, &addr_align, in tool_setup_mw()
603 ret = ntb_mw_set_trans(tc->ntb, pidx, widx, inmw->dma_base, inmw->size); in tool_setup_mw()
609 tc->peers[pidx].dbgfs_dir, inmw, in tool_setup_mw()
624 static void tool_free_mw(struct tool_ctx *tc, int pidx, int widx) in tool_free_mw() argument
626 struct tool_mw *inmw = &tc->peers[pidx].inmws[widx]; in tool_free_mw()
631 ntb_mw_clear_trans(tc->ntb, pidx, widx); in tool_free_mw()
659 ret = ntb_mw_get_align(inmw->tc->ntb, inmw->pidx, inmw->widx, in tool_mw_trans_read()
670 ntb_peer_port_number(inmw->tc->ntb, inmw->pidx), in tool_mw_trans_read()
671 inmw->pidx); in tool_mw_trans_read()
715 tool_free_mw(inmw->tc, inmw->pidx, inmw->widx); in tool_mw_trans_write()
717 ret = tool_setup_mw(inmw->tc, inmw->pidx, inmw->widx, val); in tool_mw_trans_write()
809 static int tool_setup_peer_mw(struct tool_ctx *tc, int pidx, int widx, in tool_setup_peer_mw() argument
825 ret = ntb_peer_mw_set_trans(tc->ntb, pidx, widx, req_addr, req_size); in tool_setup_peer_mw()
837 outmw->pidx = pidx; in tool_setup_peer_mw()
841 tc->peers[pidx].dbgfs_dir, outmw, in tool_setup_peer_mw()
847 ntb_peer_mw_clear_trans(tc->ntb, pidx, widx); in tool_setup_peer_mw()
860 ntb_peer_mw_clear_trans(tc->ntb, outmw->pidx, widx); in tool_free_peer_mw()
866 outmw->pidx = -1; in tool_free_peer_mw()
899 ntb_peer_port_number(outmw->tc->ntb, outmw->pidx), in tool_peer_mw_trans_read()
900 outmw->pidx); in tool_peer_mw_trans_read()
950 ret = tool_setup_peer_mw(outmw->tc, outmw_wrap->pidx, in tool_peer_mw_trans_write()
965 int widx, pidx; in tool_init_mws() local
976 tc->outmws[widx].pidx = -1; in tool_init_mws()
981 for (pidx = 0; pidx < tc->peer_cnt; pidx++) { in tool_init_mws()
982 tc->peers[pidx].inmw_cnt = ntb_mw_count(tc->ntb, pidx); in tool_init_mws()
983 tc->peers[pidx].inmws = in tool_init_mws()
984 devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].inmw_cnt, in tool_init_mws()
985 sizeof(*tc->peers[pidx].inmws), GFP_KERNEL); in tool_init_mws()
986 if (tc->peers[pidx].inmws == NULL) in tool_init_mws()
989 for (widx = 0; widx < tc->peers[pidx].inmw_cnt; widx++) { in tool_init_mws()
990 tc->peers[pidx].inmws[widx].widx = widx; in tool_init_mws()
991 tc->peers[pidx].inmws[widx].pidx = pidx; in tool_init_mws()
992 tc->peers[pidx].inmws[widx].tc = tc; in tool_init_mws()
995 tc->peers[pidx].outmw_cnt = ntb_peer_mw_count(tc->ntb); in tool_init_mws()
996 tc->peers[pidx].outmws = in tool_init_mws()
997 devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt, in tool_init_mws()
998 sizeof(*tc->peers[pidx].outmws), GFP_KERNEL); in tool_init_mws()
1000 for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) { in tool_init_mws()
1001 tc->peers[pidx].outmws[widx].pidx = pidx; in tool_init_mws()
1002 tc->peers[pidx].outmws[widx].mw = &tc->outmws[widx]; in tool_init_mws()
1011 int widx, pidx; in tool_clear_mws() local
1018 for (pidx = 0; pidx < tc->peer_cnt; pidx++) in tool_clear_mws()
1019 for (widx = 0; widx < tc->peers[pidx].inmw_cnt; widx++) in tool_clear_mws()
1020 tool_free_mw(tc, pidx, widx); in tool_clear_mws()
1206 ntb_peer_spad_read(spad->tc->ntb, spad->pidx, spad->sidx)); in tool_peer_spad_read()
1227 ret = ntb_peer_spad_write(spad->tc->ntb, spad->pidx, spad->sidx, val); in tool_peer_spad_write()
1238 int sidx, pidx; in tool_init_spads() local
1249 tc->inspads[sidx].pidx = -1; in tool_init_spads()
1254 for (pidx = 0; pidx < tc->peer_cnt; pidx++) { in tool_init_spads()
1255 tc->peers[pidx].outspad_cnt = ntb_spad_count(tc->ntb); in tool_init_spads()
1256 tc->peers[pidx].outspads = in tool_init_spads()
1257 devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outspad_cnt, in tool_init_spads()
1258 sizeof(*tc->peers[pidx].outspads), GFP_KERNEL); in tool_init_spads()
1259 if (tc->peers[pidx].outspads == NULL) in tool_init_spads()
1262 for (sidx = 0; sidx < tc->peers[pidx].outspad_cnt; sidx++) { in tool_init_spads()
1263 tc->peers[pidx].outspads[sidx].sidx = sidx; in tool_init_spads()
1264 tc->peers[pidx].outspads[sidx].pidx = pidx; in tool_init_spads()
1265 tc->peers[pidx].outspads[sidx].tc = tc; in tool_init_spads()
1284 int pidx; in tool_inmsg_read() local
1286 data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx); in tool_inmsg_read()
1288 pos = scnprintf(buf, sizeof(buf), "0x%08x<-%d\n", data, pidx); in tool_inmsg_read()
1309 ret = ntb_peer_msg_write(msg->tc->ntb, msg->pidx, msg->midx, val); in tool_outmsg_write()
1402 int midx, pidx; in tool_init_msgs() local
1413 tc->inmsgs[midx].pidx = -1; in tool_init_msgs()
1418 for (pidx = 0; pidx < tc->peer_cnt; pidx++) { in tool_init_msgs()
1419 tc->peers[pidx].outmsg_cnt = ntb_msg_count(tc->ntb); in tool_init_msgs()
1420 tc->peers[pidx].outmsgs = in tool_init_msgs()
1421 devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmsg_cnt, in tool_init_msgs()
1422 sizeof(*tc->peers[pidx].outmsgs), GFP_KERNEL); in tool_init_msgs()
1423 if (tc->peers[pidx].outmsgs == NULL) in tool_init_msgs()
1426 for (midx = 0; midx < tc->peers[pidx].outmsg_cnt; midx++) { in tool_init_msgs()
1427 tc->peers[pidx].outmsgs[midx].midx = midx; in tool_init_msgs()
1428 tc->peers[pidx].outmsgs[midx].pidx = pidx; in tool_init_msgs()
1429 tc->peers[pidx].outmsgs[midx].tc = tc; in tool_init_msgs()
1483 int pidx, widx, sidx, midx; in tool_setup_dbgfs() local
1553 for (pidx = 0; pidx < tc->peer_cnt; pidx++) { in tool_setup_dbgfs()
1554 snprintf(buf, sizeof(buf), "peer%d", pidx); in tool_setup_dbgfs()
1555 tc->peers[pidx].dbgfs_dir = in tool_setup_dbgfs()
1559 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1560 &tc->peers[pidx], &tool_peer_port_fops); in tool_setup_dbgfs()
1563 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1564 &tc->peers[pidx], &tool_peer_link_fops); in tool_setup_dbgfs()
1567 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1568 &tc->peers[pidx], &tool_peer_link_event_fops); in tool_setup_dbgfs()
1570 for (widx = 0; widx < tc->peers[pidx].inmw_cnt; widx++) { in tool_setup_dbgfs()
1573 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1574 &tc->peers[pidx].inmws[widx], in tool_setup_dbgfs()
1578 for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) { in tool_setup_dbgfs()
1581 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1582 &tc->peers[pidx].outmws[widx], in tool_setup_dbgfs()
1586 for (sidx = 0; sidx < tc->peers[pidx].outspad_cnt; sidx++) { in tool_setup_dbgfs()
1590 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1591 &tc->peers[pidx].outspads[sidx], in tool_setup_dbgfs()
1595 for (midx = 0; midx < tc->peers[pidx].outmsg_cnt; midx++) { in tool_setup_dbgfs()
1598 tc->peers[pidx].dbgfs_dir, in tool_setup_dbgfs()
1599 &tc->peers[pidx].outmsgs[midx], in tool_setup_dbgfs()