When dpms off execute, sometimes setted surface can be free by offscreen commit. (prepare commit)
In this case it's need to crtc set again before atomic commit after dpms on.
Change-Id: I384170009f3151f0b7a2b233a70ffbe129e94244
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
RETURN_VAL_IF_FAIL(output_data, TDM_ERROR_INVALID_PARAMETER);
- if (!output_data->crtc_enabled || output_data->mode_changed) {
+ if (!output_data->crtc_enabled || output_data->mode_changed || output_data->crtc_reset) {
drmModeModeInfoPtr mode;
layer_data = output_data->primary_layer;
output_data->crtc_enabled = 1;
output_data->mode_changed = 0;
+ output_data->crtc_reset = 0;
}
request = drmModeAtomicAlloc();
return TDM_ERROR_OPERATION_FAILED;
}
+ if (dpms_value == TDM_OUTPUT_DPMS_OFF)
+ output_data->crtc_reset = 1;
+
return TDM_ERROR_NONE;
}
/* hwc */
int hwc_enable;
tdm_nexell_hwc_data *hwc_data;
+
+ int crtc_reset;
};
struct _tdm_nexell_layer_data {