All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] media: rkisp1: Misc fixes and debug
@ 2023-11-29  9:29 ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder

This series adds a small cleanup of the register definitions, as well as
some additions to the debug for the rkisp1 driver.

Paul Elder (3):
  media: rkisp1: regs: Consolidate MI interrupt wrap fields
  media: rkisp1: debug: Add register dump for IS
  media: rkisp1: debug: Count completed frame interrupts

 .../platform/rockchip/rkisp1/rkisp1-common.h  |  1 +
 .../platform/rockchip/rkisp1/rkisp1-debug.c   | 20 +++++++++++++++++++
 .../platform/rockchip/rkisp1/rkisp1-isp.c     |  2 ++
 .../platform/rockchip/rkisp1/rkisp1-regs.h    |  9 +++------
 4 files changed, 26 insertions(+), 6 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 0/3] media: rkisp1: Misc fixes and debug
@ 2023-11-29  9:29 ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder

This series adds a small cleanup of the register definitions, as well as
some additions to the debug for the rkisp1 driver.

Paul Elder (3):
  media: rkisp1: regs: Consolidate MI interrupt wrap fields
  media: rkisp1: debug: Add register dump for IS
  media: rkisp1: debug: Count completed frame interrupts

 .../platform/rockchip/rkisp1/rkisp1-common.h  |  1 +
 .../platform/rockchip/rkisp1/rkisp1-debug.c   | 20 +++++++++++++++++++
 .../platform/rockchip/rkisp1/rkisp1-isp.c     |  2 ++
 .../platform/rockchip/rkisp1/rkisp1-regs.h    |  9 +++------
 4 files changed, 26 insertions(+), 6 deletions(-)

-- 
2.39.2


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
  2023-11-29  9:29 ` Paul Elder
  (?)
@ 2023-11-29  9:29   ` Paul Elder
  -1 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Consolidate the wraparound fields in the memory interface interrupt
status registers, so that it can be more succinctly expressed by taking
the stream ID (main or self) as a parameter.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
index 350f452e676f..bea69a0d766a 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
@@ -172,12 +172,9 @@
 #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
 #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
 #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
-#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
-#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
-#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
-#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
-#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
-#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
+#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
 #define RKISP1_CIF_MI_DMA_READY				BIT(11)
 
 /* MI_STATUS */
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Consolidate the wraparound fields in the memory interface interrupt
status registers, so that it can be more succinctly expressed by taking
the stream ID (main or self) as a parameter.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
index 350f452e676f..bea69a0d766a 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
@@ -172,12 +172,9 @@
 #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
 #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
 #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
-#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
-#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
-#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
-#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
-#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
-#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
+#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
 #define RKISP1_CIF_MI_DMA_READY				BIT(11)
 
 /* MI_STATUS */
-- 
2.39.2


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Consolidate the wraparound fields in the memory interface interrupt
status registers, so that it can be more succinctly expressed by taking
the stream ID (main or self) as a parameter.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
index 350f452e676f..bea69a0d766a 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
@@ -172,12 +172,9 @@
 #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
 #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
 #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
-#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
-#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
-#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
-#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
-#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
-#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
+#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
+#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
 #define RKISP1_CIF_MI_DMA_READY				BIT(11)
 
 /* MI_STATUS */
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-29  9:29 ` Paul Elder
  (?)
@ 2023-11-29  9:29   ` Paul Elder
  -1 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add register dump for the image stabilizer module to debugfs.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..f66b9754472e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
 }
 DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
 
+static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
+{
+	static const struct rkisp1_debug_register registers[] = {
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
+		{ /* Sentinel */ },
+	};
+	struct rkisp1_device *rkisp1 = m->private;
+
+	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
+}
+DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
+
 #define RKISP1_DEBUG_DATA_COUNT_BINS	32
 #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
 
@@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 
 	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
 			    &rkisp1_debug_dump_mi_mp_fops);
+
+	debugfs_create_file("is", 0444, regs_dir, rkisp1,
+			    &rkisp1_debug_dump_is_fops);
 }
 
 void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
-- 
2.39.2


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add register dump for the image stabilizer module to debugfs.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..f66b9754472e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
 }
 DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
 
+static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
+{
+	static const struct rkisp1_debug_register registers[] = {
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
+		{ /* Sentinel */ },
+	};
+	struct rkisp1_device *rkisp1 = m->private;
+
+	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
+}
+DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
+
 #define RKISP1_DEBUG_DATA_COUNT_BINS	32
 #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
 
@@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 
 	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
 			    &rkisp1_debug_dump_mi_mp_fops);
+
+	debugfs_create_file("is", 0444, regs_dir, rkisp1,
+			    &rkisp1_debug_dump_is_fops);
 }
 
 void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add register dump for the image stabilizer module to debugfs.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..f66b9754472e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
 }
 DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
 
+static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
+{
+	static const struct rkisp1_debug_register registers[] = {
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
+		{ /* Sentinel */ },
+	};
+	struct rkisp1_device *rkisp1 = m->private;
+
+	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
+}
+DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
+
 #define RKISP1_DEBUG_DATA_COUNT_BINS	32
 #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
 
@@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 
 	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
 			    &rkisp1_debug_dump_mi_mp_fops);
