On Thu, Oct 15, 2015 at 08:40:01PM +0300, ville.syrjala at linux.intel.com 
wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> On atomic drivers we can dig out the primary plane rotation from the
> plane state instead of looking at the legacy crtc->invert_dimensions
> flag. The flag is not set by anyone except omapdrm, and it would be
> racy to set it the same way in the atomic helpers.

Can't we just remove the invert_dimensions field completely now?  It's a
legacy-only field, but no legacy drivers actually set it, so it winds up
being completely unused.


Matt

> 
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/drm_crtc.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 227613a..ffaa3f5 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -2545,6 +2545,16 @@ void drm_crtc_get_hv_timing(const struct 
> drm_display_mode *mode,
>  }
>  EXPORT_SYMBOL(drm_crtc_get_hv_timing);
>  
> +static bool invert_dimensions(const struct drm_crtc *crtc)
> +{
> +     if (crtc->state) {
> +             return crtc->primary->state->rotation & (BIT(DRM_ROTATE_90) |
> +                                                      BIT(DRM_ROTATE_270));
> +     } else {
> +             return crtc->invert_dimensions;
> +     }
> +}
> +
>  /**
>   * drm_crtc_check_viewport - Checks that a framebuffer is big enough for the
>   *     CRTC viewport
> @@ -2564,7 +2574,7 @@ int drm_crtc_check_viewport(const struct drm_crtc *crtc,
>  
>       drm_crtc_get_hv_timing(mode, &hdisplay, &vdisplay);
>  
> -     if (crtc->invert_dimensions)
> +     if (invert_dimensions(crtc))
>               swap(hdisplay, vdisplay);
>  
>       return check_src_coords(x << 16, y << 16,
> -- 
> 2.4.9
> 

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795

Reply via email to