Lines Matching refs:mailbox

5 #include "aml-mailbox.h"
6 #include "aml-mailbox-hw.h"
15 readl((uint32_t*)mailbox->mmio_mailbox_payload.vaddr + (offset))
17 writel(value, (uint32_t*)mailbox->mmio_mailbox_payload.vaddr + (offset))
19 readl((uint32_t*)mailbox->mmio_mailbox.vaddr + (offset))
21 writel(value, (uint32_t*)mailbox->mmio_mailbox.vaddr + (offset))
39 aml_mailbox_t* mailbox = ctx;
46 aml_get_rx_mailbox(channel->mailbox))) {
50 mtx_lock(&mailbox->mailbox_chan_lock[channel->mailbox]);
52 aml_mailbox_block_t* tx_mailbox = &vim2_mailbox_block[channel->mailbox];
66 zx_status_t status = zx_interrupt_wait(mailbox->inth[rx_mailbox_id], NULL);
69 mtx_unlock(&mailbox->mailbox_chan_lock[channel->mailbox]);
85 mtx_unlock(&mailbox->mailbox_chan_lock[channel->mailbox]);
90 aml_mailbox_t* mailbox = ctx;
91 mmio_buffer_release(&mailbox->mmio_mailbox);
92 mmio_buffer_release(&mailbox->mmio_mailbox_payload);
94 zx_interrupt_destroy(mailbox->inth[i]);
95 zx_handle_close(mailbox->inth[i]);
97 free(mailbox);
112 aml_mailbox_t* mailbox = calloc(1, sizeof(aml_mailbox_t));
113 if (!mailbox) {
117 status = device_get_protocol(parent, ZX_PROTOCOL_PLATFORM_DEV, &mailbox->pdev);
124 status = pdev_get_device_info(&mailbox->pdev, &info);
131 status = pdev_map_mmio_buffer2(&mailbox->pdev, MMIO_MAILBOX,
133 &mailbox->mmio_mailbox);
135 MAILBOX_ERROR("Could not map mailbox MMIO_MAILBOX %d\n", status);
139 status = pdev_map_mmio_buffer2(&mailbox->pdev, MMIO_MAILBOX_PAYLOAD,
141 &mailbox->mmio_mailbox_payload);
143 MAILBOX_ERROR("Could not map mailbox MMIO_MAILBOX_PAYLOAD %d\n", status);
148 status = pdev_map_interrupt(&mailbox->pdev, i,
149 &mailbox->inth[i]);
155 mtx_init(&mailbox->mailbox_chan_lock[i], mtx_plain);
166 .name = "aml-mailbox",
167 .ctx = mailbox,
175 status = pdev_device_add(&mailbox->pdev, 0, &args, NULL);
182 aml_mailbox_release(mailbox);