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