[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190322025135.118201-4-fengc@google.com>
Date: Thu, 21 Mar 2019 19:51:35 -0700
From: Chenbo Feng <fengc@...gle.com>
To: linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-media@...r.kernel.org
Cc: kernel-team@...roid.com, Sumit Semwal <sumit.semwal@...aro.org>,
erickreyes@...gle.com, Daniel Vetter <daniel@...ll.ch>,
Greg Hackmann <ghackmann@...gle.com>,
Chenbo Feng <fengc@...gle.com>
Subject: [RFC v2 3/3] dma-buf: add show_fdinfo handler
From: Greg Hackmann <ghackmann@...gle.com>
The show_fdinfo handler exports the same information available through
debugfs on a per-buffer basis.
Signed-off-by: Greg Hackmann <ghackmann@...gle.com>
Signed-off-by: Chenbo Feng <fengc@...gle.com>
---
drivers/dma-buf/dma-buf.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index f5e8d4fab950..fc7be2939ba1 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -383,6 +383,20 @@ static long dma_buf_ioctl(struct file *file,
}
}
+static void dma_buf_show_fdinfo(struct seq_file *m, struct file *file)
+{
+ struct dma_buf *dmabuf = file->private_data;
+
+ seq_printf(m, "size:\t%zu\n", dmabuf->size);
+ /* Don't count the temporary reference taken inside procfs seq_show */
+ seq_printf(m, "count:\t%ld\n", file_count(dmabuf->file) - 1);
+ seq_printf(m, "exp_name:\t%s\n", dmabuf->exp_name);
+ mutex_lock(&dmabuf->lock);
+ if (dmabuf->name)
+ seq_printf(m, "name:\t%s\n", dmabuf->name);
+ mutex_unlock(&dmabuf->lock);
+}
+
static const struct file_operations dma_buf_fops = {
.release = dma_buf_release,
.mmap = dma_buf_mmap_internal,
@@ -392,6 +406,7 @@ static const struct file_operations dma_buf_fops = {
#ifdef CONFIG_COMPAT
.compat_ioctl = dma_buf_ioctl,
#endif
+ .show_fdinfo = dma_buf_show_fdinfo,
};
/*
--
2.21.0.225.g810b269d1ac-goog
Powered by blists - more mailing lists