+
+	debugfs_create_file("is", 0444, regs_dir, rkisp1,
+			    &rkisp1_debug_dump_is_fops);
 }
 
 void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
  2023-11-29  9:29 ` Paul Elder
  (?)
@ 2023-11-29  9:29   ` Paul Elder
  -1 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add a counter to debugfs to count the number of frame-end interrupts.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
 drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
 drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
 3 files changed, 5 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
index 1e7cea1bea5e..be69173958a4 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
@@ -417,6 +417,7 @@ struct rkisp1_debug {
 	unsigned long stats_error;
 	unsigned long stop_timeout[2];
 	unsigned long frame_drop[2];
+	unsigned long complete_frames;
 };
 
 /*
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index f66b9754472e..1b1edfd3ab6c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 			     &debug->frame_drop[RKISP1_MAINPATH]);
 	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
 			     &debug->frame_drop[RKISP1_SELFPATH]);
+	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
+			     &debug->complete_frames);
 	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
 			    &rkisp1_debug_input_status_fops);
 
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
index 64a956b9f2d0..06cdb4edf19c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
@@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
 	if (status & RKISP1_CIF_ISP_FRAME) {
 		u32 isp_ris;
 
+		rkisp1->debug.complete_frames++;
+
 		/* New frame from the sensor received */
 		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
 		if (isp_ris & RKISP1_STATS_MEAS_MASK)
-- 
2.39.2


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add a counter to debugfs to count the number of frame-end interrupts.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
 drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
 drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
 3 files changed, 5 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
index 1e7cea1bea5e..be69173958a4 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
@@ -417,6 +417,7 @@ struct rkisp1_debug {
 	unsigned long stats_error;
 	unsigned long stop_timeout[2];
 	unsigned long frame_drop[2];
+	unsigned long complete_frames;
 };
 
 /*
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index f66b9754472e..1b1edfd3ab6c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 			     &debug->frame_drop[RKISP1_MAINPATH]);
 	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
 			     &debug->frame_drop[RKISP1_SELFPATH]);
+	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
+			     &debug->complete_frames);
 	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
 			    &rkisp1_debug_input_status_fops);
 
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
index 64a956b9f2d0..06cdb4edf19c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
@@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
 	if (status & RKISP1_CIF_ISP_FRAME) {
 		u32 isp_ris;
 
+		rkisp1->debug.complete_frames++;
+
 		/* New frame from the sensor received */
 		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
 		if (isp_ris & RKISP1_STATS_MEAS_MASK)
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29  9:29   ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-29  9:29 UTC (permalink / raw)
  To: linux-media, linux-rockchip
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Add a counter to debugfs to count the number of frame-end interrupts.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
 drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
 drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
 3 files changed, 5 insertions(+)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
index 1e7cea1bea5e..be69173958a4 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
@@ -417,6 +417,7 @@ struct rkisp1_debug {
 	unsigned long stats_error;
 	unsigned long stop_timeout[2];
 	unsigned long frame_drop[2];
+	unsigned long complete_frames;
 };
 
 /*
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index f66b9754472e..1b1edfd3ab6c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 			     &debug->frame_drop[RKISP1_MAINPATH]);
 	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
 			     &debug->frame_drop[RKISP1_SELFPATH]);
+	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
+			     &debug->complete_frames);
 	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
 			    &rkisp1_debug_input_status_fops);
 
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
index 64a956b9f2d0..06cdb4edf19c 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
@@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
 	if (status & RKISP1_CIF_ISP_FRAME) {
 		u32 isp_ris;
 
+		rkisp1->debug.complete_frames++;
+
 		/* New frame from the sensor received */
 		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
 		if (isp_ris & RKISP1_STATS_MEAS_MASK)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-29 11:00     ` Alexander Stein
  -1 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:00 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:55 CET schrieb Paul Elder:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Tested with a 1080p and 720p stream, without offsets.
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file
> *m, void *p) }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> 
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> 
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> 
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
> 
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29 11:00     ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:00 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:55 CET schrieb Paul Elder:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Tested with a 1080p and 720p stream, without offsets.
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file
> *m, void *p) }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> 
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> 
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> 
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
> 
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29 11:00     ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:00 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:55 CET schrieb Paul Elder:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Tested with a 1080p and 720p stream, without offsets.
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file
> *m, void *p) }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> 
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> 
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> 
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
> 
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-29 11:01     ` Alexander Stein
  -1 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:01 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:56 CET schrieb Paul Elder:
> Add a counter to debugfs to count the number of frame-end interrupts.

This looks good to me.
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h index
> 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
> 
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);
>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, 
rkisp1,
>  			    &rkisp1_debug_input_status_fops);
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c index
> 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
> 
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29 11:01     ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:01 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:56 CET schrieb Paul Elder:
> Add a counter to debugfs to count the number of frame-end interrupts.

This looks good to me.
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h index
> 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
> 
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);
>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, 
rkisp1,
>  			    &rkisp1_debug_input_status_fops);
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c index
> 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
> 
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29 11:01     ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-29 11:01 UTC (permalink / raw)
  To: linux-media, linux-rockchip, Paul Elder
  Cc: kieran.bingham, tomi.valkeinen, umang.jain, Paul Elder,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

