lkml.org 
[lkml]   [2021]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 155/215] drm/vc4: hdmi: Prevent clock unbalance
    Date
    From: Maxime Ripard <maxime@cerno.tech>

    commit 5b006000423667ef0f55721fc93e477b31f22d28 upstream.

    Since we fixed the hooks to disable the encoder at boot, we now have an
    unbalanced clk_disable call at boot since we never enabled them in the
    first place.

    Let's mimic the state of the hardware and enable the clocks at boot if
    the controller is enabled to get the use-count right.

    Cc: <stable@vger.kernel.org> # v5.10+
    Fixes: 09c438139b8f ("drm/vc4: hdmi: Implement finer-grained hooks")
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210507150515.257424-7-maxime@cerno.tech
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/vc4/vc4_hdmi.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
    +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
    @@ -1807,6 +1807,14 @@ static int vc4_hdmi_bind(struct device *
    if (vc4_hdmi->variant->reset)
    vc4_hdmi->variant->reset(vc4_hdmi);

    + if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") ||
    + of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi1")) &&
    + HDMI_READ(HDMI_VID_CTL) & VC4_HD_VID_CTL_ENABLE) {
    + clk_prepare_enable(vc4_hdmi->pixel_clock);
    + clk_prepare_enable(vc4_hdmi->hsm_clock);
    + clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
    + }
    +
    pm_runtime_enable(dev);

    drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);

    \
     
     \ /
      Last update: 2021-07-15 21:00    [W:4.022 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site