Lines Matching full:mw

33 static int rvu_mbox_init(struct rvu *rvu, struct mbox_wq_info *mw,
2196 struct mbox_wq_info *mw; in __rvu_mbox_handler() local
2201 mw = &rvu->afpf_wq_info; in __rvu_mbox_handler()
2204 mw = &rvu->afvf_wq_info; in __rvu_mbox_handler()
2210 devid = mwork - mw->mbox_wrk; in __rvu_mbox_handler()
2211 mbox = &mw->mbox; in __rvu_mbox_handler()
2216 if (mw->mbox_wrk[devid].num_msgs == 0) in __rvu_mbox_handler()
2221 for (id = 0; id < mw->mbox_wrk[devid].num_msgs; id++) { in __rvu_mbox_handler()
2254 mw->mbox_wrk[devid].num_msgs = 0; in __rvu_mbox_handler()
2286 struct mbox_wq_info *mw; in __rvu_mbox_up_handler() local
2292 mw = &rvu->afpf_wq_info; in __rvu_mbox_up_handler()
2295 mw = &rvu->afvf_wq_info; in __rvu_mbox_up_handler()
2301 devid = mwork - mw->mbox_wrk_up; in __rvu_mbox_up_handler()
2302 mbox = &mw->mbox_up; in __rvu_mbox_up_handler()
2306 if (mw->mbox_wrk_up[devid].up_num_msgs == 0) { in __rvu_mbox_up_handler()
2313 for (id = 0; id < mw->mbox_wrk_up[devid].up_num_msgs; id++) { in __rvu_mbox_up_handler()
2343 mw->mbox_wrk_up[devid].up_num_msgs = 0; in __rvu_mbox_up_handler()
2422 static int rvu_mbox_init(struct rvu *rvu, struct mbox_wq_info *mw, in rvu_mbox_init() argument
2483 mw->mbox_wq = alloc_workqueue("%s", in rvu_mbox_init()
2486 if (!mw->mbox_wq) { in rvu_mbox_init()
2491 mw->mbox_wrk = devm_kcalloc(rvu->dev, num, in rvu_mbox_init()
2493 if (!mw->mbox_wrk) { in rvu_mbox_init()
2498 mw->mbox_wrk_up = devm_kcalloc(rvu->dev, num, in rvu_mbox_init()
2500 if (!mw->mbox_wrk_up) { in rvu_mbox_init()
2505 err = otx2_mbox_regions_init(&mw->mbox, mbox_regions, rvu->pdev, in rvu_mbox_init()
2510 err = otx2_mbox_regions_init(&mw->mbox_up, mbox_regions, rvu->pdev, in rvu_mbox_init()
2519 mwork = &mw->mbox_wrk[i]; in rvu_mbox_init()
2523 mwork = &mw->mbox_wrk_up[i]; in rvu_mbox_init()
2530 destroy_workqueue(mw->mbox_wq); in rvu_mbox_init()
2541 static void rvu_mbox_destroy(struct mbox_wq_info *mw) in rvu_mbox_destroy() argument
2543 struct otx2_mbox *mbox = &mw->mbox; in rvu_mbox_destroy()
2547 if (mw->mbox_wq) { in rvu_mbox_destroy()
2548 destroy_workqueue(mw->mbox_wq); in rvu_mbox_destroy()
2549 mw->mbox_wq = NULL; in rvu_mbox_destroy()
2558 otx2_mbox_destroy(&mw->mbox); in rvu_mbox_destroy()
2559 otx2_mbox_destroy(&mw->mbox_up); in rvu_mbox_destroy()
2562 static void rvu_queue_work(struct mbox_wq_info *mw, int first, in rvu_queue_work() argument
2575 mbox = &mw->mbox; in rvu_queue_work()
2588 mw->mbox_wrk[i].num_msgs = hdr->num_msgs; in rvu_queue_work()
2590 queue_work(mw->mbox_wq, &mw->mbox_wrk[i].work); in rvu_queue_work()
2592 mbox = &mw->mbox_up; in rvu_queue_work()
2596 mw->mbox_wrk_up[i].up_num_msgs = hdr->num_msgs; in rvu_queue_work()
2598 queue_work(mw->mbox_wq, &mw->mbox_wrk_up[i].work); in rvu_queue_work()