mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/meson: dw-hdmi: Enable the iahb clock early enough
[ Upstream commit 2b6cb81b95d1e8abfb6d32cf194a5bd2992c315c ] Instead of moving meson_dw_hdmi_init() around which breaks existing platform, let's enable the clock meson_dw_hdmi_init() depends on. This means we don't have to worry about this clock being enabled or not, depending on the boot-loader features. Fixes: b33340e33acd ("drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP registers") Reported-by: "kernelci.org bot" <bot@kernelci.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Tested-by: Guillaume Tucker <guillaume.tucker@collabora.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> [narmstrong: changed reported by to kernelci.org bot] Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201120094205.525228-3-maz@kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
d0ef2d7940
commit
6cf9c3f4df
@ -1051,6 +1051,10 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
ret = meson_enable_clk(dev, "iahb");
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = meson_enable_clk(dev, "venci");
|
ret = meson_enable_clk(dev, "venci");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
@ -1086,6 +1090,8 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
|
|||||||
|
|
||||||
encoder->possible_crtcs = BIT(0);
|
encoder->possible_crtcs = BIT(0);
|
||||||
|
|
||||||
|
meson_dw_hdmi_init(meson_dw_hdmi);
|
||||||
|
|
||||||
DRM_DEBUG_DRIVER("encoder initialized\n");
|
DRM_DEBUG_DRIVER("encoder initialized\n");
|
||||||
|
|
||||||
/* Bridge / Connector */
|
/* Bridge / Connector */
|
||||||
@ -1110,8 +1116,6 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
|
|||||||
if (IS_ERR(meson_dw_hdmi->hdmi))
|
if (IS_ERR(meson_dw_hdmi->hdmi))
|
||||||
return PTR_ERR(meson_dw_hdmi->hdmi);
|
return PTR_ERR(meson_dw_hdmi->hdmi);
|
||||||
|
|
||||||
meson_dw_hdmi_init(meson_dw_hdmi);
|
|
||||||
|
|
||||||
next_bridge = of_drm_find_bridge(pdev->dev.of_node);
|
next_bridge = of_drm_find_bridge(pdev->dev.of_node);
|
||||||
if (next_bridge)
|
if (next_bridge)
|
||||||
drm_bridge_attach(encoder, next_bridge,
|
drm_bridge_attach(encoder, next_bridge,
|
||||||
|
Loading…
Reference in New Issue
Block a user