Lines Matching refs:rpm
198 struct glink_rpm *rpm = container_of(pipe, struct glink_rpm, tx_pipe); in glink_rpm_tx_kick() local
200 mbox_send_message(rpm->mbox_chan, NULL); in glink_rpm_tx_kick()
201 mbox_client_txdone(rpm->mbox_chan, 0); in glink_rpm_tx_kick()
206 struct glink_rpm *rpm = data; in qcom_glink_rpm_intr() local
208 qcom_glink_native_rx(rpm->glink); in qcom_glink_rpm_intr()
291 struct glink_rpm *rpm; in glink_rpm_probe() local
299 rpm = devm_kzalloc(&pdev->dev, sizeof(*rpm), GFP_KERNEL); in glink_rpm_probe()
300 if (!rpm) in glink_rpm_probe()
315 &rpm->rx_pipe, &rpm->tx_pipe); in glink_rpm_probe()
319 rpm->irq = of_irq_get(dev->of_node, 0); in glink_rpm_probe()
320 ret = devm_request_irq(dev, rpm->irq, qcom_glink_rpm_intr, in glink_rpm_probe()
322 "glink-rpm", rpm); in glink_rpm_probe()
328 rpm->mbox_client.dev = dev; in glink_rpm_probe()
329 rpm->mbox_client.knows_txdone = true; in glink_rpm_probe()
330 rpm->mbox_chan = mbox_request_channel(&rpm->mbox_client, 0); in glink_rpm_probe()
331 if (IS_ERR(rpm->mbox_chan)) in glink_rpm_probe()
332 return dev_err_probe(dev, PTR_ERR(rpm->mbox_chan), "failed to acquire IPC channel\n"); in glink_rpm_probe()
335 rpm->rx_pipe.native.avail = glink_rpm_rx_avail; in glink_rpm_probe()
336 rpm->rx_pipe.native.peek = glink_rpm_rx_peek; in glink_rpm_probe()
337 rpm->rx_pipe.native.advance = glink_rpm_rx_advance; in glink_rpm_probe()
338 rpm->tx_pipe.native.avail = glink_rpm_tx_avail; in glink_rpm_probe()
339 rpm->tx_pipe.native.write = glink_rpm_tx_write; in glink_rpm_probe()
340 rpm->tx_pipe.native.kick = glink_rpm_tx_kick; in glink_rpm_probe()
342 writel(0, rpm->tx_pipe.head); in glink_rpm_probe()
343 writel(0, rpm->rx_pipe.tail); in glink_rpm_probe()
347 &rpm->rx_pipe.native, in glink_rpm_probe()
348 &rpm->tx_pipe.native, in glink_rpm_probe()
351 mbox_free_channel(rpm->mbox_chan); in glink_rpm_probe()
355 rpm->glink = glink; in glink_rpm_probe()
357 platform_set_drvdata(pdev, rpm); in glink_rpm_probe()
359 enable_irq(rpm->irq); in glink_rpm_probe()
366 struct glink_rpm *rpm = platform_get_drvdata(pdev); in glink_rpm_remove() local
367 struct qcom_glink *glink = rpm->glink; in glink_rpm_remove()
369 disable_irq(rpm->irq); in glink_rpm_remove()
373 mbox_free_channel(rpm->mbox_chan); in glink_rpm_remove()