Reviewed-by: Ander Conselvan de Oliveira <[email protected]>

On 01/22/2015 02:35 AM, Matt Roper wrote:
This will exercise our atomic pipeline for legacy property updates.

Signed-off-by: Matt Roper <[email protected]>
---
  drivers/gpu/drm/i915/intel_atomic_plane.c |  9 +++++++++
  drivers/gpu/drm/i915/intel_display.c      |  3 ++-
  drivers/gpu/drm/i915/intel_sprite.c       | 26 --------------------------
  3 files changed, 11 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c 
b/drivers/gpu/drm/i915/intel_atomic_plane.c
index 4a3914f..9e6f727 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -118,6 +118,15 @@ static int intel_plane_atomic_check(struct drm_plane 
*plane,
        intel_crtc = to_intel_crtc(crtc);

        /*
+        * Both crtc and plane->crtc could be NULL if we're updating a
+        * property while the plane is disabled.  We don't actually have
+        * anything driver-specific we need to test in that case, so
+        * just return success.
+        */
+       if (!crtc)
+               return 0;
+
+       /*
         * The original src/dest coordinates are stored in state->base, but
         * we want to keep another copy internal to our driver that we can
         * clip/modify ourselves.
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index db20773..90b788a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -37,6 +37,7 @@
  #include <drm/i915_drm.h>
  #include "i915_drv.h"
  #include "i915_trace.h"
+#include <drm/drm_atomic_helper.h>
  #include <drm/drm_dp_helper.h>
  #include <drm/drm_crtc_helper.h>
  #include <drm/drm_plane_helper.h>
@@ -12055,7 +12056,7 @@ const struct drm_plane_funcs intel_plane_funcs = {
        .update_plane = drm_plane_helper_update,
        .disable_plane = drm_plane_helper_disable,
        .destroy = intel_plane_destroy,
-       .set_property = intel_plane_set_property,
+       .set_property = drm_atomic_helper_plane_set_property,
        .atomic_get_property = intel_plane_atomic_get_property,
        .atomic_set_property = intel_plane_atomic_set_property,
        .atomic_duplicate_state = intel_plane_duplicate_state,
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 50683d4..0a52c44 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1362,32 +1362,6 @@ out_unlock:
        return ret;
  }

-int intel_plane_set_property(struct drm_plane *plane,
-                            struct drm_property *prop,
-                            uint64_t val)
-{
-       struct drm_device *dev = plane->dev;
-       uint64_t old_val;
-       int ret = -ENOENT;
-
-       if (prop == dev->mode_config.rotation_property) {
-               /* exactly one rotation angle please */
-               if (hweight32(val & 0xf) != 1)
-                       return -EINVAL;
-
-               if (plane->state->rotation == val)
-                       return 0;
-
-               old_val = plane->state->rotation;
-               plane->state->rotation = val;
-               ret = intel_plane_restore(plane);
-               if (ret)
-                       plane->state->rotation = old_val;
-       }
-
-       return ret;
-}
-
  int intel_plane_restore(struct drm_plane *plane)
  {
        if (!plane->crtc || !plane->fb)


_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to