bpmp 31 drivers/clk/tegra/clk-bpmp.c struct tegra_bpmp *bpmp; bpmp 59 drivers/clk/tegra/clk-bpmp.c static int tegra_bpmp_clk_transfer(struct tegra_bpmp *bpmp, bpmp 86 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 104 drivers/clk/tegra/clk-bpmp.c return tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 117 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 119 drivers/clk/tegra/clk-bpmp.c dev_err(clk->bpmp->dev, "failed to disable clock %s: %d\n", bpmp 136 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 160 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 187 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 213 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 236 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 238 drivers/clk/tegra/clk-bpmp.c dev_err(clk->bpmp->dev, "failed to get parent for %s: %d\n", bpmp 269 drivers/clk/tegra/clk-bpmp.c return tegra_bpmp_clk_transfer(clk->bpmp, &msg); bpmp 308 drivers/clk/tegra/clk-bpmp.c static int tegra_bpmp_clk_get_max_id(struct tegra_bpmp *bpmp) bpmp 319 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(bpmp, &msg); bpmp 329 drivers/clk/tegra/clk-bpmp.c static int tegra_bpmp_clk_get_info(struct tegra_bpmp *bpmp, unsigned int id, bpmp 343 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_transfer(bpmp, &msg); bpmp 358 drivers/clk/tegra/clk-bpmp.c static void tegra_bpmp_clk_info_dump(struct tegra_bpmp *bpmp, bpmp 390 drivers/clk/tegra/clk-bpmp.c dev_printk(level, bpmp->dev, "%03u: %s\n", info->id, info->name); bpmp 391 drivers/clk/tegra/clk-bpmp.c dev_printk(level, bpmp->dev, " flags: %lx %s\n", info->flags, flags); bpmp 392 drivers/clk/tegra/clk-bpmp.c dev_printk(level, bpmp->dev, " parents: %u\n", info->num_parents); bpmp 395 drivers/clk/tegra/clk-bpmp.c dev_printk(level, bpmp->dev, " %03u\n", info->parents[i]); bpmp 398 drivers/clk/tegra/clk-bpmp.c static int tegra_bpmp_probe_clocks(struct tegra_bpmp *bpmp, bpmp 406 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_get_max_id(bpmp); bpmp 412 drivers/clk/tegra/clk-bpmp.c dev_dbg(bpmp->dev, "maximum clock ID: %u\n", max_id); bpmp 421 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_clk_get_info(bpmp, id, info); bpmp 426 drivers/clk/tegra/clk-bpmp.c dev_err(bpmp->dev, bpmp 442 drivers/clk/tegra/clk-bpmp.c tegra_bpmp_clk_info_dump(bpmp, KERN_DEBUG, info); bpmp 445 drivers/clk/tegra/clk-bpmp.c dev_dbg(bpmp->dev, "holes: %u\n", holes); bpmp 465 drivers/clk/tegra/clk-bpmp.c tegra_bpmp_clk_register(struct tegra_bpmp *bpmp, bpmp 476 drivers/clk/tegra/clk-bpmp.c clk = devm_kzalloc(bpmp->dev, sizeof(*clk), GFP_KERNEL); bpmp 481 drivers/clk/tegra/clk-bpmp.c clk->bpmp = bpmp; bpmp 483 drivers/clk/tegra/clk-bpmp.c clk->parents = devm_kcalloc(bpmp->dev, info->num_parents, bpmp 522 drivers/clk/tegra/clk-bpmp.c dev_err(bpmp->dev, "no parent %u found for %u\n", bpmp 532 drivers/clk/tegra/clk-bpmp.c err = devm_clk_hw_register(bpmp->dev, &clk->hw); bpmp 542 drivers/clk/tegra/clk-bpmp.c static int tegra_bpmp_register_clocks(struct tegra_bpmp *bpmp, bpmp 549 drivers/clk/tegra/clk-bpmp.c bpmp->num_clocks = count; bpmp 551 drivers/clk/tegra/clk-bpmp.c bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(clk), GFP_KERNEL); bpmp 552 drivers/clk/tegra/clk-bpmp.c if (!bpmp->clocks) bpmp 558 drivers/clk/tegra/clk-bpmp.c clk = tegra_bpmp_clk_register(bpmp, info, infos, count); bpmp 560 drivers/clk/tegra/clk-bpmp.c dev_err(bpmp->dev, bpmp 566 drivers/clk/tegra/clk-bpmp.c bpmp->clocks[i] = clk; bpmp 572 drivers/clk/tegra/clk-bpmp.c static void tegra_bpmp_unregister_clocks(struct tegra_bpmp *bpmp) bpmp 576 drivers/clk/tegra/clk-bpmp.c for (i = 0; i < bpmp->num_clocks; i++) bpmp 577 drivers/clk/tegra/clk-bpmp.c clk_hw_unregister(&bpmp->clocks[i]->hw); bpmp 584 drivers/clk/tegra/clk-bpmp.c struct tegra_bpmp *bpmp = data; bpmp 586 drivers/clk/tegra/clk-bpmp.c for (i = 0; i < bpmp->num_clocks; i++) { bpmp 587 drivers/clk/tegra/clk-bpmp.c struct tegra_bpmp_clk *clk = bpmp->clocks[i]; bpmp 599 drivers/clk/tegra/clk-bpmp.c int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp) bpmp 605 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_probe_clocks(bpmp, &clocks); bpmp 611 drivers/clk/tegra/clk-bpmp.c dev_dbg(bpmp->dev, "%u clocks probed\n", count); bpmp 613 drivers/clk/tegra/clk-bpmp.c err = tegra_bpmp_register_clocks(bpmp, clocks, count); bpmp 617 drivers/clk/tegra/clk-bpmp.c err = of_clk_add_hw_provider(bpmp->dev->of_node, bpmp 619 drivers/clk/tegra/clk-bpmp.c bpmp); bpmp 621 drivers/clk/tegra/clk-bpmp.c tegra_bpmp_unregister_clocks(bpmp); bpmp 104 drivers/cpufreq/tegra186-cpufreq.c struct platform_device *pdev, struct tegra_bpmp *bpmp, bpmp 115 drivers/cpufreq/tegra186-cpufreq.c virt = dma_alloc_coherent(bpmp->dev, sizeof(*data), &phys, bpmp 131 drivers/cpufreq/tegra186-cpufreq.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 181 drivers/cpufreq/tegra186-cpufreq.c dma_free_coherent(bpmp->dev, sizeof(*data), virt, phys); bpmp 189 drivers/cpufreq/tegra186-cpufreq.c struct tegra_bpmp *bpmp; bpmp 204 drivers/cpufreq/tegra186-cpufreq.c bpmp = tegra_bpmp_get(&pdev->dev); bpmp 205 drivers/cpufreq/tegra186-cpufreq.c if (IS_ERR(bpmp)) bpmp 206 drivers/cpufreq/tegra186-cpufreq.c return PTR_ERR(bpmp); bpmp 220 drivers/cpufreq/tegra186-cpufreq.c pdev, bpmp, cluster->info->bpmp_cluster_id); bpmp 227 drivers/cpufreq/tegra186-cpufreq.c tegra_bpmp_put(bpmp); bpmp 238 drivers/cpufreq/tegra186-cpufreq.c tegra_bpmp_put(bpmp); bpmp 71 drivers/firmware/tegra/bpmp-debugfs.c static const char *get_filename(struct tegra_bpmp *bpmp, bpmp 79 drivers/firmware/tegra/bpmp-debugfs.c root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, bpmp 99 drivers/firmware/tegra/bpmp-debugfs.c static int mrq_debugfs_read(struct tegra_bpmp *bpmp, bpmp 127 drivers/firmware/tegra/bpmp-debugfs.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 136 drivers/firmware/tegra/bpmp-debugfs.c static int mrq_debugfs_write(struct tegra_bpmp *bpmp, bpmp 157 drivers/firmware/tegra/bpmp-debugfs.c return tegra_bpmp_transfer(bpmp, &msg); bpmp 160 drivers/firmware/tegra/bpmp-debugfs.c static int mrq_debugfs_dumpdir(struct tegra_bpmp *bpmp, dma_addr_t addr, bpmp 184 drivers/firmware/tegra/bpmp-debugfs.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 197 drivers/firmware/tegra/bpmp-debugfs.c struct tegra_bpmp *bpmp = inode->i_private; bpmp 207 drivers/firmware/tegra/bpmp-debugfs.c filename = get_filename(bpmp, file, buf, sizeof(buf)); bpmp 211 drivers/firmware/tegra/bpmp-debugfs.c namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys, bpmp 216 drivers/firmware/tegra/bpmp-debugfs.c datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys, bpmp 226 drivers/firmware/tegra/bpmp-debugfs.c ret = mrq_debugfs_read(bpmp, namephys, len, dataphys, datasize, bpmp 232 drivers/firmware/tegra/bpmp-debugfs.c dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys); bpmp 234 drivers/firmware/tegra/bpmp-debugfs.c dma_free_coherent(bpmp->dev, namesize, namevirt, namephys); bpmp 248 drivers/firmware/tegra/bpmp-debugfs.c struct tegra_bpmp *bpmp = inode->i_private; bpmp 258 drivers/firmware/tegra/bpmp-debugfs.c filename = get_filename(bpmp, file, fnamebuf, sizeof(fnamebuf)); bpmp 262 drivers/firmware/tegra/bpmp-debugfs.c namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys, bpmp 267 drivers/firmware/tegra/bpmp-debugfs.c datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys, bpmp 282 drivers/firmware/tegra/bpmp-debugfs.c ret = mrq_debugfs_write(bpmp, namephys, len, dataphys, bpmp 286 drivers/firmware/tegra/bpmp-debugfs.c dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys); bpmp 288 drivers/firmware/tegra/bpmp-debugfs.c dma_free_coherent(bpmp->dev, namesize, namevirt, namephys); bpmp 301 drivers/firmware/tegra/bpmp-debugfs.c static int bpmp_populate_dir(struct tegra_bpmp *bpmp, struct seqbuf *seqbuf, bpmp 334 drivers/firmware/tegra/bpmp-debugfs.c err = bpmp_populate_dir(bpmp, seqbuf, dentry, depth+1); bpmp 343 drivers/firmware/tegra/bpmp-debugfs.c parent, bpmp, bpmp 353 drivers/firmware/tegra/bpmp-debugfs.c static int create_debugfs_mirror(struct tegra_bpmp *bpmp, void *buf, bpmp 359 drivers/firmware/tegra/bpmp-debugfs.c bpmp->debugfs_mirror = debugfs_create_dir("debug", root); bpmp 360 drivers/firmware/tegra/bpmp-debugfs.c if (!bpmp->debugfs_mirror) bpmp 364 drivers/firmware/tegra/bpmp-debugfs.c err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0); bpmp 366 drivers/firmware/tegra/bpmp-debugfs.c debugfs_remove_recursive(bpmp->debugfs_mirror); bpmp 367 drivers/firmware/tegra/bpmp-debugfs.c bpmp->debugfs_mirror = NULL; bpmp 373 drivers/firmware/tegra/bpmp-debugfs.c int tegra_bpmp_init_debugfs(struct tegra_bpmp *bpmp) bpmp 382 drivers/firmware/tegra/bpmp-debugfs.c if (!tegra_bpmp_mrq_is_supported(bpmp, MRQ_DEBUGFS)) bpmp 389 drivers/firmware/tegra/bpmp-debugfs.c virt = dma_alloc_coherent(bpmp->dev, sz, &phys, bpmp 396 drivers/firmware/tegra/bpmp-debugfs.c ret = mrq_debugfs_dumpdir(bpmp, phys, sz, &nbytes); bpmp 400 drivers/firmware/tegra/bpmp-debugfs.c ret = create_debugfs_mirror(bpmp, virt, nbytes, root); bpmp 402 drivers/firmware/tegra/bpmp-debugfs.c dma_free_coherent(bpmp->dev, sz, virt, phys); bpmp 12 drivers/firmware/tegra/bpmp-private.h int (*init)(struct tegra_bpmp *bpmp); bpmp 13 drivers/firmware/tegra/bpmp-private.h void (*deinit)(struct tegra_bpmp *bpmp); bpmp 22 drivers/firmware/tegra/bpmp-private.h int (*ring_doorbell)(struct tegra_bpmp *bpmp); bpmp 23 drivers/firmware/tegra/bpmp-private.h int (*resume)(struct tegra_bpmp *bpmp); bpmp 81 drivers/firmware/tegra/bpmp-tegra186.c static int tegra186_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) bpmp 83 drivers/firmware/tegra/bpmp-tegra186.c struct tegra186_bpmp *priv = bpmp->priv; bpmp 97 drivers/firmware/tegra/bpmp-tegra186.c struct tegra_bpmp *bpmp = data; bpmp 98 drivers/firmware/tegra/bpmp-tegra186.c struct tegra186_bpmp *priv = bpmp->priv; bpmp 103 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_ring_doorbell(bpmp); bpmp 107 drivers/firmware/tegra/bpmp-tegra186.c struct tegra_bpmp *bpmp, bpmp 110 drivers/firmware/tegra/bpmp-tegra186.c struct tegra186_bpmp *priv = bpmp->priv; bpmp 115 drivers/firmware/tegra/bpmp-tegra186.c channel->ivc = devm_kzalloc(bpmp->dev, sizeof(*channel->ivc), bpmp 128 drivers/firmware/tegra/bpmp-tegra186.c bpmp); bpmp 130 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "failed to setup IVC for channel %u: %d\n", bpmp 136 drivers/firmware/tegra/bpmp-tegra186.c channel->bpmp = bpmp; bpmp 158 drivers/firmware/tegra/bpmp-tegra186.c struct tegra_bpmp *bpmp = mbox_client_to_bpmp(client); bpmp 160 drivers/firmware/tegra/bpmp-tegra186.c tegra_bpmp_handle_rx(bpmp); bpmp 163 drivers/firmware/tegra/bpmp-tegra186.c static int tegra186_bpmp_init(struct tegra_bpmp *bpmp) bpmp 169 drivers/firmware/tegra/bpmp-tegra186.c priv = devm_kzalloc(bpmp->dev, sizeof(*priv), GFP_KERNEL); bpmp 173 drivers/firmware/tegra/bpmp-tegra186.c bpmp->priv = priv; bpmp 174 drivers/firmware/tegra/bpmp-tegra186.c priv->parent = bpmp; bpmp 176 drivers/firmware/tegra/bpmp-tegra186.c priv->tx.pool = of_gen_pool_get(bpmp->dev->of_node, "shmem", 0); bpmp 178 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "TX shmem pool not found\n"); bpmp 184 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "failed to allocate from TX pool\n"); bpmp 188 drivers/firmware/tegra/bpmp-tegra186.c priv->rx.pool = of_gen_pool_get(bpmp->dev->of_node, "shmem", 1); bpmp 190 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "RX shmem pool not found\n"); bpmp 197 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "failed to allocate from RX pool\n"); bpmp 202 drivers/firmware/tegra/bpmp-tegra186.c err = tegra186_bpmp_channel_init(bpmp->tx_channel, bpmp, bpmp 203 drivers/firmware/tegra/bpmp-tegra186.c bpmp->soc->channels.cpu_tx.offset); bpmp 207 drivers/firmware/tegra/bpmp-tegra186.c err = tegra186_bpmp_channel_init(bpmp->rx_channel, bpmp, bpmp 208 drivers/firmware/tegra/bpmp-tegra186.c bpmp->soc->channels.cpu_rx.offset); bpmp 212 drivers/firmware/tegra/bpmp-tegra186.c for (i = 0; i < bpmp->threaded.count; i++) { bpmp 213 drivers/firmware/tegra/bpmp-tegra186.c unsigned int index = bpmp->soc->channels.thread.offset + i; bpmp 215 drivers/firmware/tegra/bpmp-tegra186.c err = tegra186_bpmp_channel_init(&bpmp->threaded_channels[i], bpmp 216 drivers/firmware/tegra/bpmp-tegra186.c bpmp, index); bpmp 222 drivers/firmware/tegra/bpmp-tegra186.c priv->mbox.client.dev = bpmp->dev; bpmp 230 drivers/firmware/tegra/bpmp-tegra186.c dev_err(bpmp->dev, "failed to get HSP mailbox: %d\n", err); bpmp 234 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(bpmp->tx_channel); bpmp 235 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(bpmp->rx_channel); bpmp 237 drivers/firmware/tegra/bpmp-tegra186.c for (i = 0; i < bpmp->threaded.count; i++) bpmp 238 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(&bpmp->threaded_channels[i]); bpmp 243 drivers/firmware/tegra/bpmp-tegra186.c for (i = 0; i < bpmp->threaded.count; i++) { bpmp 244 drivers/firmware/tegra/bpmp-tegra186.c if (!bpmp->threaded_channels[i].bpmp) bpmp 247 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(&bpmp->threaded_channels[i]); bpmp 250 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(bpmp->rx_channel); bpmp 252 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(bpmp->tx_channel); bpmp 261 drivers/firmware/tegra/bpmp-tegra186.c static void tegra186_bpmp_deinit(struct tegra_bpmp *bpmp) bpmp 263 drivers/firmware/tegra/bpmp-tegra186.c struct tegra186_bpmp *priv = bpmp->priv; bpmp 268 drivers/firmware/tegra/bpmp-tegra186.c for (i = 0; i < bpmp->threaded.count; i++) bpmp 269 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(&bpmp->threaded_channels[i]); bpmp 271 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(bpmp->rx_channel); bpmp 272 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_cleanup(bpmp->tx_channel); bpmp 278 drivers/firmware/tegra/bpmp-tegra186.c static int tegra186_bpmp_resume(struct tegra_bpmp *bpmp) bpmp 283 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(bpmp->tx_channel); bpmp 284 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(bpmp->rx_channel); bpmp 286 drivers/firmware/tegra/bpmp-tegra186.c for (i = 0; i < bpmp->threaded.count; i++) bpmp 287 drivers/firmware/tegra/bpmp-tegra186.c tegra186_bpmp_channel_reset(&bpmp->threaded_channels[i]); bpmp 37 drivers/firmware/tegra/bpmp-tegra210.c static u32 bpmp_channel_status(struct tegra_bpmp *bpmp, unsigned int index) bpmp 39 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = bpmp->priv; bpmp 48 drivers/firmware/tegra/bpmp-tegra210.c return bpmp_channel_status(channel->bpmp, index) == MA_ACKD(index); bpmp 55 drivers/firmware/tegra/bpmp-tegra210.c return bpmp_channel_status(channel->bpmp, index) == SL_SIGL(index); bpmp 63 drivers/firmware/tegra/bpmp-tegra210.c return bpmp_channel_status(channel->bpmp, index) == MA_FREE(index); bpmp 71 drivers/firmware/tegra/bpmp-tegra210.c return bpmp_channel_status(channel->bpmp, index) == SL_QUED(index); bpmp 76 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = channel->bpmp->priv; bpmp 85 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = channel->bpmp->priv; bpmp 94 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = channel->bpmp->priv; bpmp 104 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = channel->bpmp->priv; bpmp 111 drivers/firmware/tegra/bpmp-tegra210.c static int tegra210_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) bpmp 113 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = bpmp->priv; bpmp 128 drivers/firmware/tegra/bpmp-tegra210.c struct tegra_bpmp *bpmp = data; bpmp 130 drivers/firmware/tegra/bpmp-tegra210.c tegra_bpmp_handle_rx(bpmp); bpmp 136 drivers/firmware/tegra/bpmp-tegra210.c struct tegra_bpmp *bpmp, bpmp 139 drivers/firmware/tegra/bpmp-tegra210.c struct tegra210_bpmp *priv = bpmp->priv; bpmp 148 drivers/firmware/tegra/bpmp-tegra210.c p = devm_ioremap(bpmp->dev, address, 0x80); bpmp 156 drivers/firmware/tegra/bpmp-tegra210.c channel->bpmp = bpmp; bpmp 161 drivers/firmware/tegra/bpmp-tegra210.c static int tegra210_bpmp_init(struct tegra_bpmp *bpmp) bpmp 163 drivers/firmware/tegra/bpmp-tegra210.c struct platform_device *pdev = to_platform_device(bpmp->dev); bpmp 173 drivers/firmware/tegra/bpmp-tegra210.c bpmp->priv = priv; bpmp 185 drivers/firmware/tegra/bpmp-tegra210.c err = tegra210_bpmp_channel_init(bpmp->tx_channel, bpmp, bpmp 186 drivers/firmware/tegra/bpmp-tegra210.c bpmp->soc->channels.cpu_tx.offset); bpmp 190 drivers/firmware/tegra/bpmp-tegra210.c err = tegra210_bpmp_channel_init(bpmp->rx_channel, bpmp, bpmp 191 drivers/firmware/tegra/bpmp-tegra210.c bpmp->soc->channels.cpu_rx.offset); bpmp 195 drivers/firmware/tegra/bpmp-tegra210.c for (i = 0; i < bpmp->threaded.count; i++) { bpmp 196 drivers/firmware/tegra/bpmp-tegra210.c unsigned int index = bpmp->soc->channels.thread.offset + i; bpmp 198 drivers/firmware/tegra/bpmp-tegra210.c err = tegra210_bpmp_channel_init(&bpmp->threaded_channels[i], bpmp 199 drivers/firmware/tegra/bpmp-tegra210.c bpmp, index); bpmp 223 drivers/firmware/tegra/bpmp-tegra210.c IRQF_NO_SUSPEND, dev_name(&pdev->dev), bpmp); bpmp 36 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp = channel->bpmp; bpmp 38 drivers/firmware/tegra/bpmp.c return bpmp->soc->ops; bpmp 44 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp; bpmp 53 drivers/firmware/tegra/bpmp.c bpmp = ERR_PTR(-ENODEV); bpmp 57 drivers/firmware/tegra/bpmp.c bpmp = platform_get_drvdata(pdev); bpmp 58 drivers/firmware/tegra/bpmp.c if (!bpmp) { bpmp 59 drivers/firmware/tegra/bpmp.c bpmp = ERR_PTR(-EPROBE_DEFER); bpmp 66 drivers/firmware/tegra/bpmp.c return bpmp; bpmp 70 drivers/firmware/tegra/bpmp.c void tegra_bpmp_put(struct tegra_bpmp *bpmp) bpmp 72 drivers/firmware/tegra/bpmp.c if (bpmp) bpmp 73 drivers/firmware/tegra/bpmp.c put_device(bpmp->dev); bpmp 80 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp = channel->bpmp; bpmp 84 drivers/firmware/tegra/bpmp.c count = bpmp->soc->channels.thread.count; bpmp 86 drivers/firmware/tegra/bpmp.c index = channel - channel->bpmp->threaded_channels; bpmp 117 drivers/firmware/tegra/bpmp.c unsigned long timeout = channel->bpmp->soc->channels.cpu_tx.timeout; bpmp 163 drivers/firmware/tegra/bpmp.c unsigned long timeout = channel->bpmp->soc->channels.cpu_tx.timeout; bpmp 192 drivers/firmware/tegra/bpmp.c static int tegra_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) bpmp 194 drivers/firmware/tegra/bpmp.c return bpmp->soc->ops->ring_doorbell(bpmp); bpmp 217 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp = channel->bpmp; bpmp 228 drivers/firmware/tegra/bpmp.c spin_lock_irqsave(&bpmp->lock, flags); bpmp 230 drivers/firmware/tegra/bpmp.c clear_bit(index, bpmp->threaded.allocated); bpmp 231 drivers/firmware/tegra/bpmp.c spin_unlock_irqrestore(&bpmp->lock, flags); bpmp 234 drivers/firmware/tegra/bpmp.c up(&bpmp->threaded.lock); bpmp 253 drivers/firmware/tegra/bpmp.c tegra_bpmp_write_threaded(struct tegra_bpmp *bpmp, unsigned int mrq, bpmp 256 drivers/firmware/tegra/bpmp.c unsigned long timeout = bpmp->soc->channels.thread.timeout; bpmp 257 drivers/firmware/tegra/bpmp.c unsigned int count = bpmp->soc->channels.thread.count; bpmp 263 drivers/firmware/tegra/bpmp.c err = down_timeout(&bpmp->threaded.lock, usecs_to_jiffies(timeout)); bpmp 267 drivers/firmware/tegra/bpmp.c spin_lock_irqsave(&bpmp->lock, flags); bpmp 269 drivers/firmware/tegra/bpmp.c index = find_first_zero_bit(bpmp->threaded.allocated, count); bpmp 275 drivers/firmware/tegra/bpmp.c channel = &bpmp->threaded_channels[index]; bpmp 282 drivers/firmware/tegra/bpmp.c set_bit(index, bpmp->threaded.allocated); bpmp 289 drivers/firmware/tegra/bpmp.c set_bit(index, bpmp->threaded.busy); bpmp 291 drivers/firmware/tegra/bpmp.c spin_unlock_irqrestore(&bpmp->lock, flags); bpmp 295 drivers/firmware/tegra/bpmp.c clear_bit(index, bpmp->threaded.allocated); bpmp 297 drivers/firmware/tegra/bpmp.c spin_unlock_irqrestore(&bpmp->lock, flags); bpmp 298 drivers/firmware/tegra/bpmp.c up(&bpmp->threaded.lock); bpmp 316 drivers/firmware/tegra/bpmp.c int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, bpmp 328 drivers/firmware/tegra/bpmp.c channel = bpmp->tx_channel; bpmp 330 drivers/firmware/tegra/bpmp.c spin_lock(&bpmp->atomic_tx_lock); bpmp 335 drivers/firmware/tegra/bpmp.c spin_unlock(&bpmp->atomic_tx_lock); bpmp 339 drivers/firmware/tegra/bpmp.c spin_unlock(&bpmp->atomic_tx_lock); bpmp 341 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_ring_doorbell(bpmp); bpmp 354 drivers/firmware/tegra/bpmp.c int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, bpmp 367 drivers/firmware/tegra/bpmp.c channel = tegra_bpmp_write_threaded(bpmp, msg->mrq, msg->tx.data, bpmp 372 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_ring_doorbell(bpmp); bpmp 376 drivers/firmware/tegra/bpmp.c timeout = usecs_to_jiffies(bpmp->soc->channels.thread.timeout); bpmp 387 drivers/firmware/tegra/bpmp.c static struct tegra_bpmp_mrq *tegra_bpmp_find_mrq(struct tegra_bpmp *bpmp, bpmp 392 drivers/firmware/tegra/bpmp.c list_for_each_entry(entry, &bpmp->mrqs, list) bpmp 403 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp = channel->bpmp; bpmp 429 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_ring_doorbell(bpmp); bpmp 436 drivers/firmware/tegra/bpmp.c static void tegra_bpmp_handle_mrq(struct tegra_bpmp *bpmp, bpmp 443 drivers/firmware/tegra/bpmp.c spin_lock(&bpmp->lock); bpmp 445 drivers/firmware/tegra/bpmp.c entry = tegra_bpmp_find_mrq(bpmp, mrq); bpmp 447 drivers/firmware/tegra/bpmp.c spin_unlock(&bpmp->lock); bpmp 454 drivers/firmware/tegra/bpmp.c spin_unlock(&bpmp->lock); bpmp 457 drivers/firmware/tegra/bpmp.c int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, bpmp 466 drivers/firmware/tegra/bpmp.c entry = devm_kzalloc(bpmp->dev, sizeof(*entry), GFP_KERNEL); bpmp 470 drivers/firmware/tegra/bpmp.c spin_lock_irqsave(&bpmp->lock, flags); bpmp 475 drivers/firmware/tegra/bpmp.c list_add(&entry->list, &bpmp->mrqs); bpmp 477 drivers/firmware/tegra/bpmp.c spin_unlock_irqrestore(&bpmp->lock, flags); bpmp 483 drivers/firmware/tegra/bpmp.c void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, void *data) bpmp 488 drivers/firmware/tegra/bpmp.c spin_lock_irqsave(&bpmp->lock, flags); bpmp 490 drivers/firmware/tegra/bpmp.c entry = tegra_bpmp_find_mrq(bpmp, mrq); bpmp 495 drivers/firmware/tegra/bpmp.c devm_kfree(bpmp->dev, entry); bpmp 498 drivers/firmware/tegra/bpmp.c spin_unlock_irqrestore(&bpmp->lock, flags); bpmp 502 drivers/firmware/tegra/bpmp.c bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, unsigned int mrq) bpmp 519 drivers/firmware/tegra/bpmp.c ret = tegra_bpmp_transfer(bpmp, &msg); bpmp 542 drivers/firmware/tegra/bpmp.c static int tegra_bpmp_ping(struct tegra_bpmp *bpmp) bpmp 565 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_transfer_atomic(bpmp, &msg); bpmp 570 drivers/firmware/tegra/bpmp.c dev_dbg(bpmp->dev, bpmp 579 drivers/firmware/tegra/bpmp.c static int tegra_bpmp_get_firmware_tag_old(struct tegra_bpmp *bpmp, char *tag, bpmp 592 drivers/firmware/tegra/bpmp.c virt = dma_alloc_coherent(bpmp->dev, TAG_SZ, &phys, bpmp 606 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_transfer_atomic(bpmp, &msg); bpmp 612 drivers/firmware/tegra/bpmp.c dma_free_coherent(bpmp->dev, TAG_SZ, virt, phys); bpmp 617 drivers/firmware/tegra/bpmp.c static int tegra_bpmp_get_firmware_tag(struct tegra_bpmp *bpmp, char *tag, bpmp 620 drivers/firmware/tegra/bpmp.c if (tegra_bpmp_mrq_is_supported(bpmp, MRQ_QUERY_FW_TAG)) { bpmp 634 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 645 drivers/firmware/tegra/bpmp.c return tegra_bpmp_get_firmware_tag_old(bpmp, tag, size); bpmp 658 drivers/firmware/tegra/bpmp.c void tegra_bpmp_handle_rx(struct tegra_bpmp *bpmp) bpmp 664 drivers/firmware/tegra/bpmp.c channel = bpmp->rx_channel; bpmp 665 drivers/firmware/tegra/bpmp.c count = bpmp->soc->channels.thread.count; bpmp 666 drivers/firmware/tegra/bpmp.c busy = bpmp->threaded.busy; bpmp 669 drivers/firmware/tegra/bpmp.c tegra_bpmp_handle_mrq(bpmp, channel->ib->code, channel); bpmp 671 drivers/firmware/tegra/bpmp.c spin_lock(&bpmp->lock); bpmp 676 drivers/firmware/tegra/bpmp.c channel = &bpmp->threaded_channels[i]; bpmp 684 drivers/firmware/tegra/bpmp.c spin_unlock(&bpmp->lock); bpmp 689 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp; bpmp 694 drivers/firmware/tegra/bpmp.c bpmp = devm_kzalloc(&pdev->dev, sizeof(*bpmp), GFP_KERNEL); bpmp 695 drivers/firmware/tegra/bpmp.c if (!bpmp) bpmp 698 drivers/firmware/tegra/bpmp.c bpmp->soc = of_device_get_match_data(&pdev->dev); bpmp 699 drivers/firmware/tegra/bpmp.c bpmp->dev = &pdev->dev; bpmp 701 drivers/firmware/tegra/bpmp.c INIT_LIST_HEAD(&bpmp->mrqs); bpmp 702 drivers/firmware/tegra/bpmp.c spin_lock_init(&bpmp->lock); bpmp 704 drivers/firmware/tegra/bpmp.c bpmp->threaded.count = bpmp->soc->channels.thread.count; bpmp 705 drivers/firmware/tegra/bpmp.c sema_init(&bpmp->threaded.lock, bpmp->threaded.count); bpmp 707 drivers/firmware/tegra/bpmp.c size = BITS_TO_LONGS(bpmp->threaded.count) * sizeof(long); bpmp 709 drivers/firmware/tegra/bpmp.c bpmp->threaded.allocated = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); bpmp 710 drivers/firmware/tegra/bpmp.c if (!bpmp->threaded.allocated) bpmp 713 drivers/firmware/tegra/bpmp.c bpmp->threaded.busy = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); bpmp 714 drivers/firmware/tegra/bpmp.c if (!bpmp->threaded.busy) bpmp 717 drivers/firmware/tegra/bpmp.c spin_lock_init(&bpmp->atomic_tx_lock); bpmp 718 drivers/firmware/tegra/bpmp.c bpmp->tx_channel = devm_kzalloc(&pdev->dev, sizeof(*bpmp->tx_channel), bpmp 720 drivers/firmware/tegra/bpmp.c if (!bpmp->tx_channel) bpmp 723 drivers/firmware/tegra/bpmp.c bpmp->rx_channel = devm_kzalloc(&pdev->dev, sizeof(*bpmp->rx_channel), bpmp 725 drivers/firmware/tegra/bpmp.c if (!bpmp->rx_channel) bpmp 728 drivers/firmware/tegra/bpmp.c bpmp->threaded_channels = devm_kcalloc(&pdev->dev, bpmp->threaded.count, bpmp 729 drivers/firmware/tegra/bpmp.c sizeof(*bpmp->threaded_channels), bpmp 731 drivers/firmware/tegra/bpmp.c if (!bpmp->threaded_channels) bpmp 734 drivers/firmware/tegra/bpmp.c err = bpmp->soc->ops->init(bpmp); bpmp 738 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_request_mrq(bpmp, MRQ_PING, bpmp 739 drivers/firmware/tegra/bpmp.c tegra_bpmp_mrq_handle_ping, bpmp); bpmp 743 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_ping(bpmp); bpmp 749 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_get_firmware_tag(bpmp, tag, sizeof(tag)); bpmp 757 drivers/firmware/tegra/bpmp.c platform_set_drvdata(pdev, bpmp); bpmp 764 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_init_clocks(bpmp); bpmp 770 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_init_resets(bpmp); bpmp 776 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_init_powergates(bpmp); bpmp 781 drivers/firmware/tegra/bpmp.c err = tegra_bpmp_init_debugfs(bpmp); bpmp 788 drivers/firmware/tegra/bpmp.c tegra_bpmp_free_mrq(bpmp, MRQ_PING, bpmp); bpmp 790 drivers/firmware/tegra/bpmp.c if (bpmp->soc->ops->deinit) bpmp 791 drivers/firmware/tegra/bpmp.c bpmp->soc->ops->deinit(bpmp); bpmp 798 drivers/firmware/tegra/bpmp.c struct tegra_bpmp *bpmp = dev_get_drvdata(dev); bpmp 800 drivers/firmware/tegra/bpmp.c if (bpmp->soc->ops->resume) bpmp 801 drivers/firmware/tegra/bpmp.c return bpmp->soc->ops->resume(bpmp); bpmp 32 drivers/i2c/busses/i2c-tegra-bpmp.c struct tegra_bpmp *bpmp; bpmp 216 drivers/i2c/busses/i2c-tegra-bpmp.c err = tegra_bpmp_transfer_atomic(i2c->bpmp, &msg); bpmp 218 drivers/i2c/busses/i2c-tegra-bpmp.c err = tegra_bpmp_transfer(i2c->bpmp, &msg); bpmp 298 drivers/i2c/busses/i2c-tegra-bpmp.c i2c->bpmp = dev_get_drvdata(pdev->dev.parent); bpmp 299 drivers/i2c/busses/i2c-tegra-bpmp.c if (!i2c->bpmp) bpmp 263 drivers/pci/controller/dwc/pcie-tegra194.c struct tegra_bpmp *bpmp; bpmp 1019 drivers/pci/controller/dwc/pcie-tegra194.c return tegra_bpmp_transfer(pcie->bpmp, &msg); bpmp 1569 drivers/pci/controller/dwc/pcie-tegra194.c pcie->bpmp = tegra_bpmp_get(dev); bpmp 1570 drivers/pci/controller/dwc/pcie-tegra194.c if (IS_ERR(pcie->bpmp)) bpmp 1571 drivers/pci/controller/dwc/pcie-tegra194.c return PTR_ERR(pcie->bpmp); bpmp 1582 drivers/pci/controller/dwc/pcie-tegra194.c tegra_bpmp_put(pcie->bpmp); bpmp 1597 drivers/pci/controller/dwc/pcie-tegra194.c tegra_bpmp_put(pcie->bpmp); bpmp 20 drivers/reset/tegra/reset-bpmp.c struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); bpmp 33 drivers/reset/tegra/reset-bpmp.c return tegra_bpmp_transfer(bpmp, &msg); bpmp 60 drivers/reset/tegra/reset-bpmp.c int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) bpmp 62 drivers/reset/tegra/reset-bpmp.c bpmp->rstc.ops = &tegra_bpmp_reset_ops; bpmp 63 drivers/reset/tegra/reset-bpmp.c bpmp->rstc.owner = THIS_MODULE; bpmp 64 drivers/reset/tegra/reset-bpmp.c bpmp->rstc.of_node = bpmp->dev->of_node; bpmp 65 drivers/reset/tegra/reset-bpmp.c bpmp->rstc.nr_resets = bpmp->soc->num_resets; bpmp 67 drivers/reset/tegra/reset-bpmp.c return devm_reset_controller_register(bpmp->dev, &bpmp->rstc); bpmp 22 drivers/soc/tegra/powergate-bpmp.c struct tegra_bpmp *bpmp; bpmp 32 drivers/soc/tegra/powergate-bpmp.c static int tegra_bpmp_powergate_set_state(struct tegra_bpmp *bpmp, bpmp 49 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 58 drivers/soc/tegra/powergate-bpmp.c static int tegra_bpmp_powergate_get_state(struct tegra_bpmp *bpmp, bpmp 79 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 88 drivers/soc/tegra/powergate-bpmp.c static int tegra_bpmp_powergate_get_max_id(struct tegra_bpmp *bpmp) bpmp 107 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 116 drivers/soc/tegra/powergate-bpmp.c static char *tegra_bpmp_powergate_get_name(struct tegra_bpmp *bpmp, bpmp 137 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 144 drivers/soc/tegra/powergate-bpmp.c static inline bool tegra_bpmp_powergate_is_powered(struct tegra_bpmp *bpmp, bpmp 147 drivers/soc/tegra/powergate-bpmp.c return tegra_bpmp_powergate_get_state(bpmp, id) != PG_STATE_OFF; bpmp 153 drivers/soc/tegra/powergate-bpmp.c struct tegra_bpmp *bpmp = powergate->bpmp; bpmp 155 drivers/soc/tegra/powergate-bpmp.c return tegra_bpmp_powergate_set_state(bpmp, powergate->id, bpmp 162 drivers/soc/tegra/powergate-bpmp.c struct tegra_bpmp *bpmp = powergate->bpmp; bpmp 164 drivers/soc/tegra/powergate-bpmp.c return tegra_bpmp_powergate_set_state(bpmp, powergate->id, bpmp 169 drivers/soc/tegra/powergate-bpmp.c tegra_powergate_add(struct tegra_bpmp *bpmp, bpmp 176 drivers/soc/tegra/powergate-bpmp.c off = !tegra_bpmp_powergate_is_powered(bpmp, info->id); bpmp 178 drivers/soc/tegra/powergate-bpmp.c powergate = devm_kzalloc(bpmp->dev, sizeof(*powergate), GFP_KERNEL); bpmp 183 drivers/soc/tegra/powergate-bpmp.c powergate->bpmp = bpmp; bpmp 201 drivers/soc/tegra/powergate-bpmp.c struct tegra_bpmp *bpmp = powergate->bpmp; bpmp 206 drivers/soc/tegra/powergate-bpmp.c dev_err(bpmp->dev, "failed to remove power domain %s: %d\n", bpmp 213 drivers/soc/tegra/powergate-bpmp.c tegra_bpmp_probe_powergates(struct tegra_bpmp *bpmp, bpmp 221 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_powergate_get_max_id(bpmp); bpmp 227 drivers/soc/tegra/powergate-bpmp.c dev_dbg(bpmp->dev, "maximum powergate ID: %u\n", max_id); bpmp 236 drivers/soc/tegra/powergate-bpmp.c info->name = tegra_bpmp_powergate_get_name(bpmp, id); bpmp 246 drivers/soc/tegra/powergate-bpmp.c dev_dbg(bpmp->dev, "holes: %u\n", num_holes); bpmp 253 drivers/soc/tegra/powergate-bpmp.c static int tegra_bpmp_add_powergates(struct tegra_bpmp *bpmp, bpmp 257 drivers/soc/tegra/powergate-bpmp.c struct genpd_onecell_data *genpd = &bpmp->genpd; bpmp 268 drivers/soc/tegra/powergate-bpmp.c powergate = tegra_powergate_add(bpmp, &powergates[i]); bpmp 274 drivers/soc/tegra/powergate-bpmp.c dev_dbg(bpmp->dev, "added power domain %s\n", bpmp 294 drivers/soc/tegra/powergate-bpmp.c static void tegra_bpmp_remove_powergates(struct tegra_bpmp *bpmp) bpmp 296 drivers/soc/tegra/powergate-bpmp.c struct genpd_onecell_data *genpd = &bpmp->genpd; bpmp 301 drivers/soc/tegra/powergate-bpmp.c dev_dbg(bpmp->dev, "removing power domain %s\n", bpmp 328 drivers/soc/tegra/powergate-bpmp.c int tegra_bpmp_init_powergates(struct tegra_bpmp *bpmp) bpmp 330 drivers/soc/tegra/powergate-bpmp.c struct device_node *np = bpmp->dev->of_node; bpmp 332 drivers/soc/tegra/powergate-bpmp.c struct device *dev = bpmp->dev; bpmp 336 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_probe_powergates(bpmp, &powergates); bpmp 344 drivers/soc/tegra/powergate-bpmp.c err = tegra_bpmp_add_powergates(bpmp, powergates, count); bpmp 348 drivers/soc/tegra/powergate-bpmp.c bpmp->genpd.xlate = tegra_powergate_xlate; bpmp 350 drivers/soc/tegra/powergate-bpmp.c err = of_genpd_add_provider_onecell(np, &bpmp->genpd); bpmp 353 drivers/soc/tegra/powergate-bpmp.c tegra_bpmp_remove_powergates(bpmp); bpmp 28 drivers/thermal/tegra/tegra-bpmp-thermal.c struct tegra_bpmp *bpmp; bpmp 52 drivers/thermal/tegra/tegra-bpmp-thermal.c err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); bpmp 79 drivers/thermal/tegra/tegra-bpmp-thermal.c return tegra_bpmp_transfer(zone->tegra->bpmp, &msg); bpmp 122 drivers/thermal/tegra/tegra-bpmp-thermal.c static int tegra_bpmp_thermal_get_num_zones(struct tegra_bpmp *bpmp, bpmp 140 drivers/thermal/tegra/tegra-bpmp-thermal.c err = tegra_bpmp_transfer(bpmp, &msg); bpmp 156 drivers/thermal/tegra/tegra-bpmp-thermal.c struct tegra_bpmp *bpmp = dev_get_drvdata(pdev->dev.parent); bpmp 167 drivers/thermal/tegra/tegra-bpmp-thermal.c tegra->bpmp = bpmp; bpmp 169 drivers/thermal/tegra/tegra-bpmp-thermal.c err = tegra_bpmp_thermal_get_num_zones(bpmp, &max_num_zones); bpmp 214 drivers/thermal/tegra/tegra-bpmp-thermal.c err = tegra_bpmp_request_mrq(bpmp, MRQ_THERMAL, bpmp_mrq_thermal, bpmp 231 drivers/thermal/tegra/tegra-bpmp-thermal.c tegra_bpmp_free_mrq(tegra->bpmp, MRQ_THERMAL, tegra); bpmp 40 include/soc/tegra/bpmp.h struct tegra_bpmp *bpmp; bpmp 111 include/soc/tegra/bpmp.h void tegra_bpmp_put(struct tegra_bpmp *bpmp); bpmp 112 include/soc/tegra/bpmp.h int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, bpmp 114 include/soc/tegra/bpmp.h int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, bpmp 119 include/soc/tegra/bpmp.h int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, bpmp 121 include/soc/tegra/bpmp.h void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, bpmp 123 include/soc/tegra/bpmp.h bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, unsigned int mrq); bpmp 129 include/soc/tegra/bpmp.h static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) bpmp 132 include/soc/tegra/bpmp.h static inline int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, bpmp 137 include/soc/tegra/bpmp.h static inline int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, bpmp 148 include/soc/tegra/bpmp.h static inline int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, bpmp 155 include/soc/tegra/bpmp.h static inline void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, bpmp 160 include/soc/tegra/bpmp.h static inline bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, bpmp 167 include/soc/tegra/bpmp.h void tegra_bpmp_handle_rx(struct tegra_bpmp *bpmp); bpmp 170 include/soc/tegra/bpmp.h int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp); bpmp 172 include/soc/tegra/bpmp.h static inline int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp) bpmp 179 include/soc/tegra/bpmp.h int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp); bpmp 181 include/soc/tegra/bpmp.h static inline int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) bpmp 188 include/soc/tegra/bpmp.h int tegra_bpmp_init_powergates(struct tegra_bpmp *bpmp); bpmp 190 include/soc/tegra/bpmp.h static inline int tegra_bpmp_init_powergates(struct tegra_bpmp *bpmp) bpmp 197 include/soc/tegra/bpmp.h int tegra_bpmp_init_debugfs(struct tegra_bpmp *bpmp); bpmp 199 include/soc/tegra/bpmp.h static inline int tegra_bpmp_init_debugfs(struct tegra_bpmp *bpmp)