Lines Matching refs:smem
58 struct qcom_glink_smem *smem; member
66 struct qcom_glink_smem *smem = pipe->smem; in glink_smem_rx_avail() local
73 fifo = qcom_smem_get(smem->remote_pid, in glink_smem_rx_avail()
198 struct qcom_glink_smem *smem = pipe->smem; in glink_smem_tx_kick() local
200 mbox_send_message(smem->mbox_chan, NULL); in glink_smem_tx_kick()
201 mbox_client_txdone(smem->mbox_chan, 0); in glink_smem_tx_kick()
206 struct qcom_glink_smem *smem = data; in qcom_glink_smem_intr() local
208 qcom_glink_native_rx(smem->glink); in qcom_glink_smem_intr()
215 struct qcom_glink_smem *smem = container_of(dev, struct qcom_glink_smem, dev); in qcom_glink_smem_release() local
217 kfree(smem); in qcom_glink_smem_release()
225 struct qcom_glink_smem *smem; in qcom_glink_smem_register() local
233 smem = kzalloc(sizeof(*smem), GFP_KERNEL); in qcom_glink_smem_register()
234 if (!smem) in qcom_glink_smem_register()
237 dev = &smem->dev; in qcom_glink_smem_register()
257 smem->remote_pid = remote_pid; in qcom_glink_smem_register()
307 smem->irq = of_irq_get(smem->dev.of_node, 0); in qcom_glink_smem_register()
308 ret = devm_request_irq(&smem->dev, smem->irq, qcom_glink_smem_intr, in qcom_glink_smem_register()
310 "glink-smem", smem); in qcom_glink_smem_register()
312 dev_err(&smem->dev, "failed to request IRQ\n"); in qcom_glink_smem_register()
316 smem->mbox_client.dev = &smem->dev; in qcom_glink_smem_register()
317 smem->mbox_client.knows_txdone = true; in qcom_glink_smem_register()
318 smem->mbox_chan = mbox_request_channel(&smem->mbox_client, 0); in qcom_glink_smem_register()
319 if (IS_ERR(smem->mbox_chan)) { in qcom_glink_smem_register()
320 ret = dev_err_probe(&smem->dev, PTR_ERR(smem->mbox_chan), in qcom_glink_smem_register()
325 rx_pipe->smem = smem; in qcom_glink_smem_register()
330 tx_pipe->smem = smem; in qcom_glink_smem_register()
347 smem->glink = glink; in qcom_glink_smem_register()
349 enable_irq(smem->irq); in qcom_glink_smem_register()
351 return smem; in qcom_glink_smem_register()
354 mbox_free_channel(smem->mbox_chan); in qcom_glink_smem_register()
363 void qcom_glink_smem_unregister(struct qcom_glink_smem *smem) in qcom_glink_smem_unregister() argument
365 struct qcom_glink *glink = smem->glink; in qcom_glink_smem_unregister()
367 disable_irq(smem->irq); in qcom_glink_smem_unregister()
371 mbox_free_channel(smem->mbox_chan); in qcom_glink_smem_unregister()
372 device_unregister(&smem->dev); in qcom_glink_smem_unregister()