thanks for the patch.

Am Mittwoch, 29. November 2023, 10:29:56 CET schrieb Paul Elder:
> Add a counter to debugfs to count the number of frame-end interrupts.

This looks good to me.
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h index
> 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
> 
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);
>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, 
rkisp1,
>  			    &rkisp1_debug_input_status_fops);
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c index
> 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
> 
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-29 20:03     ` Kieran Bingham
  -1 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:03 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:54)
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)                    BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE                                BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y                                BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y                                BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB                       BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR                       BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y                                BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB                       BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR                       BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)                   BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)                  BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)                  BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY                                BIT(11)
>  
>  /* MI_STATUS */
> -- 
> 2.39.2
>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-29 20:03     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:03 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:54)
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)                    BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE                                BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y                                BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y                                BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB                       BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR                       BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y                                BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB                       BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR                       BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)                   BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)                  BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)                  BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY                                BIT(11)
>  
>  /* MI_STATUS */
> -- 
> 2.39.2
>

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-29 20:03     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:03 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:54)
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)                    BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE                                BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y                                BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y                                BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB                       BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR                       BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y                                BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB                       BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR                       BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)                   BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)                  BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)                  BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY                                BIT(11)
>  
>  /* MI_STATUS */
> -- 
> 2.39.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-29 20:05     ` Kieran Bingham
  -1 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:05 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:55)
> Add register dump for the image stabilizer module to debugfs.
> 

Is the Image Stabilizer on all variants of the ISP?

I.e. is it valid register space on the RK3399 implementation?

If so then:
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +       static const struct rkisp1_debug_register registers[] = {
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

I expect so as you haven't added the register macros in this series so
they must already be there ...


> +               { /* Sentinel */ },
> +       };
> +       struct rkisp1_device *rkisp1 = m->private;
> +
> +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>                             &rkisp1_debug_dump_mi_mp_fops);
> +
> +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +                           &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> -- 
> 2.39.2
>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29 20:05     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:05 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:55)
> Add register dump for the image stabilizer module to debugfs.
> 

Is the Image Stabilizer on all variants of the ISP?

I.e. is it valid register space on the RK3399 implementation?

If so then:
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +       static const struct rkisp1_debug_register registers[] = {
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

I expect so as you haven't added the register macros in this series so
they must already be there ...


> +               { /* Sentinel */ },
> +       };
> +       struct rkisp1_device *rkisp1 = m->private;
> +
> +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>                             &rkisp1_debug_dump_mi_mp_fops);
> +
> +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +                           &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> -- 
> 2.39.2
>

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-29 20:05     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:05 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:55)
> Add register dump for the image stabilizer module to debugfs.
> 

Is the Image Stabilizer on all variants of the ISP?

I.e. is it valid register space on the RK3399 implementation?

If so then:
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +       static const struct rkisp1_debug_register registers[] = {
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

I expect so as you haven't added the register macros in this series so
they must already be there ...


> +               { /* Sentinel */ },
> +       };
> +       struct rkisp1_device *rkisp1 = m->private;
> +
> +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>                             &rkisp1_debug_dump_mi_mp_fops);
> +
> +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +                           &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> -- 
> 2.39.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-29 20:06     ` Kieran Bingham
  -1 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:06 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:56)
> Add a counter to debugfs to count the number of frame-end interrupts.
> 

And I alway like having counters for debug ... so I like this.


Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>         unsigned long stats_error;
>         unsigned long stop_timeout[2];
>         unsigned long frame_drop[2];
> +       unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>                              &debug->frame_drop[RKISP1_MAINPATH]);
>         debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>                              &debug->frame_drop[RKISP1_SELFPATH]);
> +       debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +                            &debug->complete_frames);
>         debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>                             &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>         if (status & RKISP1_CIF_ISP_FRAME) {
>                 u32 isp_ris;
>  
> +               rkisp1->debug.complete_frames++;
> +
>                 /* New frame from the sensor received */
>                 isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>                 if (isp_ris & RKISP1_STATS_MEAS_MASK)
> -- 
> 2.39.2
>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29 20:06     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:06 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:56)
> Add a counter to debugfs to count the number of frame-end interrupts.
> 

And I alway like having counters for debug ... so I like this.


Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>         unsigned long stats_error;
>         unsigned long stop_timeout[2];
>         unsigned long frame_drop[2];
> +       unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>                              &debug->frame_drop[RKISP1_MAINPATH]);
>         debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>                              &debug->frame_drop[RKISP1_SELFPATH]);
> +       debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +                            &debug->complete_frames);
>         debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>                             &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>         if (status & RKISP1_CIF_ISP_FRAME) {
>                 u32 isp_ris;
>  
> +               rkisp1->debug.complete_frames++;
> +
>                 /* New frame from the sensor received */
>                 isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>                 if (isp_ris & RKISP1_STATS_MEAS_MASK)
> -- 
> 2.39.2
>

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-29 20:06     ` Kieran Bingham
  0 siblings, 0 replies; 47+ messages in thread
