+static tdm_error
+_tdm_vblank_set_fps(tdm_vblank *vblank, unsigned int fps)
+{
+ tdm_private_vblank *private_vblank = vblank;
+
+ if (private_vblank->fps_fixed) {
+ VIN("fps(%u) can't be changed", private_vblank->fps);
+ return TDM_ERROR_NONE;
+ }
+
+ private_vblank->fps_changeable = 0;
+
+ if (private_vblank->fps == fps)
+ return TDM_ERROR_NONE;
+
+ private_vblank->fps = fps;
+ private_vblank->check_HW_or_SW = 1;
+
+ VIN("fps(%u) changed", fps);
+
+ return TDM_ERROR_NONE;
+}
+
+static tdm_error
+_tdm_vblank_ignore_global_fps(tdm_vblank *vblank, unsigned int ignore)
+{
+ tdm_private_vblank *private_vblank = vblank;
+
+ if (private_vblank->ignore_global_fps == ignore)
+ return TDM_ERROR_NONE;
+
+ private_vblank->ignore_global_fps = ignore;
+ private_vblank->check_HW_or_SW = 1;
+
+ VIN("ignore_global_fps(%u)", private_vblank->ignore_global_fps);
+
+ return TDM_ERROR_NONE;
+}
+