@@ -969,7 +969,8 @@ static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder,
969
969
vc4_hdmi -> variant -> phy_disable (vc4_hdmi );
970
970
971
971
clk_disable_unprepare (vc4_hdmi -> pixel_bvb_clock );
972
- clk_request_done (vc4_hdmi -> bvb_req );
972
+ if (vc4_hdmi -> bvb_req )
973
+ clk_request_done (vc4_hdmi -> bvb_req );
973
974
clk_request_done (vc4_hdmi -> hsm_req );
974
975
clk_disable_unprepare (vc4_hdmi -> pixel_clock );
975
976
@@ -1275,7 +1276,8 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder,
1275
1276
else
1276
1277
bvb_rate = 75000000 ;
1277
1278
1278
- vc4_hdmi -> bvb_req = clk_request_start (vc4_hdmi -> pixel_bvb_clock , bvb_rate );
1279
+ if (vc4_hdmi -> pixel_bvb_clock )
1280
+ vc4_hdmi -> bvb_req = clk_request_start (vc4_hdmi -> pixel_bvb_clock , bvb_rate );
1279
1281
if (IS_ERR (vc4_hdmi -> bvb_req )) {
1280
1282
DRM_ERROR ("Failed to set pixel bvb clock rate: %ld\n" , PTR_ERR (vc4_hdmi -> bvb_req ));
1281
1283
clk_request_done (vc4_hdmi -> hsm_req );
@@ -1287,7 +1289,8 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder,
1287
1289
ret = clk_prepare_enable (vc4_hdmi -> pixel_bvb_clock );
1288
1290
if (ret ) {
1289
1291
DRM_ERROR ("Failed to turn on pixel bvb clock: %d\n" , ret );
1290
- clk_request_done (vc4_hdmi -> bvb_req );
1292
+ if (vc4_hdmi -> bvb_req )
1293
+ clk_request_done (vc4_hdmi -> bvb_req );
1291
1294
clk_request_done (vc4_hdmi -> hsm_req );
1292
1295
clk_disable_unprepare (vc4_hdmi -> hsm_clock );
1293
1296
clk_disable_unprepare (vc4_hdmi -> pixel_clock );
0 commit comments