From: Kieran Bingham @ 2023-11-29 20:06 UTC (permalink / raw)
  To: Paul Elder, linux-media, linux-rockchip
  Cc: tomi.valkeinen, umang.jain, Paul Elder, Dafna Hirschfeld,
	Laurent Pinchart, Mauro Carvalho Chehab, Heiko Stuebner,
	linux-arm-kernel, linux-kernel

Quoting Paul Elder (2023-11-29 09:29:56)
> Add a counter to debugfs to count the number of frame-end interrupts.
> 

And I alway like having counters for debug ... so I like this.


Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>         unsigned long stats_error;
>         unsigned long stop_timeout[2];
>         unsigned long frame_drop[2];
> +       unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>                              &debug->frame_drop[RKISP1_MAINPATH]);
>         debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>                              &debug->frame_drop[RKISP1_SELFPATH]);
> +       debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +                            &debug->complete_frames);
>         debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>                             &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>         if (status & RKISP1_CIF_ISP_FRAME) {
>                 u32 isp_ris;
>  
> +               rkisp1->debug.complete_frames++;
> +
>                 /* New frame from the sensor received */
>                 isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>                 if (isp_ris & RKISP1_STATS_MEAS_MASK)
> -- 
> 2.39.2
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-29 20:05     ` Kieran Bingham
  (?)
@ 2023-11-30  9:47       ` Paul Elder
  -1 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30  9:47 UTC (permalink / raw)
  To: Kieran Bingham
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> Quoting Paul Elder (2023-11-29 09:29:55)
> > Add register dump for the image stabilizer module to debugfs.
> > 
> 
> Is the Image Stabilizer on all variants of the ISP?
> 
> I.e. is it valid register space on the RK3399 implementation?

Yes, it is.

> 
> If so then:
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > ---
> >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > index 71df3dc95e6f..f66b9754472e 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
> >  }
> >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> >  
> > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > +{
> > +       static const struct rkisp1_debug_register registers[] = {
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> 
> I expect so as you haven't added the register macros in this series so
> they must already be there ...

Yep :)


Paul

> 
> 
> > +               { /* Sentinel */ },
> > +       };
> > +       struct rkisp1_device *rkisp1 = m->private;
> > +
> > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > +}
> > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > +
> >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> >  
> > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> >  
> >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> >                             &rkisp1_debug_dump_mi_mp_fops);
> > +
> > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > +                           &rkisp1_debug_dump_is_fops);
> >  }
> >  
> >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> > -- 
> > 2.39.2
> >

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30  9:47       ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30  9:47 UTC (permalink / raw)
  To: Kieran Bingham
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> Quoting Paul Elder (2023-11-29 09:29:55)
> > Add register dump for the image stabilizer module to debugfs.
> > 
> 
> Is the Image Stabilizer on all variants of the ISP?
> 
> I.e. is it valid register space on the RK3399 implementation?

Yes, it is.

> 
> If so then:
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > ---
> >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > index 71df3dc95e6f..f66b9754472e 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
> >  }
> >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> >  
> > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > +{
> > +       static const struct rkisp1_debug_register registers[] = {
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> 
> I expect so as you haven't added the register macros in this series so
> they must already be there ...

Yep :)


Paul

> 
> 
> > +               { /* Sentinel */ },
> > +       };
> > +       struct rkisp1_device *rkisp1 = m->private;
> > +
> > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > +}
> > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > +
> >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> >  
> > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> >  
> >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> >                             &rkisp1_debug_dump_mi_mp_fops);
> > +
> > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > +                           &rkisp1_debug_dump_is_fops);
> >  }
> >  
> >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> > -- 
> > 2.39.2
> >

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30  9:47       ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30  9:47 UTC (permalink / raw)
  To: Kieran Bingham
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> Quoting Paul Elder (2023-11-29 09:29:55)
> > Add register dump for the image stabilizer module to debugfs.
> > 
> 
> Is the Image Stabilizer on all variants of the ISP?
> 
> I.e. is it valid register space on the RK3399 implementation?

Yes, it is.

> 
> If so then:
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > ---
> >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > index 71df3dc95e6f..f66b9754472e 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
> >  }
> >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> >  
> > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > +{
> > +       static const struct rkisp1_debug_register registers[] = {
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> 
> I expect so as you haven't added the register macros in this series so
> they must already be there ...

Yep :)


Paul

> 
> 
> > +               { /* Sentinel */ },
> > +       };
> > +       struct rkisp1_device *rkisp1 = m->private;
> > +
> > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > +}
> > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > +
> >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
> >  
> > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> >  
> >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> >                             &rkisp1_debug_dump_mi_mp_fops);
> > +
> > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > +                           &rkisp1_debug_dump_is_fops);
> >  }
> >  
> >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> > -- 
> > 2.39.2
> >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-30  9:47       ` Paul Elder
  (?)
@ 2023-11-30  9:54         ` Alexander Stein
  -1 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-30  9:54 UTC (permalink / raw)
  To: Kieran Bingham, Paul Elder
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

Hi Paul,

Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > Quoting Paul Elder (2023-11-29 09:29:55)
> > 
> > > Add register dump for the image stabilizer module to debugfs.
> > 
> > Is the Image Stabilizer on all variants of the ISP?
> > 
> > I.e. is it valid register space on the RK3399 implementation?
> 
> Yes, it is.

