• Home
  • Raw
  • Download

Lines Matching full:mb

114 static void dump_mb(struct cx18 *cx, struct cx18_mailbox *mb, char *name)  in dump_mb()  argument
122 name, mb->request, mb->ack, mb->cmd, mb->error, in dump_mb()
123 u32arr2hex(mb->args, MAX_MB_ARGUMENTS, argstr)); in dump_mb()
242 struct cx18_mailbox *mb; in epu_dma_done() local
248 mb = &order->mb; in epu_dma_done()
249 handle = mb->args[0]; in epu_dma_done()
256 "stale" : "good", mb->request); in epu_dma_done()
260 mdl_ack_count = mb->args[2]; in epu_dma_done()
289 mb->request); in epu_dma_done()
337 CX18_DEBUG_INFO("%x %s\n", order->mb.args[0], str); in epu_debug()
348 switch (order->mb.cmd) { in epu_cmd()
357 order->mb.cmd); in epu_cmd()
364 order->mb.cmd); in epu_cmd()
407 order->rpu, order->mb.cmd); in mb_ack_irq()
411 req = order->mb.request; in mb_ack_irq()
428 struct cx18_mailbox *mb; in epu_dma_done_irq() local
431 mb = &order->mb; in epu_dma_done_irq()
432 handle = mb->args[0]; in epu_dma_done_irq()
433 mdl_ack_offset = mb->args[1]; in epu_dma_done_irq()
434 mdl_ack_count = mb->args[2]; in epu_dma_done_irq()
459 str_offset = order->mb.args[1]; in epu_debug_irq()
481 switch (order->mb.cmd) { in epu_cmd_irq()
490 order->mb.cmd); in epu_cmd_irq()
497 order->mb.cmd); in epu_cmd_irq()
531 struct cx18_mailbox __iomem *mb; in cx18_api_epu_cmd_irq() local
539 mb = &cx->scb->cpu2epu_mb; in cx18_api_epu_cmd_irq()
542 mb = &cx->scb->apu2epu_mb; in cx18_api_epu_cmd_irq()
556 order_mb = &order->mb; in cx18_api_epu_cmd_irq()
558 /* mb->cmd and mb->args[0] through mb->args[2] */ in cx18_api_epu_cmd_irq()
560 (&order_mb->cmd)[i] = cx18_readl(cx, &mb->cmd + i); in cx18_api_epu_cmd_irq()
562 /* mb->request and mb->ack. N.B. we want to read mb->ack last */ in cx18_api_epu_cmd_irq()
564 (&order_mb->request)[i] = cx18_readl(cx, &mb->request + i); in cx18_api_epu_cmd_irq()
593 struct cx18_mailbox __iomem *mb; in cx18_api_call() local
623 mb = &cx->scb->epu2apu_mb; in cx18_api_call()
629 mb = &cx->scb->epu2cpu_mb; in cx18_api_call()
647 req = cx18_readl(cx, &mb->request); in cx18_api_call()
650 (ack = cx18_readl(cx, &mb->ack)) == req, in cx18_api_call()
654 cx18_writel(cx, req, &mb->ack); in cx18_api_call()
664 cx18_writel(cx, cmd, &mb->cmd); in cx18_api_call()
666 cx18_writel(cx, data[i], &mb->args[i]); in cx18_api_call()
667 cx18_writel(cx, 0, &mb->error); in cx18_api_call()
668 cx18_writel(cx, req, &mb->request); in cx18_api_call()
669 cx18_writel(cx, req - 1, &mb->ack); /* ensure ack & req are distinct */ in cx18_api_call()
684 ack = cx18_readl(cx, &mb->ack); in cx18_api_call()
688 ack = cx18_readl(cx, &mb->ack); in cx18_api_call()
719 data[i] = cx18_readl(cx, &mb->args[i]); in cx18_api_call()
720 err = cx18_readl(cx, &mb->error); in cx18_api_call()