diff --git a/drivers/media/platform/vsp1/vsp1_dl.c b/drivers/media/platform/vsp1/vsp1_dl.c
index 0af3e8f..662e54a 100644
--- a/drivers/media/platform/vsp1/vsp1_dl.c
+++ b/drivers/media/platform/vsp1/vsp1_dl.c
@@ -19,6 +19,7 @@
 
 #include "vsp1.h"
 #include "vsp1_dl.h"
+#include "vsp1_debugfs.h"
 
 #define VSP1_DL_NUM_ENTRIES		256
 
@@ -431,6 +432,17 @@
 	return 0;
 }
 
+static void trace_list_entries(struct vsp1_dl_list *dl)
+{
+	int i;
+
+	for (i = 0; i < dl->body0.num_entries; i++) {
+		struct vsp1_dl_entry *e = &dl->body0.entries[i];
+		trace_printk("0x%08x -> %s\n", e->data,
+				vsp1_reg_to_name(e->addr));
+	}
+}
+
 static void vsp1_dl_list_fill_header(struct vsp1_dl_list *dl, bool is_last)
 {
 	struct vsp1_dl_header_list *hdr = dl->header->lists;
@@ -477,6 +489,8 @@
 	unsigned long flags;
 	bool update;
 
+	trace_list_entries(dl);
+
 	spin_lock_irqsave(&dlm->lock, flags);
 
 	if (dl->dlm->mode == VSP1_DL_MODE_HEADER) {
diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
index cd6f1d3..81aadca 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -41,6 +41,8 @@
 {
 	unsigned long flags;
 
+	trace_printk("Handling Frame End");
+
 	/*
 	 * Write-back support for the VSP DU pipeline requires the WPF must be
 	 * reconfigured on each frame where a new buffer has been provided.
diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
index 18bc896..936940d 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -329,6 +329,11 @@
 	for (i = 0; i < done->buf.vb2_buf.num_planes; ++i)
 		vb2_set_plane_payload(&done->buf.vb2_buf, i,
 				      vb2_plane_size(&done->buf.vb2_buf, i));
+
+	trace_printk("Completing buffer %d (0x%08llx)",
+			done->buf.vb2_buf.index,
+			done->mem.addr[0]);
+
 	vb2_buffer_done(&done->buf.vb2_buf, VB2_BUF_STATE_DONE);
 
 	return next;
@@ -344,6 +349,10 @@
 	if (buf == NULL)
 		return;
 
+	trace_printk("Configuring video for buffer %d (0x%08llx)",
+			buf->buf.vb2_buf.index,
+			buf->mem.addr[0]);
+
 	video->rwpf->mem = buf->mem;
 	pipe->buffers_ready |= 1 << video->pipe_index;
 }
@@ -874,12 +883,18 @@
 					queue);
 
 	if (buf) {
+		trace_printk("Configuring video for buffer %d (0x%08llx)",
+				buf->buf.vb2_buf.index,
+				buf->mem.addr[0]);
+
 		video->rwpf->mem = buf->mem;
 
 		/* Move this buffer to the IRQ queue */
 		list_del(&buf->queue);
 		list_add_tail(&buf->queue, &video->irqqueue);
 	} else {
+		trace_printk("Setting writeback disabled (no buffer)");
+
 		/* Disable writeback with no buffer */
 		video->rwpf->mem = (struct vsp1_rwpf_memory) { 0 };
 	}
@@ -912,6 +927,9 @@
 
 	spin_lock_irqsave(&video->irqlock, flags);
 	list_add_tail(&buf->queue, &video->wbqueue);
+	trace_printk("Queueing buffer buffer %d (0x%08llx)",
+			buf->buf.vb2_buf.index,
+			buf->mem.addr[0]);
 	spin_unlock_irqrestore(&video->irqlock, flags);
 
 	return;
diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c b/drivers/media/platform/vsp1/vsp1_wpf.c
index 3c92de5..81da6fe 100644
--- a/drivers/media/platform/vsp1/vsp1_wpf.c
+++ b/drivers/media/platform/vsp1/vsp1_wpf.c
@@ -250,6 +250,8 @@
 
 	bool writeback = pipe->lif && wpf->mem.addr[0];
 
+	trace_printk("Writeback %s", writeback ? "enabled" : "disabled");
+
 	if (params == VSP1_ENTITY_PARAMS_RUNTIME) {
 		const unsigned int mask = BIT(WPF_CTRL_VFLIP)
 					| BIT(WPF_CTRL_HFLIP);
