@@ -936,7 +936,8 @@ static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder,
936
936
HDMI_READ (HDMI_VID_CTL ) & ~VC4_HD_VID_CTL_ENABLE );
937
937
938
938
clk_disable_unprepare (vc4_hdmi -> pixel_bvb_clock );
939
- clk_request_done (vc4_hdmi -> bvb_req );
939
+ if (vc4_hdmi -> bvb_req )
940
+ clk_request_done (vc4_hdmi -> bvb_req );
940
941
clk_disable_unprepare (vc4_hdmi -> hsm_clock );
941
942
clk_request_done (vc4_hdmi -> hsm_req );
942
943
clk_disable_unprepare (vc4_hdmi -> pixel_clock );
@@ -1265,7 +1266,8 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder,
1265
1266
else
1266
1267
bvb_rate = 75000000 ;
1267
1268
1268
- vc4_hdmi -> bvb_req = clk_request_start (vc4_hdmi -> pixel_bvb_clock , bvb_rate );
1269
+ if (vc4_hdmi -> pixel_bvb_clock )
1270
+ vc4_hdmi -> bvb_req = clk_request_start (vc4_hdmi -> pixel_bvb_clock , bvb_rate );
1269
1271
if (IS_ERR (vc4_hdmi -> bvb_req )) {
1270
1272
DRM_ERROR ("Failed to set pixel bvb clock rate: %ld\n" , PTR_ERR (vc4_hdmi -> bvb_req ));
1271
1273
clk_request_done (vc4_hdmi -> hsm_req );
@@ -1277,7 +1279,8 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder,
1277
1279
ret = clk_prepare_enable (vc4_hdmi -> pixel_bvb_clock );
1278
1280
if (ret ) {
1279
1281
DRM_ERROR ("Failed to turn on pixel bvb clock: %d\n" , ret );
1280
- clk_request_done (vc4_hdmi -> bvb_req );
1282
+ if (vc4_hdmi -> bvb_req )
1283
+ clk_request_done (vc4_hdmi -> bvb_req );
1281
1284
clk_request_done (vc4_hdmi -> hsm_req );
1282
1285
clk_disable_unprepare (vc4_hdmi -> hsm_clock );
1283
1286
clk_disable_unprepare (vc4_hdmi -> pixel_clock );
0 commit comments