Lines Matching full:mbox
18 struct mbox_controller mbox; member
30 static inline struct mtk_adsp_mbox_priv *get_mtk_adsp_mbox_priv(struct mbox_controller *mbox) in get_mtk_adsp_mbox_priv() argument
32 return container_of(mbox, struct mtk_adsp_mbox_priv, mbox); in get_mtk_adsp_mbox_priv()
38 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_irq()
55 static struct mbox_chan *mtk_adsp_mbox_xlate(struct mbox_controller *mbox, in mtk_adsp_mbox_xlate() argument
58 return mbox->chans; in mtk_adsp_mbox_xlate()
63 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_startup()
65 /* Clear ADSP mbox command */ in mtk_adsp_mbox_startup()
74 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_shutdown()
76 /* Clear ADSP mbox command */ in mtk_adsp_mbox_shutdown()
83 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_send_data()
93 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_last_tx_done()
110 struct mbox_controller *mbox; in mtk_adsp_mbox_probe() local
117 mbox = &priv->mbox; in mtk_adsp_mbox_probe()
118 mbox->dev = dev; in mtk_adsp_mbox_probe()
119 mbox->ops = &mtk_adsp_mbox_chan_ops; in mtk_adsp_mbox_probe()
120 mbox->txdone_irq = false; in mtk_adsp_mbox_probe()
121 mbox->txdone_poll = true; in mtk_adsp_mbox_probe()
122 mbox->of_xlate = mtk_adsp_mbox_xlate; in mtk_adsp_mbox_probe()
123 mbox->num_chans = 1; in mtk_adsp_mbox_probe()
124 mbox->chans = devm_kzalloc(dev, sizeof(*mbox->chans), GFP_KERNEL); in mtk_adsp_mbox_probe()
125 if (!mbox->chans) in mtk_adsp_mbox_probe()
143 dev_name(dev), mbox->chans); in mtk_adsp_mbox_probe()
149 return devm_mbox_controller_register(dev, &priv->mbox); in mtk_adsp_mbox_probe()
167 { .compatible = "mediatek,mt8186-adsp-mbox", .data = &mt8186_adsp_mbox_cfg },
168 { .compatible = "mediatek,mt8195-adsp-mbox", .data = &mt8195_adsp_mbox_cfg },