|
@@ -722,6 +722,7 @@ static int sde_encoder_phys_wb_atomic_check(
|
|
|
struct sde_rect wb_roi;
|
|
|
const struct drm_display_mode *mode = &crtc_state->mode;
|
|
|
int rc;
|
|
|
+ bool clone_mode_curr = false;
|
|
|
|
|
|
SDE_DEBUG("[atomic_check:%d,\"%s\",%d,%d]\n",
|
|
|
hw_wb->idx - WB_0, mode->name,
|
|
@@ -737,8 +738,15 @@ static int sde_encoder_phys_wb_atomic_check(
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+ clone_mode_curr = phys_enc->in_clone_mode;
|
|
|
+
|
|
|
_sde_enc_phys_wb_detect_cwb(phys_enc, crtc_state);
|
|
|
|
|
|
+ if (clone_mode_curr && !phys_enc->in_clone_mode) {
|
|
|
+ SDE_ERROR("WB commit before CWB disable\n");
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
memset(&wb_roi, 0, sizeof(struct sde_rect));
|
|
|
|
|
|
rc = sde_wb_connector_state_get_output_roi(conn_state, &wb_roi);
|