diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2013-08-06 15:24:09 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-08-08 08:11:13 -0400 |
commit | b39d53f624d50d1588933e0ab17f19a5f2da5d94 (patch) | |
tree | 8ff2d3cfce8fa89fa28aa8f0a9d37f4e2fa45e21 /drivers | |
parent | c35426d2bc25b242ee2a9a7a1d62634be1e86bb0 (diff) |
drm/i915: Pass crtc to our update/disable_plane hooks
We're going to want to know which CRTC we're dealing with, so pass it
down to the update/disable_plane hooks.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers')
-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; |