Is there some public documentation available how this ISP works? For RK3399 or 
i.MX8MP.

Best regards,
Alexander

> 
> > If so then:
> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > 
> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > ---
> > > 
> > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > 71df3dc95e6f..f66b9754472e 100644
> > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > seq_file *m, void *p)> > 
> > >  }
> > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > 
> > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > +{
> > > +       static const struct rkisp1_debug_register registers[] = {
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > 
> > I expect so as you haven't added the register macros in this series so
> > they must already be there ...
> 
> Yep :)
> 
> 
> Paul
> 
> > > +               { /* Sentinel */ },
> > > +       };
> > > +       struct rkisp1_device *rkisp1 = m->private;
> > > +
> > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > +}
> > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > +
> > > 
> > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > 
> > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > >         
> > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > 
> > > +
> > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > +                           &rkisp1_debug_dump_is_fops);
> > > 
> > >  }
> > >  
> > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30  9:54         ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-30  9:54 UTC (permalink / raw)
  To: Kieran Bingham, Paul Elder
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

Hi Paul,

Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > Quoting Paul Elder (2023-11-29 09:29:55)
> > 
> > > Add register dump for the image stabilizer module to debugfs.
> > 
> > Is the Image Stabilizer on all variants of the ISP?
> > 
> > I.e. is it valid register space on the RK3399 implementation?
> 
> Yes, it is.

Is there some public documentation available how this ISP works? For RK3399 or 
i.MX8MP.

Best regards,
Alexander

> 
> > If so then:
> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > 
> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > ---
> > > 
> > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > 71df3dc95e6f..f66b9754472e 100644
> > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > seq_file *m, void *p)> > 
> > >  }
> > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > 
> > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > +{
> > > +       static const struct rkisp1_debug_register registers[] = {
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > 
> > I expect so as you haven't added the register macros in this series so
> > they must already be there ...
> 
> Yep :)
> 
> 
> Paul
> 
> > > +               { /* Sentinel */ },
> > > +       };
> > > +       struct rkisp1_device *rkisp1 = m->private;
> > > +
> > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > +}
> > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > +
> > > 
> > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > 
> > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > >         
> > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > 
> > > +
> > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > +                           &rkisp1_debug_dump_is_fops);
> > > 
> > >  }
> > >  
> > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30  9:54         ` Alexander Stein
  0 siblings, 0 replies; 47+ messages in thread
From: Alexander Stein @ 2023-11-30  9:54 UTC (permalink / raw)
  To: Kieran Bingham, Paul Elder
  Cc: linux-media, linux-rockchip, tomi.valkeinen, umang.jain,
	Dafna Hirschfeld, Laurent Pinchart, Mauro Carvalho Chehab,
	Heiko Stuebner, linux-arm-kernel, linux-kernel

Hi Paul,

Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > Quoting Paul Elder (2023-11-29 09:29:55)
> > 
> > > Add register dump for the image stabilizer module to debugfs.
> > 
> > Is the Image Stabilizer on all variants of the ISP?
> > 
> > I.e. is it valid register space on the RK3399 implementation?
> 
> Yes, it is.

Is there some public documentation available how this ISP works? For RK3399 or 
i.MX8MP.

Best regards,
Alexander

> 
> > If so then:
> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > 
> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > ---
> > > 
> > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > 71df3dc95e6f..f66b9754472e 100644
> > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > seq_file *m, void *p)> > 
> > >  }
> > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > 
> > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > +{
> > > +       static const struct rkisp1_debug_register registers[] = {
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > 
> > I expect so as you haven't added the register macros in this series so
> > they must already be there ...
> 
> Yep :)
> 
> 
> Paul
> 
> > > +               { /* Sentinel */ },
> > > +       };
> > > +       struct rkisp1_device *rkisp1 = m->private;
> > > +
> > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > +}
> > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > +
> > > 
> > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > 
> > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > >         
> > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > 
> > > +
> > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > +                           &rkisp1_debug_dump_is_fops);
> > > 
> > >  }
> > >  
> > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-30  9:54         ` Alexander Stein
  (?)
@ 2023-11-30 10:18           ` Tommaso Merciai
  -1 siblings, 0 replies; 47+ messages in thread
From: Tommaso Merciai @ 2023-11-30 10:18 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, Paul Elder, linux-media, linux-rockchip,
	tomi.valkeinen, umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

Hi Alexander,

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

For the ISP there is some public docs into imx8mp reference manual at page 5895
chapter:

13.14 Image Signal Processor (ISP)

https://www.nxp.com/webapp/Download?colCode=IMX8MPRM
https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK

This is not the full docs I think but cover some part of the ISP
functionality.

Hope this help.

Regards,
Tommaso

> 
> Best regards,
> Alexander
> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 
> 

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 10:18           ` Tommaso Merciai
  0 siblings, 0 replies; 47+ messages in thread
From: Tommaso Merciai @ 2023-11-30 10:18 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, Paul Elder, linux-media, linux-rockchip,
	tomi.valkeinen, umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

Hi Alexander,

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

For the ISP there is some public docs into imx8mp reference manual at page 5895
chapter:

13.14 Image Signal Processor (ISP)

