drm: Replace 'format->format' comparisons to just 'format' comparisons
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 18 Nov 2016 19:53:10 +0000 (21:53 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 15 Dec 2016 12:55:34 +0000 (14:55 +0200)
Rather than compare the format u32s of two format infos, we can direclty
compare the format info pointers themselves. Noramlly all the ->format
pointers all point to somwehere in the big array, so this is a valid
way to test for equality.

Also drivers may want to point ->format at a private format info struct
instead (eg. for special compressed formats with extra planes), so
just comparing the pixel format values wouldn't necessaritly even work.
But comparing the pointers will also take care of that case.

@@
struct drm_framebuffer *a;
struct drm_framebuffer *b;
@@
(
- a->format->format != b->format->format
+ a->format != b->format
|
- a->format->format == b->format->format
+ a->format == b->format
)

@@
struct drm_plane_state *a;
struct drm_plane_state *b;
@@
(
- a->fb->format->format != b->fb->format->format
+ a->fb->format != b->fb->format
|
- a->fb->format->format == b->fb->format->format
+ a->fb->format == b->fb->format
)

@@
struct drm_crtc *crtc;
struct drm_framebuffer *x;
@@
(
- crtc->primary->fb->format->format != x->format->format
+ crtc->primary->fb->format != x->format
|
- x->format->format != crtc->primary->fb->format->format
+ x->format != crtc->primary->fb->format
)

@@
struct drm_mode_set *set;
@@
- set->fb->format->format != set->crtc->primary->fb->format->format
+ set->fb->format != set->crtc->primary->fb->format

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1479498793-31021-35-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/armada/armada_crtc.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_plane.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/imx/ipuv3-plane.c
drivers/gpu/drm/tilcdc/tilcdc_plane.c

index 41fc6ee9da91720a81c8de1ec2be909f1ef96ffe..e62ee4498ce49a11eed2b0e256e312883a4e58ef 100644 (file)
@@ -1035,7 +1035,7 @@ static int armada_drm_crtc_page_flip(struct drm_crtc *crtc,
        int ret;
 
        /* We don't support changing the pixel format */
-       if (fb->format->format != crtc->primary->fb->format->format)
+       if (fb->format != crtc->primary->fb->format)
                return -EINVAL;
 
        work = kmalloc(sizeof(*work), GFP_KERNEL);
index 94bce0b462aa2faaa202e48729b59ee35b9d650c..9d007f5f973255b4a7528e7da397d7e119824593 100644 (file)
@@ -588,8 +588,7 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
                if (set->crtc->primary->fb == NULL) {
                        DRM_DEBUG_KMS("crtc has no fb, full mode set\n");
                        mode_changed = true;
-               } else if (set->fb->format->format !=
-                          set->crtc->primary->fb->format->format) {
+               } else if (set->fb->format != set->crtc->primary->fb->format) {
                        mode_changed = true;
                } else
                        fb_changed = true;
index f479cda5fc2da185d78ba1c88156fb487161acd8..8ad20af88ed70c60c41ae9798e06d48aec521e16 100644 (file)
@@ -858,7 +858,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
        if (ret)
                goto out;
 
-       if (crtc->primary->fb->format->format != fb->format->format) {
+       if (crtc->primary->fb->format != fb->format) {
                DRM_DEBUG_KMS("Page flip is not allowed to change frame buffer format.\n");
                ret = -EINVAL;
                goto out;
index 3b56b2cae8045eed74dfab8ee1e8b2db5965c83e..135c601ff6301a59ddcfe75b1764bb5cc01c2544 100644 (file)
@@ -12147,7 +12147,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
                return -EBUSY;
 
        /* Can't change pixel format via MI display flips. */
-       if (fb->format->format != crtc->primary->fb->format->format)
+       if (fb->format != crtc->primary->fb->format)
                return -EINVAL;
 
        /*
index 0b945f077344856553b3097490b00b94d694d625..8b5294d47ceeed710c8f476550f5e63fe3e1a3b8 100644 (file)
@@ -281,7 +281,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
         */
        if (old_fb && (state->src_w != old_state->src_w ||
                              state->src_h != old_state->src_h ||
-                             fb->format->format != old_fb->format->format))
+                             fb->format != old_fb->format))
                crtc_state->mode_changed = true;
 
        eba = drm_plane_state_to_eba(state);
@@ -315,7 +315,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
                if (vbo & 0x7 || vbo > 0xfffff8)
                        return -EINVAL;
 
-               if (old_fb && (fb->format->format == old_fb->format->format)) {
+               if (old_fb && (fb->format == old_fb->format)) {
                        old_vbo = drm_plane_state_to_vbo(old_state);
                        if (vbo != old_vbo)
                                crtc_state->mode_changed = true;
@@ -332,7 +332,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
                if (ubo & 0x7 || ubo > 0xfffff8)
                        return -EINVAL;
 
-               if (old_fb && (fb->format->format == old_fb->format->format)) {
+               if (old_fb && (fb->format == old_fb->format)) {
                        old_ubo = drm_plane_state_to_ubo(old_state);
                        if (ubo != old_ubo)
                                crtc_state->mode_changed = true;
index 4b7519dfd1b9874ce44617aabe3f8f1a9f2835e1..ba0d66c0d8ac8965056026354b5a591e3f6dd210 100644 (file)
@@ -77,7 +77,7 @@ static int tilcdc_plane_atomic_check(struct drm_plane *plane,
        }
 
        if (state->fb && old_state->fb &&
-           state->fb->format->format != old_state->fb->format->format) {
+           state->fb->format != old_state->fb->format) {
                dev_dbg(plane->dev->dev,
                        "%s(): pixel format change requires mode_change\n",
                        __func__);