All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, Ben Widawsky <ben@bwidawsk.net>,
	Daniel Stone <daniels@collabora.com>
Subject: Re: [PATCH 4/8] drm/i915: Clean up the sprite modifier checks
Date: Wed, 10 Jan 2018 14:12:53 +0100	[thread overview]
Message-ID: <20180110131252.GS13066@phenom.ffwll.local> (raw)
In-Reply-To: <20171222192231.17981-5-ville.syrjala@linux.intel.com>

On Fri, Dec 22, 2017 at 09:22:27PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Split the g4x and snb cases into separate functions to match how we deal
> with all other platforms. Also sort the switch cases to match the format
> lists we've declared earlier, to ease comparisons.
> 
> Cc: Ben Widawsky <ben@bwidawsk.net>
> Cc: Jason Ekstrand <jason@jlekstrand.net>
> Cc: Daniel Stone <daniels@collabora.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 48 ++++++++++++++++++++++---------------
>  1 file changed, 29 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 51bd79ad647a..349be8134c76 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -1169,12 +1169,9 @@ static const uint64_t skl_plane_format_modifiers[] = {
>  	DRM_FORMAT_MOD_INVALID
>  };
>  
> -static bool g4x_sprite_plane_format_mod_supported(struct drm_plane *plane,
> -						  uint32_t format,
> -						  uint64_t modifier)
> +static bool g4x_mod_supported(uint32_t format, uint64_t modifier)
>  {
>  	switch (format) {
> -	case DRM_FORMAT_XBGR8888:
>  	case DRM_FORMAT_XRGB8888:
>  	case DRM_FORMAT_YUYV:
>  	case DRM_FORMAT_YVYU:
> @@ -1189,22 +1186,38 @@ static bool g4x_sprite_plane_format_mod_supported(struct drm_plane *plane,
>  	}
>  }
>  
> -static bool vlv_sprite_plane_format_mod_supported(struct drm_plane *plane,
> -						  uint32_t format,
> -						  uint64_t modifier)
> +static bool snb_mod_supported(uint32_t format, uint64_t modifier)
>  {
>  	switch (format) {
> +	case DRM_FORMAT_XRGB8888:
> +	case DRM_FORMAT_XBGR8888:
>  	case DRM_FORMAT_YUYV:
>  	case DRM_FORMAT_YVYU:
>  	case DRM_FORMAT_UYVY:
>  	case DRM_FORMAT_VYUY:
> +		if (modifier == DRM_FORMAT_MOD_LINEAR ||
> +		    modifier == I915_FORMAT_MOD_X_TILED)
> +			return true;
> +		/* fall through */
> +	default:
> +		return false;
> +	}
> +}
> +
> +static bool vlv_mod_supported(uint32_t format, uint64_t modifier)
> +{
> +	switch (format) {
>  	case DRM_FORMAT_RGB565:
> -	case DRM_FORMAT_XRGB8888:
> +	case DRM_FORMAT_ABGR8888:
>  	case DRM_FORMAT_ARGB8888:
> +	case DRM_FORMAT_XBGR8888:
> +	case DRM_FORMAT_XRGB8888:
>  	case DRM_FORMAT_XBGR2101010:
>  	case DRM_FORMAT_ABGR2101010:
> -	case DRM_FORMAT_XBGR8888:
> -	case DRM_FORMAT_ABGR8888:
> +	case DRM_FORMAT_YUYV:
> +	case DRM_FORMAT_YVYU:
> +	case DRM_FORMAT_UYVY:
> +	case DRM_FORMAT_VYUY:
>  		if (modifier == DRM_FORMAT_MOD_LINEAR ||
>  		    modifier == I915_FORMAT_MOD_X_TILED)
>  			return true;
> @@ -1214,11 +1227,8 @@ static bool vlv_sprite_plane_format_mod_supported(struct drm_plane *plane,
>  	}
>  }
>  
> -static bool skl_sprite_plane_format_mod_supported(struct drm_plane *plane,
> -						  uint32_t format,
> -						  uint64_t modifier)
> +static bool skl_mod_supported(uint32_t format, uint64_t modifier)
>  {
> -	/* This is the same as primary plane since SKL has universal planes */
>  	switch (format) {
>  	case DRM_FORMAT_XRGB8888:
>  	case DRM_FORMAT_XBGR8888:
> @@ -1259,13 +1269,13 @@ static bool intel_sprite_plane_format_mod_supported(struct drm_plane *plane,
>  		return false;
>  
>  	if (INTEL_GEN(dev_priv) >= 9)
> -		return skl_sprite_plane_format_mod_supported(plane, format, modifier);
> +		return skl_mod_supported(format, modifier);
>  	else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
> -		return vlv_sprite_plane_format_mod_supported(plane, format, modifier);
> +		return vlv_mod_supported(format, modifier);
> +	else if (INTEL_GEN(dev_priv) >= 6)
> +		return snb_mod_supported(format, modifier);
>  	else
> -		return g4x_sprite_plane_format_mod_supported(plane, format, modifier);
> -
> -	unreachable();
> +		return g4x_mod_supported(format, modifier);
>  }
>  
>  static const struct drm_plane_funcs intel_sprite_plane_funcs = {
> -- 
> 2.13.6
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2018-01-10 13:12 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-22 19:22 [PATCH v2 0/8] drm/i915: Fix up the CCS code Ville Syrjala
2017-12-22 19:22 ` [PATCH 1/8] drm/i915: Add a comment exlaining CCS hsub/vsub Ville Syrjala
2018-01-10 12:59   ` Daniel Vetter
2018-01-10 17:03   ` Jason Ekstrand
2018-01-10 17:48     ` Ville Syrjälä
2018-01-12  5:25       ` Jason Ekstrand
2018-01-17 20:20         ` Ville Syrjälä
2018-01-17 22:05           ` Jason Ekstrand
2018-01-19 14:41   ` [PATCH v2 " Ville Syrjala
2018-01-20 17:39     ` Jason Ekstrand
2018-01-24 18:18       ` Ville Syrjälä
2017-12-22 19:22 ` [PATCH 2/8] drm/i915: Nuke a pointless unreachable() Ville Syrjala
2018-01-10 12:58   ` Daniel Vetter
2017-12-22 19:22 ` [PATCH v2 3/8] drm/i915: Add the missing Y/Yf modifiers for SKL+ sprites Ville Syrjala
2017-12-22 20:42   ` Daniel Stone
2018-01-10 12:59   ` Daniel Vetter
2018-01-17 20:01     ` Ville Syrjälä
2017-12-22 19:22 ` [PATCH 4/8] drm/i915: Clean up the sprite modifier checks Ville Syrjala
2018-01-10 13:12   ` Daniel Vetter [this message]
2017-12-22 19:22 ` [PATCH 5/8] drm/i915: Add CCS capability for sprites Ville Syrjala
2017-12-27 11:10   ` Mika Kahola
2017-12-22 19:22 ` [PATCH 6/8] drm/i915: Allow up to 32KB stride on SKL+ "sprites" Ville Syrjala
2018-01-10 13:03   ` Daniel Vetter
2018-01-17 20:18     ` Ville Syrjälä
2017-12-22 19:22 ` [PATCH 7/8] drm: Check that the plane supports the request format+modifier combo Ville Syrjala
2018-01-10 13:04   ` [Intel-gfx] " Daniel Vetter
2018-02-26 14:43     ` Ville Syrjälä
2017-12-22 19:22 ` [PATCH 8/8] drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() Ville Syrjala
2017-12-27 11:33   ` Mika Kahola
2017-12-22 20:31 ` ✓ Fi.CI.BAT: success for drm/i915: Fix up the CCS code (rev2) Patchwork
2017-12-22 22:39 ` ✗ Fi.CI.IGT: warning " Patchwork
2018-01-19 15:32 ` ✗ Fi.CI.BAT: failure for drm/i915: Fix up the CCS code (rev3) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180110131252.GS13066@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=ben@bwidawsk.net \
    --cc=daniels@collabora.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.