25.02.2022 13:49, Sascha Hauer пишет: > On Fri, Feb 25, 2022 at 01:26:14PM +0300, Dmitry Osipenko wrote: >> 25.02.2022 10:51, Sascha Hauer пишет: >>> The rk3568 HDMI has an additional clock that needs to be enabled for the >>> HDMI controller to work. The purpose of that clock is not clear. It is >>> named "hclk" in the downstream driver, so use the same name. >>> >>> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> >>> --- >>> >>> Notes: >>> Changes since v5: >>> - Use devm_clk_get_optional rather than devm_clk_get >>> >>> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 16 ++++++++++++++++ >>> 1 file changed, 16 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c >>> index fe4f9556239ac..c6c00e8779ab5 100644 >>> --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c >>> +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c >>> @@ -76,6 +76,7 @@ struct rockchip_hdmi { >>> const struct rockchip_hdmi_chip_data *chip_data; >>> struct clk *ref_clk; >>> struct clk *grf_clk; >>> + struct clk *hclk_clk; >>> struct dw_hdmi *hdmi; >>> struct regulator *avdd_0v9; >>> struct regulator *avdd_1v8; >>> @@ -229,6 +230,14 @@ static int rockchip_hdmi_parse_dt(struct rockchip_hdmi *hdmi) >>> return PTR_ERR(hdmi->grf_clk); >>> } >>> >>> + hdmi->hclk_clk = devm_clk_get_optional(hdmi->dev, "hclk"); >>> + if (PTR_ERR(hdmi->hclk_clk) == -EPROBE_DEFER) { >> >> Have you tried to investigate the hclk? I'm still thinking that's not >> only HDMI that needs this clock and then the hardware description >> doesn't look correct. > > I am still not sure what you mean. Yes, it's not only the HDMI that > needs this clock. The VOP2 needs it as well and the driver handles that. I'm curious whether DSI/DP also need that clock to be enabled. If they do, then you aren't modeling h/w properly AFAICS.