Re: [Intel-gfx] [PATCH v2 01/15] drm: Add drm_rotation_90_or_270()

2016-09-27 Thread Joonas Lahtinen
On ma, 2016-09-26 at 19:30 +0300, ville.syrj...@linux.intel.com wrote:
> > From: Ville Syrjälä 
> 
> We have intel_rotation_90_or_270() in i915 to check if the rotation is
> 90 or 270 degrees. Similar checks are elsewhere in drm, so let's move
> the helper into a central place and use it everwhere.
> 
> v2: Drop the BIT()
> Convert all new intel_rotation_90_or_270() calls
> Deal with superfluous code shuffling
> 
> Signed-off-by: Ville Syrjälä 
> Reviewed-by: Joonas Lahtinen  (v1)

Looks good.

Reviewed-by: Joonas Lahtinen 

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH v2 01/15] drm: Add drm_rotation_90_or_270()

2016-09-26 Thread ville . syrjala
From: Ville Syrjälä 

We have intel_rotation_90_or_270() in i915 to check if the rotation is
90 or 270 degrees. Similar checks are elsewhere in drm, so let's move
the helper into a central place and use it everwhere.

v2: Drop the BIT()
Convert all new intel_rotation_90_or_270() calls
Deal with superfluous code shuffling

Signed-off-by: Ville Syrjälä 
Reviewed-by: Joonas Lahtinen  (v1)
Reviewed-by: Chris Wilson  (v1)
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c |  4 ++--
 drivers/gpu/drm/drm_atomic_helper.c |  2 +-
 drivers/gpu/drm/drm_crtc.c  |  3 +--
 drivers/gpu/drm/i915/intel_atomic_plane.c   |  3 ++-
 drivers/gpu/drm/i915/intel_display.c| 16 
 drivers/gpu/drm/i915/intel_drv.h|  6 --
 drivers/gpu/drm/i915/intel_fbc.c|  2 +-
 drivers/gpu/drm/i915/intel_pm.c | 12 ++--
 drivers/gpu/drm/omapdrm/omap_plane.c|  8 ++--
 include/drm/drm_blend.h |  5 +
 10 files changed, 28 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 9d4c030672f0..b380179d4013 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -393,7 +393,7 @@ static void atmel_hlcdc_plane_update_format(struct 
atmel_hlcdc_plane *plane,
 
if ((state->base.fb->pixel_format == DRM_FORMAT_YUV422 ||
 state->base.fb->pixel_format == DRM_FORMAT_NV61) &&
-   (state->base.rotation & (DRM_ROTATE_90 | DRM_ROTATE_270)))
+   drm_rotation_90_or_270(state->base.rotation))
cfg |= ATMEL_HLCDC_YUV422ROT;
 
atmel_hlcdc_layer_update_cfg(>layer,
@@ -628,7 +628,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane 
*p,
/*
 * Swap width and size in case of 90 or 270 degrees rotation
 */
-   if (state->base.rotation & (DRM_ROTATE_90 | DRM_ROTATE_270)) {
+   if (drm_rotation_90_or_270(state->base.rotation)) {
tmp = state->crtc_w;
state->crtc_w = state->crtc_h;
state->crtc_h = tmp;
diff --git a/drivers/gpu/drm/drm_atomic_helper.c 
b/drivers/gpu/drm/drm_atomic_helper.c
index c3f83476f996..13038bdb50ac 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2412,7 +2412,7 @@ int __drm_atomic_helper_set_config(struct drm_mode_set 
*set,
primary_state->crtc_h = vdisplay;
primary_state->src_x = set->x << 16;
primary_state->src_y = set->y << 16;
-   if (primary_state->rotation & (DRM_ROTATE_90 | DRM_ROTATE_270)) {
+   if (drm_rotation_90_or_270(primary_state->rotation)) {
primary_state->src_w = vdisplay << 16;
primary_state->src_h = hdisplay << 16;
} else {
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 2d7bedf28647..3307a114f6d2 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -695,8 +695,7 @@ int drm_crtc_check_viewport(const struct drm_crtc *crtc,
drm_crtc_get_hv_timing(mode, , );
 
if (crtc->state &&
-   crtc->primary->state->rotation & (DRM_ROTATE_90 |
- DRM_ROTATE_270))
+   drm_rotation_90_or_270(crtc->primary->state->rotation))
swap(hdisplay, vdisplay);
 
return drm_framebuffer_check_src_coords(x << 16, y << 16,
diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c 
b/drivers/gpu/drm/i915/intel_atomic_plane.c
index b82de3072d4f..c762ae549a1c 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -142,8 +142,9 @@ static int intel_plane_atomic_check(struct drm_plane *plane,
intel_state->clip.y2 =
crtc_state->base.enable ? crtc_state->pipe_src_h : 0;
 
-   if (state->fb && intel_rotation_90_or_270(state->rotation)) {
+   if (state->fb && drm_rotation_90_or_270(state->rotation)) {
char *format_name;
+
if (!(state->fb->modifier[0] == I915_FORMAT_MOD_Y_TILED ||
state->fb->modifier[0] == I915_FORMAT_MOD_Yf_TILED)) {
DRM_DEBUG_KMS("Y/Yf tiling required for 90/270!\n");
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index e5ad1010c8b1..9e475c41b723 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2139,7 +2139,7 @@ intel_fill_fb_ggtt_view(struct i915_ggtt_view *view,
const struct drm_framebuffer *fb,
unsigned int rotation)
 {
-   if (intel_rotation_90_or_270(rotation)) {
+   if (drm_rotation_90_or_270(rotation))