Lines Matching refs:bpmp
71 static const char *get_filename(struct tegra_bpmp *bpmp, in get_filename() argument
79 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, in get_filename()
99 static int mrq_debugfs_read(struct tegra_bpmp *bpmp, in mrq_debugfs_read() argument
127 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_read()
136 static int mrq_debugfs_write(struct tegra_bpmp *bpmp, in mrq_debugfs_write() argument
157 return tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_write()
160 static int mrq_debugfs_dumpdir(struct tegra_bpmp *bpmp, dma_addr_t addr, in mrq_debugfs_dumpdir() argument
184 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_dumpdir()
197 struct tegra_bpmp *bpmp = inode->i_private; in debugfs_show() local
207 filename = get_filename(bpmp, file, buf, sizeof(buf)); in debugfs_show()
211 namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys, in debugfs_show()
216 datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys, in debugfs_show()
226 ret = mrq_debugfs_read(bpmp, namephys, len, dataphys, datasize, in debugfs_show()
232 dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys); in debugfs_show()
234 dma_free_coherent(bpmp->dev, namesize, namevirt, namephys); in debugfs_show()
248 struct tegra_bpmp *bpmp = inode->i_private; in debugfs_store() local
258 filename = get_filename(bpmp, file, fnamebuf, sizeof(fnamebuf)); in debugfs_store()
262 namevirt = dma_alloc_coherent(bpmp->dev, namesize, &namephys, in debugfs_store()
267 datavirt = dma_alloc_coherent(bpmp->dev, datasize, &dataphys, in debugfs_store()
282 ret = mrq_debugfs_write(bpmp, namephys, len, dataphys, in debugfs_store()
286 dma_free_coherent(bpmp->dev, datasize, datavirt, dataphys); in debugfs_store()
288 dma_free_coherent(bpmp->dev, namesize, namevirt, namephys); in debugfs_store()
301 static int bpmp_populate_dir(struct tegra_bpmp *bpmp, struct seqbuf *seqbuf, in bpmp_populate_dir() argument
334 err = bpmp_populate_dir(bpmp, seqbuf, dentry, depth+1); in bpmp_populate_dir()
343 parent, bpmp, in bpmp_populate_dir()
353 static int create_debugfs_mirror(struct tegra_bpmp *bpmp, void *buf, in create_debugfs_mirror() argument
359 bpmp->debugfs_mirror = debugfs_create_dir("debug", root); in create_debugfs_mirror()
360 if (!bpmp->debugfs_mirror) in create_debugfs_mirror()
364 err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0); in create_debugfs_mirror()
366 debugfs_remove_recursive(bpmp->debugfs_mirror); in create_debugfs_mirror()
367 bpmp->debugfs_mirror = NULL; in create_debugfs_mirror()
373 int tegra_bpmp_init_debugfs(struct tegra_bpmp *bpmp) in tegra_bpmp_init_debugfs() argument
382 if (!tegra_bpmp_mrq_is_supported(bpmp, MRQ_DEBUGFS)) in tegra_bpmp_init_debugfs()
389 virt = dma_alloc_coherent(bpmp->dev, sz, &phys, in tegra_bpmp_init_debugfs()
396 ret = mrq_debugfs_dumpdir(bpmp, phys, sz, &nbytes); in tegra_bpmp_init_debugfs()
400 ret = create_debugfs_mirror(bpmp, virt, nbytes, root); in tegra_bpmp_init_debugfs()
402 dma_free_coherent(bpmp->dev, sz, virt, phys); in tegra_bpmp_init_debugfs()