Lines Matching refs:bpmp
37 static u32 bpmp_channel_status(struct tegra_bpmp *bpmp, unsigned int index) in bpmp_channel_status() argument
39 struct tegra210_bpmp *priv = bpmp->priv; in bpmp_channel_status()
48 return bpmp_channel_status(channel->bpmp, index) == MA_ACKD(index); in tegra210_bpmp_is_response_ready()
55 return bpmp_channel_status(channel->bpmp, index) == SL_SIGL(index); in tegra210_bpmp_is_request_ready()
63 return bpmp_channel_status(channel->bpmp, index) == MA_FREE(index); in tegra210_bpmp_is_request_channel_free()
71 return bpmp_channel_status(channel->bpmp, index) == SL_QUED(index); in tegra210_bpmp_is_response_channel_free()
76 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_request()
85 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_response()
94 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_response()
104 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_request()
111 static int tegra210_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) in tegra210_bpmp_ring_doorbell() argument
113 struct tegra210_bpmp *priv = bpmp->priv; in tegra210_bpmp_ring_doorbell()
128 struct tegra_bpmp *bpmp = data; in rx_irq() local
130 tegra_bpmp_handle_rx(bpmp); in rx_irq()
136 struct tegra_bpmp *bpmp, in tegra210_bpmp_channel_init() argument
139 struct tegra210_bpmp *priv = bpmp->priv; in tegra210_bpmp_channel_init()
148 p = devm_ioremap(bpmp->dev, address, 0x80); in tegra210_bpmp_channel_init()
156 channel->bpmp = bpmp; in tegra210_bpmp_channel_init()
161 static int tegra210_bpmp_init(struct tegra_bpmp *bpmp) in tegra210_bpmp_init() argument
163 struct platform_device *pdev = to_platform_device(bpmp->dev); in tegra210_bpmp_init()
173 bpmp->priv = priv; in tegra210_bpmp_init()
185 err = tegra210_bpmp_channel_init(bpmp->tx_channel, bpmp, in tegra210_bpmp_init()
186 bpmp->soc->channels.cpu_tx.offset); in tegra210_bpmp_init()
190 err = tegra210_bpmp_channel_init(bpmp->rx_channel, bpmp, in tegra210_bpmp_init()
191 bpmp->soc->channels.cpu_rx.offset); in tegra210_bpmp_init()
195 for (i = 0; i < bpmp->threaded.count; i++) { in tegra210_bpmp_init()
196 unsigned int index = bpmp->soc->channels.thread.offset + i; in tegra210_bpmp_init()
198 err = tegra210_bpmp_channel_init(&bpmp->threaded_channels[i], in tegra210_bpmp_init()
199 bpmp, index); in tegra210_bpmp_init()
223 IRQF_NO_SUSPEND, dev_name(&pdev->dev), bpmp); in tegra210_bpmp_init()