diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sprite.c | 21 |
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 | ||
| 40 | static void | 40 | static void |
| 41 | vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb, | 41 | vlv_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 | ||
| 142 | static void | 143 | static void |
| 143 | vlv_disable_plane(struct drm_plane *dplane) | 144 | vlv_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 | ||
| 209 | static void | 210 | static void |
| 210 | ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, | 211 | ivb_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 | ||
| 322 | static void | 324 | static void |
| 323 | ivb_disable_plane(struct drm_plane *plane) | 325 | ivb_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 | ||
| 402 | static void | 404 | static void |
| 403 | ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, | 405 | ilk_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 | ||
| 490 | static void | 493 | static void |
| 491 | ilk_disable_plane(struct drm_plane *plane) | 494 | ilk_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; |
