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)