drm/vc4: hvs: Fix dlist debug not resetting the next entry pointer

[ Upstream commit 6d5f76e0544b04ec5bdd2a09c19d90aeeb2cd479 ]

The debug function to display the dlists didn't reset next_entry_start
when starting each display, so resulting in not stopping the
list at the correct place.

Fixes: c6dac00340 ("drm/vc4: hvs: Add debugfs node that dumps the current display lists")
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240621152055.4180873-18-dave.stevenson@raspberrypi.com
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Dave Stevenson
2024-06-21 16:20:41 +01:00
committed by Greg Kroah-Hartman
parent 0ea29bd7d9
commit 253ccf145b

View File

@@ -108,7 +108,7 @@ static int vc4_hvs_debugfs_dlist(struct seq_file *m, void *data)
struct vc4_dev *vc4 = to_vc4_dev(dev); struct vc4_dev *vc4 = to_vc4_dev(dev);
struct vc4_hvs *hvs = vc4->hvs; struct vc4_hvs *hvs = vc4->hvs;
struct drm_printer p = drm_seq_file_printer(m); struct drm_printer p = drm_seq_file_printer(m);
unsigned int next_entry_start = 0; unsigned int next_entry_start;
unsigned int i, j; unsigned int i, j;
u32 dlist_word, dispstat; u32 dlist_word, dispstat;
@@ -122,6 +122,7 @@ static int vc4_hvs_debugfs_dlist(struct seq_file *m, void *data)
} }
drm_printf(&p, "HVS chan %u:\n", i); drm_printf(&p, "HVS chan %u:\n", i);
next_entry_start = 0;
for (j = HVS_READ(SCALER_DISPLISTX(i)); j < 256; j++) { for (j = HVS_READ(SCALER_DISPLISTX(i)); j < 256; j++) {
dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j); dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j);