lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0415/1157] drm/vc4: hdmi: Add all the vc5 HDMI registers into the debugfs dumps
    Date
    From: Dave Stevenson <dave.stevenson@raspberrypi.com>

    [ Upstream commit 25eb441d55d479581a65bcc9de88bc1d86bf76c1 ]

    The vc5 HDMI registers hadn't been added into the debugfs
    register sets, therefore weren't dumped on request.
    Add them in.

    Fixes: 8323989140f3 ("drm/vc4: hdmi: Support the BCM2711 HDMI controllers")
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Link: https://lore.kernel.org/r/20220613144800.326124-19-maxime@cerno.tech
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/vc4/vc4_hdmi.c | 39 ++++++++++++++++++++++++++++++++++
    drivers/gpu/drm/vc4/vc4_hdmi.h | 8 +++++++
    2 files changed, 47 insertions(+)

    diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
    index 6b4f42332d95..e314e0a4c4c3 100644
    --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
    +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
    @@ -145,6 +145,12 @@ static int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused)

    drm_print_regset32(&p, &vc4_hdmi->hdmi_regset);
    drm_print_regset32(&p, &vc4_hdmi->hd_regset);
    + drm_print_regset32(&p, &vc4_hdmi->cec_regset);
    + drm_print_regset32(&p, &vc4_hdmi->csc_regset);
    + drm_print_regset32(&p, &vc4_hdmi->dvp_regset);
    + drm_print_regset32(&p, &vc4_hdmi->phy_regset);
    + drm_print_regset32(&p, &vc4_hdmi->ram_regset);
    + drm_print_regset32(&p, &vc4_hdmi->rm_regset);

    return 0;
    }
    @@ -2704,6 +2710,7 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
    struct platform_device *pdev = vc4_hdmi->pdev;
    struct device *dev = &pdev->dev;
    struct resource *res;
    + int ret;

    res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");
    if (!res)
    @@ -2800,6 +2807,38 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
    return PTR_ERR(vc4_hdmi->reset);
    }

    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->hdmi_regset, VC4_HDMI);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->hd_regset, VC4_HD);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->cec_regset, VC5_CEC);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->csc_regset, VC5_CSC);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->dvp_regset, VC5_DVP);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->phy_regset, VC5_PHY);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->ram_regset, VC5_RAM);
    + if (ret)
    + return ret;
    +
    + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->rm_regset, VC5_RM);
    + if (ret)
    + return ret;
    +
    return 0;
    }

    diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h
    index 51b27dcdcd9b..1520387b317f 100644
    --- a/drivers/gpu/drm/vc4/vc4_hdmi.h
    +++ b/drivers/gpu/drm/vc4/vc4_hdmi.h
    @@ -179,6 +179,14 @@ struct vc4_hdmi {
    struct debugfs_regset32 hdmi_regset;
    struct debugfs_regset32 hd_regset;

    + /* VC5 only */
    + struct debugfs_regset32 cec_regset;
    + struct debugfs_regset32 csc_regset;
    + struct debugfs_regset32 dvp_regset;
    + struct debugfs_regset32 phy_regset;
    + struct debugfs_regset32 ram_regset;
    + struct debugfs_regset32 rm_regset;
    +
    /**
    * @hw_lock: Spinlock protecting device register access.
    */
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 01:49    [W:2.685 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site