Lines Matching refs:mdev

20 	struct otx2_mbox_dev *mdev = &mbox->dev[devid];  in __otx2_mbox_reset()  local
22 void *hw_mbase = mdev->hwbase; in __otx2_mbox_reset()
27 mdev->msg_size = 0; in __otx2_mbox_reset()
28 mdev->rsp_size = 0; in __otx2_mbox_reset()
38 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_reset() local
40 spin_lock(&mdev->mbox_lock); in otx2_mbox_reset()
42 spin_unlock(&mdev->mbox_lock); in otx2_mbox_reset()
133 struct otx2_mbox_dev *mdev; in otx2_mbox_init() local
143 mdev = &mbox->dev[devid]; in otx2_mbox_init()
144 mdev->mbase = mbox->hwbase + (devid * MBOX_SIZE); in otx2_mbox_init()
145 mdev->hwbase = mdev->mbase; in otx2_mbox_init()
146 spin_lock_init(&mdev->mbox_lock); in otx2_mbox_init()
162 struct otx2_mbox_dev *mdev; in otx2_mbox_regions_init() local
172 mdev = &mbox->dev[devid]; in otx2_mbox_regions_init()
173 mdev->mbase = hwbase[devid]; in otx2_mbox_regions_init()
174 mdev->hwbase = hwbase[devid]; in otx2_mbox_regions_init()
175 spin_lock_init(&mdev->mbox_lock); in otx2_mbox_regions_init()
187 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_wait_for_rsp() local
191 if (mdev->num_msgs == mdev->msgs_acked) in otx2_mbox_wait_for_rsp()
202 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_busy_poll_for_rsp() local
206 if (mdev->num_msgs == mdev->msgs_acked) in otx2_mbox_busy_poll_for_rsp()
216 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_msg_send() local
218 void *hw_mbase = mdev->hwbase; in otx2_mbox_msg_send()
226 if (mdev->mbase != hw_mbase) in otx2_mbox_msg_send()
228 mdev->mbase + mbox->tx_start + msgs_offset, in otx2_mbox_msg_send()
229 mdev->msg_size); in otx2_mbox_msg_send()
231 spin_lock(&mdev->mbox_lock); in otx2_mbox_msg_send()
233 tx_hdr->msg_size = mdev->msg_size; in otx2_mbox_msg_send()
236 mdev->msg_size = 0; in otx2_mbox_msg_send()
237 mdev->rsp_size = 0; in otx2_mbox_msg_send()
238 mdev->msgs_acked = 0; in otx2_mbox_msg_send()
247 tx_hdr->num_msgs = mdev->num_msgs; in otx2_mbox_msg_send()
252 spin_unlock(&mdev->mbox_lock); in otx2_mbox_msg_send()
265 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_alloc_msg_rsp() local
268 spin_lock(&mdev->mbox_lock); in otx2_mbox_alloc_msg_rsp()
272 if ((mdev->msg_size + size) > mbox->tx_size - msgs_offset) in otx2_mbox_alloc_msg_rsp()
274 if ((mdev->rsp_size + size_rsp) > mbox->rx_size - msgs_offset) in otx2_mbox_alloc_msg_rsp()
277 if (mdev->msg_size == 0) in otx2_mbox_alloc_msg_rsp()
278 mdev->num_msgs = 0; in otx2_mbox_alloc_msg_rsp()
279 mdev->num_msgs++; in otx2_mbox_alloc_msg_rsp()
281 msghdr = mdev->mbase + mbox->tx_start + msgs_offset + mdev->msg_size; in otx2_mbox_alloc_msg_rsp()
287 mdev->msg_size += size; in otx2_mbox_alloc_msg_rsp()
288 mdev->rsp_size += size_rsp; in otx2_mbox_alloc_msg_rsp()
289 msghdr->next_msgoff = mdev->msg_size + msgs_offset; in otx2_mbox_alloc_msg_rsp()
291 spin_unlock(&mdev->mbox_lock); in otx2_mbox_alloc_msg_rsp()
302 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_get_rsp() local
305 spin_lock(&mdev->mbox_lock); in otx2_mbox_get_rsp()
307 if (mdev->num_msgs != mdev->msgs_acked) in otx2_mbox_get_rsp()
310 for (msgs = 0; msgs < mdev->msgs_acked; msgs++) { in otx2_mbox_get_rsp()
311 struct mbox_msghdr *pmsg = mdev->mbase + imsg; in otx2_mbox_get_rsp()
312 struct mbox_msghdr *prsp = mdev->mbase + irsp; in otx2_mbox_get_rsp()
317 spin_unlock(&mdev->mbox_lock); in otx2_mbox_get_rsp()
326 spin_unlock(&mdev->mbox_lock); in otx2_mbox_get_rsp()
335 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_check_rsp_msgs() local
339 spin_lock(&mdev->mbox_lock); in otx2_mbox_check_rsp_msgs()
341 if (mdev->num_msgs != mdev->msgs_acked) in otx2_mbox_check_rsp_msgs()
344 for (msgs = 0; msgs < mdev->msgs_acked; msgs++) { in otx2_mbox_check_rsp_msgs()
345 struct mbox_msghdr *preq = mdev->mbase + ireq; in otx2_mbox_check_rsp_msgs()
346 struct mbox_msghdr *prsp = mdev->mbase + irsp; in otx2_mbox_check_rsp_msgs()
365 spin_unlock(&mdev->mbox_lock); in otx2_mbox_check_rsp_msgs()
389 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_nonempty() local
392 spin_lock(&mdev->mbox_lock); in otx2_mbox_nonempty()
393 ret = mdev->num_msgs != 0; in otx2_mbox_nonempty()
394 spin_unlock(&mdev->mbox_lock); in otx2_mbox_nonempty()