Lines Matching full:mbox
44 "Mbox msg with unknown ID %d\n", msg->id); in otx2vf_process_vfaf_mbox_msg()
50 "Mbox msg with wrong signature %x, ID %d\n", in otx2vf_process_vfaf_mbox_msg()
81 "Mbox msg response has err %d, ID %d\n", in otx2vf_process_vfaf_mbox_msg()
91 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_handler() local
92 struct mbox *af_mbox; in otx2vf_vfaf_mbox_handler()
96 af_mbox = container_of(work, struct mbox, mbox_wrk); in otx2vf_vfaf_mbox_handler()
97 mbox = &af_mbox->mbox; in otx2vf_vfaf_mbox_handler()
98 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_handler()
99 rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_handler()
105 offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN); in otx2vf_vfaf_mbox_handler()
110 offset = mbox->rx_start + msg->next_msgoff; in otx2vf_vfaf_mbox_handler()
112 __otx2_mbox_reset(mbox, 0); in otx2vf_vfaf_mbox_handler()
125 otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id); in otx2vf_process_mbox_msg_up()
132 &vf->mbox.mbox_up, 0, in otx2vf_process_mbox_msg_up()
145 otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id); in otx2vf_process_mbox_msg_up()
156 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_up_handler() local
157 struct mbox *vf_mbox; in otx2vf_vfaf_mbox_up_handler()
162 vf_mbox = container_of(work, struct mbox, mbox_up_wrk); in otx2vf_vfaf_mbox_up_handler()
164 mbox = &vf_mbox->mbox_up; in otx2vf_vfaf_mbox_up_handler()
165 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_up_handler()
167 rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_up_handler()
173 offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN); in otx2vf_vfaf_mbox_up_handler()
178 offset = mbox->rx_start + msg->next_msgoff; in otx2vf_vfaf_mbox_up_handler()
181 otx2_mbox_msg_send(mbox, 0); in otx2vf_vfaf_mbox_up_handler()
188 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_intr_handler() local
197 /* Read latest mbox data */ in otx2vf_vfaf_mbox_intr_handler()
205 mbox = &vf->mbox.mbox; in otx2vf_vfaf_mbox_intr_handler()
206 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_intr_handler()
207 otx2_sync_mbox_bbuf(mbox, 0); in otx2vf_vfaf_mbox_intr_handler()
209 hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_intr_handler()
211 queue_work(vf->mbox_wq, &vf->mbox.mbox_wrk); in otx2vf_vfaf_mbox_intr_handler()
213 trace_otx2_msg_interrupt(mbox->pdev, "DOWN reply from PF to VF", in otx2vf_vfaf_mbox_intr_handler()
222 mbox = &vf->mbox.mbox_up; in otx2vf_vfaf_mbox_intr_handler()
223 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_intr_handler()
224 otx2_sync_mbox_bbuf(mbox, 0); in otx2vf_vfaf_mbox_intr_handler()
226 hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_intr_handler()
228 queue_work(vf->mbox_wq, &vf->mbox.mbox_up_wrk); in otx2vf_vfaf_mbox_intr_handler()
230 trace_otx2_msg_interrupt(mbox->pdev, "UP message from PF to VF", in otx2vf_vfaf_mbox_intr_handler()
255 snprintf(irq_name, NAME_SIZE, "RVUVFAF Mbox"); in otx2vf_register_mbox_intr()
260 "RVUPF: IRQ registration failed for VFAF mbox irq\n"); in otx2vf_register_mbox_intr()
274 req = otx2_mbox_alloc_msg_ready(&vf->mbox); in otx2vf_register_mbox_intr()
280 err = otx2_sync_mbox_msg(&vf->mbox); in otx2vf_register_mbox_intr()
292 struct mbox *mbox = &vf->mbox; in otx2vf_vfaf_mbox_destroy() local
299 if (mbox->mbox.hwbase && !test_bit(CN10K_MBOX, &vf->hw.cap_flag)) in otx2vf_vfaf_mbox_destroy()
300 iounmap((void __iomem *)mbox->mbox.hwbase); in otx2vf_vfaf_mbox_destroy()
302 otx2_mbox_destroy(&mbox->mbox); in otx2vf_vfaf_mbox_destroy()
303 otx2_mbox_destroy(&mbox->mbox_up); in otx2vf_vfaf_mbox_destroy()
308 struct mbox *mbox = &vf->mbox; in otx2vf_vfaf_mbox_init() local
312 mbox->pfvf = vf; in otx2vf_vfaf_mbox_init()
339 err = otx2_mbox_init(&mbox->mbox, hwbase, vf->pdev, vf->reg_base, in otx2vf_vfaf_mbox_init()
344 err = otx2_mbox_init(&mbox->mbox_up, hwbase, vf->pdev, vf->reg_base, in otx2vf_vfaf_mbox_init()
349 err = otx2_mbox_bbuf_init(mbox, vf->pdev); in otx2vf_vfaf_mbox_init()
353 INIT_WORK(&mbox->mbox_wrk, otx2vf_vfaf_mbox_handler); in otx2vf_vfaf_mbox_init()
354 INIT_WORK(&mbox->mbox_up_wrk, otx2vf_vfaf_mbox_up_handler); in otx2vf_vfaf_mbox_init()
355 mutex_init(&mbox->lock); in otx2vf_vfaf_mbox_init()
429 mutex_lock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
431 req = otx2_mbox_alloc_msg_nix_set_rx_mode(&vf->mbox); in otx2vf_do_set_rx_mode()
433 mutex_unlock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
446 otx2_sync_mbox_msg(&vf->mbox); in otx2vf_do_set_rx_mode()
448 mutex_unlock(&vf->mbox.lock); in otx2vf_do_set_rx_mode()
746 otx2_detach_resources(&vf->mbox); in otx2vf_probe()
797 otx2_detach_resources(&vf->mbox); in otx2vf_remove()