Commit 33ea4d52 authored by Cristian Ciocaltea's avatar Cristian Ciocaltea Committed by Heiko Stuebner
Browse files

drm/rockchip: dw_hdmi_qp: Provide ref clock rate in dw_hdmi_qp_plat_data



In order to support correct initialization of the timer base in the HDMI
QP IP block, setup platform data to include the required reference clock
rate.

While at it, ensure plat_data is zero-initialized in
dw_hdmi_qp_rockchip_bind().

Reviewed-by: default avatarDaniel Stone <daniels@collabora.com>
Signed-off-by: default avatarCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20250903-rk3588-hdmi-cec-v4-5-fa25163c4b08@collabora.com
parent 9baa0232
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -429,14 +429,15 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
				    void *data)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct dw_hdmi_qp_plat_data plat_data = {};
	const struct rockchip_hdmi_qp_cfg *cfg;
	struct dw_hdmi_qp_plat_data plat_data;
	struct drm_device *drm = data;
	struct drm_connector *connector;
	struct drm_encoder *encoder;
	struct rockchip_hdmi_qp *hdmi;
	struct resource *res;
	struct clk_bulk_data *clks;
	struct clk *ref_clk;
	int ret, irq, i;

	if (!pdev->dev.of_node)
@@ -506,6 +507,14 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
	if (ret < 0)
		return dev_err_probe(hdmi->dev, ret, "Failed to get clocks\n");

	ref_clk = clk_get(hdmi->dev, "ref");
	if (IS_ERR(ref_clk))
		return dev_err_probe(hdmi->dev, PTR_ERR(ref_clk),
				     "Failed to get ref clock\n");

	plat_data.ref_clk_rate = clk_get_rate(ref_clk);
	clk_put(ref_clk);

	hdmi->enable_gpio = devm_gpiod_get_optional(hdmi->dev, "enable",
						    GPIOD_OUT_HIGH);
	if (IS_ERR(hdmi->enable_gpio))