Lines Matching refs:mbox
157 struct mbox { struct
158 struct otx2_mbox mbox; member
348 struct mbox mbox; member
349 struct mbox *mbox_pfvf;
498 static inline int otx2_mbox_bbuf_init(struct mbox *mbox, struct pci_dev *pdev) in otx2_mbox_bbuf_init() argument
503 mbox->bbuf_base = devm_kmalloc(&pdev->dev, MBOX_SIZE, GFP_KERNEL); in otx2_mbox_bbuf_init()
504 if (!mbox->bbuf_base) in otx2_mbox_bbuf_init()
511 otx2_mbox = &mbox->mbox; in otx2_mbox_bbuf_init()
513 mdev->mbase = mbox->bbuf_base; in otx2_mbox_bbuf_init()
515 otx2_mbox = &mbox->mbox_up; in otx2_mbox_bbuf_init()
517 mdev->mbase = mbox->bbuf_base; in otx2_mbox_bbuf_init()
521 static inline void otx2_sync_mbox_bbuf(struct otx2_mbox *mbox, int devid) in otx2_sync_mbox_bbuf() argument
524 void *hw_mbase = mbox->hwbase + (devid * MBOX_SIZE); in otx2_sync_mbox_bbuf()
525 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_sync_mbox_bbuf()
532 hdr = hw_mbase + mbox->rx_start; in otx2_sync_mbox_bbuf()
535 if (msg_size > mbox->rx_size - msgs_offset) in otx2_sync_mbox_bbuf()
536 msg_size = mbox->rx_size - msgs_offset; in otx2_sync_mbox_bbuf()
539 memcpy(mdev->mbase + mbox->rx_start, in otx2_sync_mbox_bbuf()
540 hw_mbase + mbox->rx_start, msg_size + msgs_offset); in otx2_sync_mbox_bbuf()
643 static inline int otx2_sync_mbox_msg(struct mbox *mbox) in otx2_sync_mbox_msg() argument
647 if (!otx2_mbox_nonempty(&mbox->mbox, 0)) in otx2_sync_mbox_msg()
649 otx2_mbox_msg_send(&mbox->mbox, 0); in otx2_sync_mbox_msg()
650 err = otx2_mbox_wait_for_rsp(&mbox->mbox, 0); in otx2_sync_mbox_msg()
654 return otx2_mbox_check_rsp_msgs(&mbox->mbox, 0); in otx2_sync_mbox_msg()
657 static inline int otx2_sync_mbox_up_msg(struct mbox *mbox, int devid) in otx2_sync_mbox_up_msg() argument
661 if (!otx2_mbox_nonempty(&mbox->mbox_up, devid)) in otx2_sync_mbox_up_msg()
663 otx2_mbox_msg_send(&mbox->mbox_up, devid); in otx2_sync_mbox_up_msg()
664 err = otx2_mbox_wait_for_rsp(&mbox->mbox_up, devid); in otx2_sync_mbox_up_msg()
668 return otx2_mbox_check_rsp_msgs(&mbox->mbox_up, devid); in otx2_sync_mbox_up_msg()
674 static inline int otx2_sync_mbox_msg_busy_poll(struct mbox *mbox) in otx2_sync_mbox_msg_busy_poll() argument
678 if (!otx2_mbox_nonempty(&mbox->mbox, 0)) in otx2_sync_mbox_msg_busy_poll()
680 otx2_mbox_msg_send(&mbox->mbox, 0); in otx2_sync_mbox_msg_busy_poll()
681 err = otx2_mbox_busy_poll_for_rsp(&mbox->mbox, 0); in otx2_sync_mbox_msg_busy_poll()
685 return otx2_mbox_check_rsp_msgs(&mbox->mbox, 0); in otx2_sync_mbox_msg_busy_poll()
690 *otx2_mbox_alloc_msg_ ## _fn_name(struct mbox *mbox) \
695 &mbox->mbox, 0, sizeof(struct _req_type), \
701 trace_otx2_msg_alloc(mbox->mbox.pdev, _id, sizeof(*req)); \
770 int otx2_detach_resources(struct mbox *mbox);
786 void otx2_ctx_disable(struct mbox *mbox, int type, bool npa);