Hi Laurent, Sorry for the delay. On Sat, Jun 25, 2022 at 08:59:48PM +0300, Laurent Pinchart wrote: > Hi Paul, > > On Thu, Jun 16, 2022 at 01:41:56AM +0300, Laurent Pinchart wrote: > > On Wed, Jun 15, 2022 at 04:10:33AM +0900, Paul Elder wrote: > > > Add a register dump file in debugfs for some of the buffer-related > > > registers in MI, for the base address, the size, and the offset. Also > > > dump the appropriate shadow registers. > > > > > > Signed-off-by: Paul Elder <paul.elder@xxxxxxxxxxxxxxxx> > > > --- > > > .../platform/rockchip/rkisp1/rkisp1-debug.c | 21 +++++++++++++++++++ > > > 1 file changed, 21 insertions(+) > > > > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > > index e76dc2b164b6..1a59c00fabdd 100644 > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > > @@ -121,6 +121,24 @@ static int rkisp1_debug_dump_rsz_regs_show(struct seq_file *m, void *p) > > > } > > > DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_rsz_regs); > > > > > > +static int rkisp1_debug_dump_mi_mp_y_offs_cnt_show(struct seq_file *m, void *p) > > > +{ > > > + static const struct rkisp1_debug_register registers[] = { > > > + RKISP1_DEBUG_REG(MI_MP_Y_BASE_AD_INIT), > > > + RKISP1_DEBUG_REG(MI_MP_Y_BASE_AD_INIT2), > > > + RKISP1_DEBUG_REG(MI_MP_Y_BASE_AD_SHD), > > > + RKISP1_DEBUG_REG(MI_MP_Y_SIZE_INIT), > > > + RKISP1_DEBUG_REG(MI_MP_Y_SIZE_INIT), > > > + RKISP1_DEBUG_REG(MI_MP_Y_SIZE_SHD), > > > + RKISP1_DEBUG_REG(MI_MP_Y_OFFS_CNT_SHD), > > > + { /* Sentinel */ }, > > > + }; > > > + struct rkisp1_device *rkisp1 = m->private; > > > + > > > + return rkisp1_debug_dump_regs(rkisp1, m, 0, registers); > > > +} > > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_dump_mi_mp_y_offs_cnt); > > > + > > > #define RKISP1_DEBUG_DATA_COUNT_BINS 32 > > > #define RKISP1_DEBUG_DATA_COUNT_STEP (4096 / RKISP1_DEBUG_DATA_COUNT_BINS) > > > > > > @@ -214,6 +232,9 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1) > > > debugfs_create_file("srsz", 0444, regs_dir, > > > &rkisp1->resizer_devs[RKISP1_SELFPATH], > > > &rkisp1_debug_dump_rsz_regs_fops); > > > + > > > + debugfs_create_file("mi_mp_y_bufs", 0444, regs_dir, rkisp1, > > > + &rkisp1_debug_dump_mi_mp_y_offs_cnt_fops); > > > > That's a very specialized file. I wonder if we should call it just > > "mi_mp" if it needs to be extended later with other memory interface > > registers for the main path. Or maybe even just "mi", to cover the self > > path too ? The latter may be a tad too generic. What do you think ? I think mi_mp would be good. imo mi might be a tad too generic and get crowded with the self path registers (probably). Paul > > Ping > > > > > } > > > > > > void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1)