https://www.nxp.com/webapp/Download?colCode=IMX8MPRM
https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK

This is not the full docs I think but cover some part of the ISP
functionality.

Hope this help.

Regards,
Tommaso

> 
> Best regards,
> Alexander
> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 10:18           ` Tommaso Merciai
  0 siblings, 0 replies; 47+ messages in thread
From: Tommaso Merciai @ 2023-11-30 10:18 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, Paul Elder, linux-media, linux-rockchip,
	tomi.valkeinen, umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

Hi Alexander,

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

For the ISP there is some public docs into imx8mp reference manual at page 5895
chapter:

13.14 Image Signal Processor (ISP)

https://www.nxp.com/webapp/Download?colCode=IMX8MPRM
https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK

This is not the full docs I think but cover some part of the ISP
functionality.

Hope this help.

Regards,
Tommaso

> 
> Best regards,
> Alexander
> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-30  9:54         ` Alexander Stein
  (?)
@ 2023-11-30 11:33           ` Paul Elder
  -1 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30 11:33 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, linux-media, linux-rockchip, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

Not that I'm aware of. I've been told there's some leaked documentation
in the RK3288 (without registers), and another one for the RK3399 (with
registers)?


Paul

> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 11:33           ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30 11:33 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, linux-media, linux-rockchip, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

Not that I'm aware of. I've been told there's some leaked documentation
in the RK3288 (without registers), and another one for the RK3399 (with
registers)?


Paul

> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 11:33           ` Paul Elder
  0 siblings, 0 replies; 47+ messages in thread
From: Paul Elder @ 2023-11-30 11:33 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Kieran Bingham, linux-media, linux-rockchip, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Laurent Pinchart,
	Mauro Carvalho Chehab, Heiko Stuebner, linux-arm-kernel,
	linux-kernel

On Thu, Nov 30, 2023 at 10:54:46AM +0100, Alexander Stein wrote:
> Hi Paul,
> 
> Am Donnerstag, 30. November 2023, 10:47:00 CET schrieb Paul Elder:
> > On Wed, Nov 29, 2023 at 08:05:42PM +0000, Kieran Bingham wrote:
> > > Quoting Paul Elder (2023-11-29 09:29:55)
> > > 
> > > > Add register dump for the image stabilizer module to debugfs.
> > > 
> > > Is the Image Stabilizer on all variants of the ISP?
> > > 
> > > I.e. is it valid register space on the RK3399 implementation?
> > 
> > Yes, it is.
> 
> Is there some public documentation available how this ISP works? For RK3399 or 
> i.MX8MP.

Not that I'm aware of. I've been told there's some leaked documentation
in the RK3288 (without registers), and another one for the RK3399 (with
registers)?


Paul

