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