aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h4
-rw-r--r--drivers/gpu/drm/i915/intel_sprite.c21
2 files changed, 15 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3ea8e5fe4407..da394f354453 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -359,13 +359,15 @@ struct intel_plane {
359 struct intel_plane_wm_parameters wm; 359 struct intel_plane_wm_parameters wm;
360 360
361 void (*update_plane)(struct drm_plane *plane, 361 void (*update_plane)(struct drm_plane *plane,
362 struct drm_crtc *crtc,
362 struct drm_framebuffer *fb, 363 struct drm_framebuffer *fb,
363 struct drm_i915_gem_object *obj, 364 struct drm_i915_gem_object *obj,
364 int crtc_x, int crtc_y, 365 int crtc_x, int crtc_y,
365 unsigned int crtc_w, unsigned int crtc_h, 366 unsigned int crtc_w, unsigned int crtc_h,
366 uint32_t x, uint32_t y, 367 uint32_t x, uint32_t y,
367 uint32_t src_w, uint32_t src_h); 368 uint32_t src_w, uint32_t src_h);
368 void (*disable_plane)(struct drm_plane *plane); 369 void (*disable_plane)(struct drm_plane *plane,
370 struct drm_crtc *crtc);
369 int (*update_colorkey)(struct drm_plane *plane, 371 int (*update_colorkey)(struct drm_plane *plane,
370 struct drm_intel_sprite_colorkey *key); 372 struct drm_intel_sprite_colorkey *key);
371 void (*get_colorkey)(struct drm_plane *plane, 373 void (*get_colorkey)(struct drm_plane *plane,
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 5a36afb6ea03..d4e0592e3389 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -38,7 +38,8 @@
38#include "i915_drv.h" 38#include "i915_drv.h"
39 39
40static void 40static void
41vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb, 41vlv_update_plane(struct drm_plane *dplane, struct drm_crtc *crtc,
42 struct drm_framebuffer *fb,
42 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y, 43 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y,
43 unsigned int crtc_w, unsigned int crtc_h, 44 unsigned int crtc_w, unsigned int crtc_h,
44 uint32_t x, uint32_t y, 45 uint32_t x, uint32_t y,
@@ -140,7 +141,7 @@ vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb,
140} 141}
141 142
142static void 143static void
143vlv_disable_plane(struct drm_plane *dplane) 144vlv_disable_plane(struct drm_plane *dplane, struct drm_crtc *crtc)
144{ 145{
145 struct drm_device *dev = dplane->dev; 146 struct drm_device *dev = dplane->dev;
146 struct drm_i915_private *dev_priv = dev->dev_private; 147 struct drm_i915_private *dev_priv = dev->dev_private;
@@ -207,7 +208,8 @@ vlv_get_colorkey(struct drm_plane *dplane,
207} 208}
208 209
209static void 210static void
210ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, 211ivb_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
212 struct drm_framebuffer *fb,
211 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y, 213 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y,
212 unsigned int crtc_w, unsigned int crtc_h, 214 unsigned int crtc_w, unsigned int crtc_h,
213 uint32_t x, uint32_t y, 215 uint32_t x, uint32_t y,
@@ -320,7 +322,7 @@ ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb,
320} 322}
321 323
322static void 324static void
323ivb_disable_plane(struct drm_plane *plane) 325ivb_disable_plane(struct drm_plane *plane, struct drm_crtc *crtc)
324{ 326{
325 struct drm_device *dev = plane->dev; 327 struct drm_device *dev = plane->dev;
326 struct drm_i915_private *dev_priv = dev->dev_private; 328 struct drm_i915_private *dev_priv = dev->dev_private;
@@ -400,7 +402,8 @@ ivb_get_colorkey(struct drm_plane *plane, struct drm_intel_sprite_colorkey *key)
400} 402}
401 403
402static void 404static void
403ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, 405ilk_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
406 struct drm_framebuffer *fb,
404 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y, 407 struct drm_i915_gem_object *obj, int crtc_x, int crtc_y,
405 unsigned int crtc_w, unsigned int crtc_h, 408 unsigned int crtc_w, unsigned int crtc_h,
406 uint32_t x, uint32_t y, 409 uint32_t x, uint32_t y,
@@ -488,7 +491,7 @@ ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb,
488} 491}
489 492
490static void 493static void
491ilk_disable_plane(struct drm_plane *plane) 494ilk_disable_plane(struct drm_plane *plane, struct drm_crtc *crtc)
492{ 495{
493 struct drm_device *dev = plane->dev; 496 struct drm_device *dev = plane->dev;
494 struct drm_i915_private *dev_priv = dev->dev_private; 497 struct drm_i915_private *dev_priv = dev->dev_private;
@@ -823,11 +826,11 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
823 intel_enable_primary(crtc); 826 intel_enable_primary(crtc);
824 827
825 if (visible) 828 if (visible)
826 intel_plane->update_plane(plane, fb, obj, 829 intel_plane->update_plane(plane, crtc, fb, obj,
827 crtc_x, crtc_y, crtc_w, crtc_h, 830 crtc_x, crtc_y, crtc_w, crtc_h,
828 src_x, src_y, src_w, src_h); 831 src_x, src_y, src_w, src_h);
829 else 832 else
830 intel_plane->disable_plane(plane); 833 intel_plane->disable_plane(plane, crtc);
831 834
832 if (disable_primary) 835 if (disable_primary)
833 intel_disable_primary(crtc); 836 intel_disable_primary(crtc);
@@ -862,7 +865,7 @@ intel_disable_plane(struct drm_plane *plane)
862 865
863 if (plane->crtc) 866 if (plane->crtc)
864 intel_enable_primary(plane->crtc); 867 intel_enable_primary(plane->crtc);
865 intel_plane->disable_plane(plane); 868 intel_plane->disable_plane(plane, plane->crtc);
866 869
867 if (!intel_plane->obj) 870 if (!intel_plane->obj)
868 goto out; 871 goto out;