Add a counter to debugfs to count the number of frame-end interrupts.
Signed-off-by: Paul Elder <[email protected]>
---
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
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 <[email protected]>
> Signed-off-by: Paul Elder <[email protected]>
> ---
> 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/
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 <[email protected]>
> Signed-off-by: Paul Elder <[email protected]>
> ---
> 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
>
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 <[email protected]>
> ---
> 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 <[email protected]>
> 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