[Intel-gfx] [PATCH v4 11/11] drm/i915: split fb scalable checks into g4x and skl versions

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Dec 16 12:16:04 UTC 2020


On Wed, Dec 16, 2020 at 01:29:18PM +0200, Jani Nikula wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> This just cleans these up a bit.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_gen9_plane.c | 4 ++--
>  drivers/gpu/drm/i915/display/intel_sprite.c     | 7 +++----
>  2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_gen9_plane.c b/drivers/gpu/drm/i915/display/intel_gen9_plane.c
> index 8549b262f095..c695ee990a82 100644
> --- a/drivers/gpu/drm/i915/display/intel_gen9_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_gen9_plane.c
> @@ -2139,7 +2139,7 @@ static int skl_check_plane_surface(struct intel_plane_state *plane_state)
>  	return 0;
>  }
>  
> -static bool intel_fb_scalable(const struct drm_framebuffer *fb)
> +static bool skl_fb_scalable(const struct drm_framebuffer *fb)
>  {
>  	if (!fb)
>  		return false;
> @@ -2172,7 +2172,7 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
>  		return ret;
>  
>  	/* use scaler when colorkey is not required */
> -	if (!plane_state->ckey.flags && intel_fb_scalable(fb)) {
> +	if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
>  		min_scale = 1;
>  		max_scale = skl_plane_max_scale(dev_priv, fb);
>  	}
> diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
> index cc3bec42d04c..4cb6339d12be 100644
> --- a/drivers/gpu/drm/i915/display/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/display/intel_sprite.c
> @@ -1282,19 +1282,18 @@ g4x_plane_get_hw_state(struct intel_plane *plane,
>  	return ret;
>  }
>  
> -static bool intel_fb_scalable(const struct drm_framebuffer *fb)
> +static bool g4x_fb_scalable(const struct drm_framebuffer *fb)
>  {
>  	if (!fb)
>  		return false;
>  
>  	switch (fb->format->format) {
>  	case DRM_FORMAT_C8:
> -		return false;
>  	case DRM_FORMAT_XRGB16161616F:
>  	case DRM_FORMAT_ARGB16161616F:
>  	case DRM_FORMAT_XBGR16161616F:
>  	case DRM_FORMAT_ABGR16161616F:
> -		return INTEL_GEN(to_i915(fb->dev)) >= 11;
> +		return false;

We could drop a bunch of the formats here since they're not
supported by the g4x+ sprites anyway. But that could be a followup.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  	default:
>  		return true;
>  	}
> @@ -1371,7 +1370,7 @@ g4x_sprite_check(struct intel_crtc_state *crtc_state,
>  	int max_scale = DRM_PLANE_HELPER_NO_SCALING;
>  	int ret;
>  
> -	if (intel_fb_scalable(plane_state->hw.fb)) {
> +	if (g4x_fb_scalable(plane_state->hw.fb)) {
>  		if (INTEL_GEN(dev_priv) < 7) {
>  			min_scale = 1;
>  			max_scale = 16 << 16;
> -- 
> 2.20.1

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list