MLK-16923-2: drm: imx: dcss: Add possibility to debug BLKCTL registers
authorLaurentiu Palcu <laurentiu.palcu@nxp.com>
Fri, 10 Nov 2017 08:07:28 +0000 (10:07 +0200)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:47:05 +0000 (15:47 -0500)
When debugging it's useful to be able to see the DCSS registers. BLKCTL
was not added to the list of modules supporting this feature. This patch
adds it.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
drivers/gpu/imx/dcss/dcss-blkctl.c
drivers/gpu/imx/dcss/dcss-common.c
drivers/gpu/imx/dcss/dcss-prv.h

index 29b2e86..329f2c6 100644 (file)
 
 #define B0_SILICON_ID                  0x20
 
+static struct dcss_debug_reg blkctl_debug_reg[] = {
+       DCSS_DBG_REG(DCSS_BLKCTL_RESET_CTRL),
+       DCSS_DBG_REG(DCSS_BLKCTL_CONTROL0),
+};
+
 struct dcss_blkctl_priv {
        struct dcss_soc *dcss;
        void __iomem *base_reg;
@@ -44,6 +49,22 @@ struct dcss_blkctl_priv {
        u32 clk_setting;
 };
 
+#ifdef CONFIG_DEBUG_FS
+void dcss_blkctl_dump_regs(struct seq_file *s, void *data)
+{
+       struct dcss_soc *dcss = data;
+       int j;
+
+       seq_puts(s, ">> Dumping BLKCTL:\n");
+       for (j = 0; j < ARRAY_SIZE(blkctl_debug_reg); j++)
+               seq_printf(s, "%-35s(0x%04x) -> 0x%08x\n",
+                          blkctl_debug_reg[j].name,
+                          blkctl_debug_reg[j].ofs,
+                          dcss_readl(dcss->blkctl_priv->base_reg +
+                                     blkctl_debug_reg[j].ofs));
+}
+#endif
+
 static void dcss_blkctl_clk_reset(struct dcss_blkctl_priv *blkctl,
                                  u32 assert, u32 deassert)
 {
index ecc729a..3f3f1f8 100644 (file)
@@ -292,6 +292,7 @@ static int dcss_clks_init(struct dcss_soc *dcss)
 
 static int dcss_dump_regs_show(struct seq_file *s, void *data)
 {
+       dcss_blkctl_dump_regs(s, s->private);
        dcss_dtrc_dump_regs(s, s->private);
        dcss_dpr_dump_regs(s, s->private);
        dcss_scaler_dump_regs(s, s->private);
index f83999a..b2edde1 100644 (file)
@@ -93,6 +93,7 @@ void dcss_dtrc_exit(struct dcss_soc *dcss);
 int dcss_dec400d_init(struct dcss_soc *dcss, unsigned long dec400d_base);
 void dcss_dec400d_exit(struct dcss_soc *dcss);
 
+void dcss_blkctl_dump_regs(struct seq_file *s, void *data);
 void dcss_dtrc_dump_regs(struct seq_file *s, void *data);
 void dcss_dpr_dump_regs(struct seq_file *s, void *data);
 void dcss_dtg_dump_regs(struct seq_file *s, void *data);