> 
> > 
> > > If so then:
> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > > 
> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > > > ---
> > > > 
> > > >  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
> > > >  1 file changed, 18 insertions(+)
> > > > 
> > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c index
> > > > 71df3dc95e6f..f66b9754472e 100644
> > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > > > @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct
> > > > seq_file *m, void *p)> > 
> > > >  }
> > > >  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
> > > > 
> > > > +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> > > > +{
> > > > +       static const struct rkisp1_debug_register registers[] = {
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> > > > +               RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
> > > 
> > > I expect so as you haven't added the register macros in this series so
> > > they must already be there ...
> > 
> > Yep :)
> > 
> > 
> > Paul
> > 
> > > > +               { /* Sentinel */ },
> > > > +       };
> > > > +       struct rkisp1_device *rkisp1 = m->private;
> > > > +
> > > > +       return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> > > > +
> > > > 
> > > >  #define RKISP1_DEBUG_DATA_COUNT_BINS   32
> > > >  #define RKISP1_DEBUG_DATA_COUNT_STEP   (4096 /
> > > >  RKISP1_DEBUG_DATA_COUNT_BINS)> > 
> > > > @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > > > 
> > > >         debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
> > > >         
> > > >                             &rkisp1_debug_dump_mi_mp_fops);
> > > > 
> > > > +
> > > > +       debugfs_create_file("is", 0444, regs_dir, rkisp1,
> > > > +                           &rkisp1_debug_dump_is_fops);
> > > > 
> > > >  }
> > > >  
> > > >  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)
> 
> 
> -- 
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-30 13:42     ` Laurent Pinchart
  -1 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:42 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:55PM +0900, Paul Elder wrote:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

As these are ISP registers, how about adding them to the list of ISP
registers ?

    media: rkisp1: debug: Add register dump for IS

    Add register dump for the ISP image stabilizer module to debugfs. This
    helps debugging issues related to digital zoom.

    Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..d2fbed42164e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -92,6 +92,10 @@ static int rkisp1_debug_dump_isp_regs_show(struct seq_file *m, void *p)
 		RKISP1_DEBUG_REG(ISP_FLAGS_SHD),
 		RKISP1_DEBUG_REG(ISP_RIS),
 		RKISP1_DEBUG_REG(ISP_ERR),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
 		{ /* Sentinel */ },
 	};
 	struct rkisp1_device *rkisp1 = m->private;


> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)

-- 
Regards,

Laurent Pinchart

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 13:42     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:42 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:55PM +0900, Paul Elder wrote:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

As these are ISP registers, how about adding them to the list of ISP
registers ?

    media: rkisp1: debug: Add register dump for IS

    Add register dump for the ISP image stabilizer module to debugfs. This
    helps debugging issues related to digital zoom.

    Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..d2fbed42164e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -92,6 +92,10 @@ static int rkisp1_debug_dump_isp_regs_show(struct seq_file *m, void *p)
 		RKISP1_DEBUG_REG(ISP_FLAGS_SHD),
 		RKISP1_DEBUG_REG(ISP_RIS),
 		RKISP1_DEBUG_REG(ISP_ERR),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
 		{ /* Sentinel */ },
 	};
 	struct rkisp1_device *rkisp1 = m->private;


> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/3] media: rkisp1: debug: Add register dump for IS
@ 2023-11-30 13:42     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:42 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:55PM +0900, Paul Elder wrote:
> Add register dump for the image stabilizer module to debugfs.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-debug.c    | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 71df3dc95e6f..f66b9754472e 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -139,6 +139,21 @@ static int rkisp1_debug_dump_mi_mp_show(struct seq_file *m, void *p)
>  }
>  DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp);
>  
> +static int rkisp1_debug_dump_is_show(struct seq_file *m, void *p)
> +{
> +	static const struct rkisp1_debug_register registers[] = {
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
> +		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),

As these are ISP registers, how about adding them to the list of ISP
registers ?

    media: rkisp1: debug: Add register dump for IS

    Add register dump for the ISP image stabilizer module to debugfs. This
    helps debugging issues related to digital zoom.

    Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 71df3dc95e6f..d2fbed42164e 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -92,6 +92,10 @@ static int rkisp1_debug_dump_isp_regs_show(struct seq_file *m, void *p)
 		RKISP1_DEBUG_REG(ISP_FLAGS_SHD),
 		RKISP1_DEBUG_REG(ISP_RIS),
 		RKISP1_DEBUG_REG(ISP_ERR),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_OFFS),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_H_SIZE),
+		RKISP1_DEBUG_SHD_REG(ISP_IS_V_SIZE),
 		{ /* Sentinel */ },
 	};
 	struct rkisp1_device *rkisp1 = m->private;


> +		{ /* Sentinel */ },
> +	};
> +	struct rkisp1_device *rkisp1 = m->private;
> +
> +	return rkisp1_debug_dump_regs(rkisp1, m, 0, registers);
> +}
> +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_is);
> +
>  #define RKISP1_DEBUG_DATA_COUNT_BINS	32
>  #define RKISP1_DEBUG_DATA_COUNT_STEP	(4096 / RKISP1_DEBUG_DATA_COUNT_BINS)
>  
> @@ -235,6 +250,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  
>  	debugfs_create_file("mi_mp", 0444, regs_dir, rkisp1,
>  			    &rkisp1_debug_dump_mi_mp_fops);
> +
> +	debugfs_create_file("is", 0444, regs_dir, rkisp1,
> +			    &rkisp1_debug_dump_is_fops);
>  }
>  
>  void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-30 13:45     ` Laurent Pinchart
  -1 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:45 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:54PM +0900, Paul Elder wrote:
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY				BIT(11)
>  
>  /* MI_STATUS */

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-30 13:45     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:45 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:54PM +0900, Paul Elder wrote:
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY				BIT(11)
>  
>  /* MI_STATUS */

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields
@ 2023-11-30 13:45     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:45 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:54PM +0900, Paul Elder wrote:
> Consolidate the wraparound fields in the memory interface interrupt
> status registers, so that it can be more succinctly expressed by taking
> the stream ID (main or self) as a parameter.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> index 350f452e676f..bea69a0d766a 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h
> @@ -172,12 +172,9 @@
>  #define RKISP1_CIF_MI_FRAME(stream)			BIT((stream)->id)
>  #define RKISP1_CIF_MI_MBLK_LINE				BIT(2)
>  #define RKISP1_CIF_MI_FILL_MP_Y				BIT(3)
> -#define RKISP1_CIF_MI_WRAP_MP_Y				BIT(4)
> -#define RKISP1_CIF_MI_WRAP_MP_CB			BIT(5)
> -#define RKISP1_CIF_MI_WRAP_MP_CR			BIT(6)
> -#define RKISP1_CIF_MI_WRAP_SP_Y				BIT(7)
> -#define RKISP1_CIF_MI_WRAP_SP_CB			BIT(8)
> -#define RKISP1_CIF_MI_WRAP_SP_CR			BIT(9)
> +#define RKISP1_CIF_MI_WRAP_Y(stream)			BIT(4 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CB(stream)			BIT(5 + (stream)->id * 3)
> +#define RKISP1_CIF_MI_WRAP_CR(stream)			BIT(6 + (stream)->id * 3)
>  #define RKISP1_CIF_MI_DMA_READY				BIT(11)
>  
>  /* MI_STATUS */

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
  2023-11-29  9:29   ` Paul Elder
  (?)
@ 2023-11-30 13:54     ` Laurent Pinchart
  -1 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:54 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:56PM +0900, Paul Elder wrote:
> Add a counter to debugfs to count the number of frame-end interrupts.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);

