Lines Matching refs:mbox

89 	struct otx2_mbox *mbox;  in otx2vf_vfaf_mbox_handler()  local
90 struct mbox *af_mbox; in otx2vf_vfaf_mbox_handler()
94 af_mbox = container_of(work, struct mbox, mbox_wrk); in otx2vf_vfaf_mbox_handler()
95 mbox = &af_mbox->mbox; in otx2vf_vfaf_mbox_handler()
96 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_handler()
97 rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_handler()
103 offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN); in otx2vf_vfaf_mbox_handler()
108 offset = mbox->rx_start + msg->next_msgoff; in otx2vf_vfaf_mbox_handler()
110 __otx2_mbox_reset(mbox, 0); in otx2vf_vfaf_mbox_handler()
123 otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id); in otx2vf_process_mbox_msg_up()
130 &vf->mbox.mbox_up, 0, in otx2vf_process_mbox_msg_up()
143 otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id); in otx2vf_process_mbox_msg_up()
154 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_up_handler() local
155 struct mbox *vf_mbox; in otx2vf_vfaf_mbox_up_handler()
160 vf_mbox = container_of(work, struct mbox, mbox_up_wrk); in otx2vf_vfaf_mbox_up_handler()
162 mbox = &vf_mbox->mbox_up; in otx2vf_vfaf_mbox_up_handler()
163 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_up_handler()
165 rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_up_handler()
171 offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN); in otx2vf_vfaf_mbox_up_handler()
176 offset = mbox->rx_start + msg->next_msgoff; in otx2vf_vfaf_mbox_up_handler()
179 otx2_mbox_msg_send(mbox, 0); in otx2vf_vfaf_mbox_up_handler()
186 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_intr_handler() local
203 mbox = &vf->mbox.mbox; in otx2vf_vfaf_mbox_intr_handler()
204 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_intr_handler()
205 otx2_sync_mbox_bbuf(mbox, 0); in otx2vf_vfaf_mbox_intr_handler()
207 hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_intr_handler()
209 queue_work(vf->mbox_wq, &vf->mbox.mbox_wrk); in otx2vf_vfaf_mbox_intr_handler()
211 trace_otx2_msg_interrupt(mbox->pdev, "DOWN reply from PF to VF", in otx2vf_vfaf_mbox_intr_handler()
220 mbox = &vf->mbox.mbox_up; in otx2vf_vfaf_mbox_intr_handler()
221 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_intr_handler()
222 otx2_sync_mbox_bbuf(mbox, 0); in otx2vf_vfaf_mbox_intr_handler()
224 hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_intr_handler()
226 queue_work(vf->mbox_wq, &vf->mbox.mbox_up_wrk); in otx2vf_vfaf_mbox_intr_handler()
228 trace_otx2_msg_interrupt(mbox->pdev, "UP message from PF to VF", in otx2vf_vfaf_mbox_intr_handler()
272 req = otx2_mbox_alloc_msg_ready(&vf->mbox); in otx2vf_register_mbox_intr()
278 err = otx2_sync_mbox_msg(&vf->mbox); in otx2vf_register_mbox_intr()
290 struct mbox *mbox = &vf->mbox; in otx2vf_vfaf_mbox_destroy() local
297 if (mbox->mbox.hwbase && !test_bit(CN10K_MBOX, &vf->hw.cap_flag)) in otx2vf_vfaf_mbox_destroy()
298 iounmap((void __iomem *)mbox->mbox.hwbase); in otx2vf_vfaf_mbox_destroy()
300 otx2_mbox_destroy(&mbox->mbox); in otx2vf_vfaf_mbox_destroy()
301 otx2_mbox_destroy(&mbox->mbox_up); in otx2vf_vfaf_mbox_destroy()
306 struct mbox *mbox = &vf->mbox; in otx2vf_vfaf_mbox_init() local
310 mbox->pfvf = vf; in otx2vf_vfaf_mbox_init()
337 err = otx2_mbox_init(&mbox->mbox, hwbase, vf->pdev, vf->reg_base, in otx2vf_vfaf_mbox_init()
342 err = otx2_mbox_init(&mbox->mbox_up, hwbase, vf->pdev, vf->reg_base, in otx2vf_vfaf_mbox_init()
347 err = otx2_mbox_bbuf_init(mbox, vf->pdev); in otx2vf_vfaf_mbox_init()
351 INIT_WORK(&mbox->mbox_wrk, otx2vf_vfaf_mbox_handler); in otx2vf_vfaf_mbox_init()
352 INIT_WORK(&mbox->mbox_up_wrk, otx2vf_vfaf_mbox_up_handler); in otx2vf_vfaf_mbox_init()
353 mutex_init(&mbox->lock); in otx2vf_vfaf_mbox_init()
427 mutex_lock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
429 req = otx2_mbox_alloc_msg_nix_set_rx_mode(&vf->mbox); in otx2vf_do_set_rx_mode()
431 mutex_unlock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
444 otx2_sync_mbox_msg(&vf->mbox); in otx2vf_do_set_rx_mode()
446 mutex_unlock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
728 otx2_detach_resources(&vf->mbox); in otx2vf_probe()
778 otx2_detach_resources(&vf->mbox); in otx2vf_remove()