Lines Matching defs:bpmp

10 #include <soc/tegra/bpmp.h>
11 #include <soc/tegra/bpmp-abi.h>
70 static const char *get_filename(struct tegra_bpmp *bpmp,
82 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf,
107 static int mrq_debug_open(struct tegra_bpmp *bpmp, const char *name,
134 err = tegra_bpmp_transfer(bpmp, &msg);
146 static int mrq_debug_close(struct tegra_bpmp *bpmp, u32 fd)
168 err = tegra_bpmp_transfer(bpmp, &msg);
177 static int mrq_debug_read(struct tegra_bpmp *bpmp, const char *name,
199 err = mrq_debug_open(bpmp, name, &fd, &len, 0);
212 err = tegra_bpmp_transfer(bpmp, &msg);
234 close_err = mrq_debug_close(bpmp, fd);
242 static int mrq_debug_write(struct tegra_bpmp *bpmp, const char *name,
265 err = mrq_debug_open(bpmp, name, &fd, &len, 1);
282 err = tegra_bpmp_transfer(bpmp, &msg);
295 err = mrq_debug_close(bpmp, fd);
305 struct tegra_bpmp *bpmp = inode->i_private;
326 filename = get_filename(bpmp, file, fnamebuf, sizeof(fnamebuf));
331 err = mrq_debug_open(bpmp, filename, &fd, &len, 0);
339 err = tegra_bpmp_transfer(bpmp, &msg);
358 close_err = mrq_debug_close(bpmp, fd);
370 struct tegra_bpmp *bpmp = inode->i_private;
376 filename = get_filename(bpmp, file, fnamebuf, sizeof(fnamebuf));
384 err = mrq_debug_write(bpmp, filename, databuf, count);
403 static int bpmp_populate_debugfs_inband(struct tegra_bpmp *bpmp,
416 if (!bpmp || !parent || !ppath)
429 err = mrq_debug_read(bpmp, ppath, buf, bufsize, &dsize);
459 err = bpmp_populate_debugfs_inband(bpmp, dentry,
468 dentry = debugfs_create_file(name, mode, parent, bpmp,
484 static int mrq_debugfs_read(struct tegra_bpmp *bpmp,
512 err = tegra_bpmp_transfer(bpmp, &msg);
523 static int mrq_debugfs_write(struct tegra_bpmp *bpmp,
544 return tegra_bpmp_transfer(bpmp, &msg);
547 static int mrq_debugfs_dumpdir(struct tegra_bpmp *bpmp, dma_addr_t addr,
571 err = tegra_bpmp_transfer(bpmp, &msg);
586 struct tegra_bpmp *bpmp = inode->i_private;
596 filename = get_filename(bpmp, file, buf, sizeof(buf));
600 namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys,
605 datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys,
615 err = mrq_debugfs_read(bpmp, namephys, len, dataphys, datasize,
621 dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys);
623 dma_free_coherent(bpmp->dev, namesize, namevirt, namephys);
637 struct tegra_bpmp *bpmp = inode->i_private;
647 filename = get_filename(bpmp, file, fnamebuf, sizeof(fnamebuf));
651 namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys,
656 datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys,
671 err = mrq_debugfs_write(bpmp, namephys, len, dataphys,
675 dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys);
677 dma_free_coherent(bpmp->dev, namesize, namevirt, namephys);
690 static int bpmp_populate_dir(struct tegra_bpmp *bpmp, struct seqbuf *seqbuf,
723 err = bpmp_populate_dir(bpmp, seqbuf, dentry, depth+1);
732 parent, bpmp,
742 static int bpmp_populate_debugfs_shmem(struct tegra_bpmp *bpmp)
751 virt = dma_alloc_coherent(bpmp->dev, sz, &phys,
756 err = mrq_debugfs_dumpdir(bpmp, phys, sz, &nbytes);
765 err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0);
767 dma_free_coherent(bpmp->dev, sz, virt, phys);
772 int tegra_bpmp_init_debugfs(struct tegra_bpmp *bpmp)
778 inband = tegra_bpmp_mrq_is_supported(bpmp, MRQ_DEBUG);
780 if (!inband && !tegra_bpmp_mrq_is_supported(bpmp, MRQ_DEBUGFS))
783 root = debugfs_create_dir("bpmp", NULL);
787 bpmp->debugfs_mirror = debugfs_create_dir("debug", root);
788 if (IS_ERR(bpmp->debugfs_mirror)) {
794 err = bpmp_populate_debugfs_inband(bpmp, bpmp->debugfs_mirror,
797 err = bpmp_populate_debugfs_shmem(bpmp);