I think tt would be nice to consolidate all counters in a single file.

I also wonder if we should reset the counters when we start streaming,
that would make it easier to interpret the values in userspace.

None of these are new issues so they can be addressed on top. Would you
be able to write a few short patches ?

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>  			    &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
>  
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-30 13:54     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:54 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:56PM +0900, Paul Elder wrote:
> Add a counter to debugfs to count the number of frame-end interrupts.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);

I think tt would be nice to consolidate all counters in a single file.

I also wonder if we should reset the counters when we start streaming,
that would make it easier to interpret the values in userspace.

None of these are new issues so they can be addressed on top. Would you
be able to write a few short patches ?

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>  			    &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
>  
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts
@ 2023-11-30 13:54     ` Laurent Pinchart
  0 siblings, 0 replies; 47+ messages in thread
From: Laurent Pinchart @ 2023-11-30 13:54 UTC (permalink / raw)
  To: Paul Elder
  Cc: linux-media, linux-rockchip, kieran.bingham, tomi.valkeinen,
	umang.jain, Dafna Hirschfeld, Mauro Carvalho Chehab,
	Heiko Stuebner, moderated list:ARM/Rockchip SoC support,
	open list

Hi Paul,

Thank you for the patch.

On Wed, Nov 29, 2023 at 06:29:56PM +0900, Paul Elder wrote:
> Add a counter to debugfs to count the number of frame-end interrupts.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 1 +
>  drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c  | 2 ++
>  drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c    | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 1e7cea1bea5e..be69173958a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -417,6 +417,7 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long complete_frames;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index f66b9754472e..1b1edfd3ab6c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -232,6 +232,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  			     &debug->frame_drop[RKISP1_MAINPATH]);
>  	debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir,
>  			     &debug->frame_drop[RKISP1_SELFPATH]);
> +	debugfs_create_ulong("complete_frames", 0444, debug->debugfs_dir,
> +			     &debug->complete_frames);

I think tt would be nice to consolidate all counters in a single file.

I also wonder if we should reset the counters when we start streaming,
that would make it easier to interpret the values in userspace.

None of these are new issues so they can be addressed on top. Would you
be able to write a few short patches ?

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>  			    &rkisp1_debug_input_status_fops);
>  
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 64a956b9f2d0..06cdb4edf19c 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -991,6 +991,8 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
>  	if (status & RKISP1_CIF_ISP_FRAME) {
>  		u32 isp_ris;
>  
> +		rkisp1->debug.complete_frames++;
> +
>  		/* New frame from the sensor received */
>  		isp_ris = rkisp1_read(rkisp1, RKISP1_CIF_ISP_RIS);
>  		if (isp_ris & RKISP1_STATS_MEAS_MASK)

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2023-11-30 13:54 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-29  9:29 [PATCH 0/3] media: rkisp1: Misc fixes and debug Paul Elder
2023-11-29  9:29 ` Paul Elder
2023-11-29  9:29 ` [PATCH 1/3] media: rkisp1: regs: Consolidate MI interrupt wrap fields Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29 20:03   ` Kieran Bingham
2023-11-29 20:03     ` Kieran Bingham
2023-11-29 20:03     ` Kieran Bingham
2023-11-30 13:45   ` Laurent Pinchart
2023-11-30 13:45     ` Laurent Pinchart
2023-11-30 13:45     ` Laurent Pinchart
2023-11-29  9:29 ` [PATCH 2/3] media: rkisp1: debug: Add register dump for IS Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29 11:00   ` Alexander Stein
2023-11-29 11:00     ` Alexander Stein
2023-11-29 11:00     ` Alexander Stein
2023-11-29 20:05   ` Kieran Bingham
2023-11-29 20:05     ` Kieran Bingham
2023-11-29 20:05     ` Kieran Bingham
2023-11-30  9:47     ` Paul Elder
2023-11-30  9:47       ` Paul Elder
2023-11-30  9:47       ` Paul Elder
2023-11-30  9:54       ` Alexander Stein
2023-11-30  9:54         ` Alexander Stein
2023-11-30  9:54         ` Alexander Stein
2023-11-30 10:18         ` Tommaso Merciai
2023-11-30 10:18           ` Tommaso Merciai
2023-11-30 10:18           ` Tommaso Merciai
2023-11-30 11:33         ` Paul Elder
2023-11-30 11:33           ` Paul Elder
2023-11-30 11:33           ` Paul Elder
2023-11-30 13:42   ` Laurent Pinchart
2023-11-30 13:42     ` Laurent Pinchart
2023-11-30 13:42     ` Laurent Pinchart
2023-11-29  9:29 ` [PATCH 3/3] media: rkisp1: debug: Count completed frame interrupts Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29  9:29   ` Paul Elder
2023-11-29 11:01   ` Alexander Stein
2023-11-29 11:01     ` Alexander Stein
2023-11-29 11:01     ` Alexander Stein
2023-11-29 20:06   ` Kieran Bingham
2023-11-29 20:06     ` Kieran Bingham
2023-11-29 20:06     ` Kieran Bingham
2023-11-30 13:54   ` Laurent Pinchart
2023-11-30 13:54     ` Laurent Pinchart
2023-11-30 13:54     ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.