diff mbox series

[03/55] media: rkisp1: debug: Add debugfs files to monitor MI and ISP interrupts

Message ID 20220614191127.3420492-4-paul.elder@ideasonboard.com (mailing list archive)
State New, archived
Headers show
Series media: rkisp1: Cleanups and add support for i.MX8MP | expand

Commit Message

Paul Elder June 14, 2022, 7:10 p.m. UTC
Add files in debugfs to monitor some of the interrupts of the MI and
ISP. Add the appropriate holder variables in the rkisp1_debug struct as
well.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 .../platform/rockchip/rkisp1/rkisp1-common.h  |  9 +++++++++
 .../platform/rockchip/rkisp1/rkisp1-debug.c   | 20 +++++++++++++++++++
 2 files changed, 29 insertions(+)

Comments

Laurent Pinchart June 16, 2022, 12:44 a.m. UTC | #1
Hi Paul,

Thank you for the patch.

On Wed, Jun 15, 2022 at 04:10:35AM +0900, Paul Elder wrote:
> Add files in debugfs to monitor some of the interrupts of the MI and
> ISP. Add the appropriate holder variables in the rkisp1_debug struct as
> well.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  .../platform/rockchip/rkisp1/rkisp1-common.h  |  9 +++++++++
>  .../platform/rockchip/rkisp1/rkisp1-debug.c   | 20 +++++++++++++++++++
>  2 files changed, 29 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> index 4243ff5e2197..a67fe7b1dfa1 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> @@ -364,6 +364,15 @@ struct rkisp1_debug {
>  	unsigned long stats_error;
>  	unsigned long stop_timeout[2];
>  	unsigned long frame_drop[2];
> +	unsigned long mi_irq_mblk_line_count;
> +	unsigned long mi_irq_fill_mp_y_count;
> +	unsigned long mi_irq_frame_count;
> +	unsigned long mi_irq_wrap_mp_y_count;
> +	unsigned long mi_irq_wrap_mp_cb_count;
> +	unsigned long mi_irq_wrap_mp_cr_count;
> +	unsigned long isp_irq_v_start_count;
> +	unsigned long isp_irq_frame_count;
> +	unsigned long isp_irq_frame_in_count;
>  };
>  
>  /*
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> index 1a59c00fabdd..02854e8ea1a4 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> @@ -220,6 +220,26 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
>  			    &rkisp1_debug_input_status_fops);
>  
> +	debugfs_create_ulong("mi_irq_mblk_line_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_mblk_line_count);
> +	debugfs_create_ulong("mi_irq_fill_mp_y_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_fill_mp_y_count);
> +	debugfs_create_ulong("mi_irq_frame_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_frame_count);
> +	debugfs_create_ulong("mi_irq_wrap_mp_y_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_wrap_mp_y_count);
> +	debugfs_create_ulong("mi_irq_wrap_mp_cb_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_wrap_mp_cb_count);
> +	debugfs_create_ulong("mi_irq_wrap_mp_cr_count", 0444, debug->debugfs_dir,
> +			     &debug->mi_irq_wrap_mp_cr_count);
> +
> +	debugfs_create_ulong("isp_irq_v_start_count", 0444, debug->debugfs_dir,
> +			     &debug->isp_irq_v_start_count);
> +	debugfs_create_ulong("isp_irq_frame_count", 0444, debug->debugfs_dir,
> +			     &debug->isp_irq_frame_count);
> +	debugfs_create_ulong("isp_irq_frame_in_count", 0444, debug->debugfs_dir,
> +			     &debug->isp_irq_frame_in_count);

It's nice to expose these through debugfs, but it looks like you never
actually set any of those fields :-) I think you could just drop this
patch.

> +
>  	regs_dir = debugfs_create_dir("regs", debug->debugfs_dir);
>  
>  	debugfs_create_file("core", 0444, regs_dir, rkisp1,
Paul Elder July 4, 2022, 3:47 a.m. UTC | #2
Hi Laurent,

On Thu, Jun 16, 2022 at 03:44:23AM +0300, Laurent Pinchart wrote:
> Hi Paul,
> 
> Thank you for the patch.
> 
> On Wed, Jun 15, 2022 at 04:10:35AM +0900, Paul Elder wrote:
> > Add files in debugfs to monitor some of the interrupts of the MI and
> > ISP. Add the appropriate holder variables in the rkisp1_debug struct as
> > well.
> > 
> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> > ---
> >  .../platform/rockchip/rkisp1/rkisp1-common.h  |  9 +++++++++
> >  .../platform/rockchip/rkisp1/rkisp1-debug.c   | 20 +++++++++++++++++++
> >  2 files changed, 29 insertions(+)
> > 
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > index 4243ff5e2197..a67fe7b1dfa1 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > @@ -364,6 +364,15 @@ struct rkisp1_debug {
> >  	unsigned long stats_error;
> >  	unsigned long stop_timeout[2];
> >  	unsigned long frame_drop[2];
> > +	unsigned long mi_irq_mblk_line_count;
> > +	unsigned long mi_irq_fill_mp_y_count;
> > +	unsigned long mi_irq_frame_count;
> > +	unsigned long mi_irq_wrap_mp_y_count;
> > +	unsigned long mi_irq_wrap_mp_cb_count;
> > +	unsigned long mi_irq_wrap_mp_cr_count;
> > +	unsigned long isp_irq_v_start_count;
> > +	unsigned long isp_irq_frame_count;
> > +	unsigned long isp_irq_frame_in_count;
> >  };
> >  
> >  /*
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > index 1a59c00fabdd..02854e8ea1a4 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
> > @@ -220,6 +220,26 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> >  	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
> >  			    &rkisp1_debug_input_status_fops);
> >  
> > +	debugfs_create_ulong("mi_irq_mblk_line_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_mblk_line_count);
> > +	debugfs_create_ulong("mi_irq_fill_mp_y_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_fill_mp_y_count);
> > +	debugfs_create_ulong("mi_irq_frame_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_frame_count);
> > +	debugfs_create_ulong("mi_irq_wrap_mp_y_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_wrap_mp_y_count);
> > +	debugfs_create_ulong("mi_irq_wrap_mp_cb_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_wrap_mp_cb_count);
> > +	debugfs_create_ulong("mi_irq_wrap_mp_cr_count", 0444, debug->debugfs_dir,
> > +			     &debug->mi_irq_wrap_mp_cr_count);
> > +
> > +	debugfs_create_ulong("isp_irq_v_start_count", 0444, debug->debugfs_dir,
> > +			     &debug->isp_irq_v_start_count);
> > +	debugfs_create_ulong("isp_irq_frame_count", 0444, debug->debugfs_dir,
> > +			     &debug->isp_irq_frame_count);
> > +	debugfs_create_ulong("isp_irq_frame_in_count", 0444, debug->debugfs_dir,
> > +			     &debug->isp_irq_frame_in_count);
> 
> It's nice to expose these through debugfs, but it looks like you never
> actually set any of those fields :-) I think you could just drop this
> patch.

Oops, you're right :p

Yeah we can drop it.


Paul

> 
> > +
> >  	regs_dir = debugfs_create_dir("regs", debug->debugfs_dir);
> >  
> >  	debugfs_create_file("core", 0444, regs_dir, rkisp1,
diff mbox series

Patch

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
index 4243ff5e2197..a67fe7b1dfa1 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
@@ -364,6 +364,15 @@  struct rkisp1_debug {
 	unsigned long stats_error;
 	unsigned long stop_timeout[2];
 	unsigned long frame_drop[2];
+	unsigned long mi_irq_mblk_line_count;
+	unsigned long mi_irq_fill_mp_y_count;
+	unsigned long mi_irq_frame_count;
+	unsigned long mi_irq_wrap_mp_y_count;
+	unsigned long mi_irq_wrap_mp_cb_count;
+	unsigned long mi_irq_wrap_mp_cr_count;
+	unsigned long isp_irq_v_start_count;
+	unsigned long isp_irq_frame_count;
+	unsigned long isp_irq_frame_in_count;
 };
 
 /*
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
index 1a59c00fabdd..02854e8ea1a4 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c
@@ -220,6 +220,26 @@  void rkisp1_debug_init(struct rkisp1_device *rkisp1)
 	debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1,
 			    &rkisp1_debug_input_status_fops);
 
+	debugfs_create_ulong("mi_irq_mblk_line_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_mblk_line_count);
+	debugfs_create_ulong("mi_irq_fill_mp_y_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_fill_mp_y_count);
+	debugfs_create_ulong("mi_irq_frame_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_frame_count);
+	debugfs_create_ulong("mi_irq_wrap_mp_y_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_wrap_mp_y_count);
+	debugfs_create_ulong("mi_irq_wrap_mp_cb_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_wrap_mp_cb_count);
+	debugfs_create_ulong("mi_irq_wrap_mp_cr_count", 0444, debug->debugfs_dir,
+			     &debug->mi_irq_wrap_mp_cr_count);
+
+	debugfs_create_ulong("isp_irq_v_start_count", 0444, debug->debugfs_dir,
+			     &debug->isp_irq_v_start_count);
+	debugfs_create_ulong("isp_irq_frame_count", 0444, debug->debugfs_dir,
+			     &debug->isp_irq_frame_count);
+	debugfs_create_ulong("isp_irq_frame_in_count", 0444, debug->debugfs_dir,
+			     &debug->isp_irq_frame_in_count);
+
 	regs_dir = debugfs_create_dir("regs", debug->debugfs_dir);
 
 	debugfs_create_file("core", 0444, regs_dir, rkisp1,