|
@@ -7481,7 +7481,8 @@ inline static void intel_mark_page_flip_active(struct intel_crtc *intel_crtc)
|
|
|
static int intel_gen2_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -7525,7 +7526,8 @@ err:
|
|
|
static int intel_gen3_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -7566,7 +7568,8 @@ err:
|
|
|
static int intel_gen4_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -7614,7 +7617,8 @@ err:
|
|
|
static int intel_gen6_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -7664,7 +7668,8 @@ err:
|
|
|
static int intel_gen7_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
@@ -7714,14 +7719,16 @@ err:
|
|
|
static int intel_default_queue_flip(struct drm_device *dev,
|
|
|
struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_i915_gem_object *obj)
|
|
|
+ struct drm_i915_gem_object *obj,
|
|
|
+ uint32_t flags)
|
|
|
{
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
|
|
|
static int intel_crtc_page_flip(struct drm_crtc *crtc,
|
|
|
struct drm_framebuffer *fb,
|
|
|
- struct drm_pending_vblank_event *event)
|
|
|
+ struct drm_pending_vblank_event *event,
|
|
|
+ uint32_t page_flip_flags)
|
|
|
{
|
|
|
struct drm_device *dev = crtc->dev;
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
@@ -7791,7 +7798,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
|
|
|
atomic_inc(&intel_crtc->unpin_work_count);
|
|
|
intel_crtc->reset_counter = atomic_read(&dev_priv->gpu_error.reset_counter);
|
|
|
|
|
|
- ret = dev_priv->display.queue_flip(dev, crtc, fb, obj);
|
|
|
+ ret = dev_priv->display.queue_flip(dev, crtc, fb, obj, page_flip_flags);
|
|
|
if (ret)
|
|
|
goto cleanup_pending;
|
|
|
|