return TDM_ERROR_DPMS_OFF;
}
+ if (private_output->waiting_dpms_change) {
+ TDM_WRN("output(%d) dpms is changing: %s", private_output->pipe,
+ tdm_dpms_str(private_output->current_dpms_value));
+ _pthread_mutex_unlock(&private_display->lock);
+ return TDM_ERROR_DPMS_OFF;
+ }
+
ret = _tdm_output_wait_vblank(private_output, interval, sync, func, user_data, 0);
_pthread_mutex_unlock(&private_display->lock);
return TDM_ERROR_DPMS_OFF;
}
+ if (private_output->waiting_dpms_change) {
+ TDM_WRN("output(%d) dpms is changing: %s", private_output->pipe,
+ tdm_dpms_str(private_output->current_dpms_value));
+ _pthread_mutex_unlock(&private_display->lock);
+ return TDM_ERROR_DPMS_OFF;
+ }
+
ret = _tdm_output_wait_vblank(private_output, interval, sync, func, user_data, 1);
_pthread_mutex_unlock(&private_display->lock);
return ret;
}
+INTERN tdm_error
+tdm_output_get_dpms_changing(tdm_output *output, int *changing)
+{
+ tdm_private_output *private_output;
+
+ TDM_RETURN_VAL_IF_FAIL(output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ TDM_RETURN_VAL_IF_FAIL(changing != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+ private_output = (tdm_private_output*)output;
+
+ *changing = private_output->waiting_dpms_change;
+
+ return TDM_ERROR_NONE;
+}
+
+
EXTERN tdm_error
tdm_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value)
{