From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Eric Anholt <eric@anholt.net>
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm: Trust format_mod_supported() when it OKs a plane modifier.
Date: Tue, 22 May 2018 19:31:27 +0300 [thread overview]
Message-ID: <20180522163127.GH23723@intel.com> (raw)
In-Reply-To: <20180316220435.31416-1-eric@anholt.net>
On Fri, Mar 16, 2018 at 03:04:33PM -0700, Eric Anholt wrote:
> For parameterized modifiers (Broadcom's SAND and UIF), we need to
> allow the parameter fields to be filled in, while exposing only the
> variant of the modifier with the parameter unfilled in the internal
> arrays and the format blob.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
With https://patchwork.freedesktop.org/series/40207/ this should be
safe for i915, so
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/drm_plane.c | 23 ++++++++++++-----------
> include/drm/drm_plane.h | 5 ++++-
> 2 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> index 46fbd019a337..5bb501f1aae8 100644
> --- a/drivers/gpu/drm/drm_plane.c
> +++ b/drivers/gpu/drm/drm_plane.c
> @@ -561,19 +561,20 @@ int drm_plane_check_pixel_format(struct drm_plane *plane,
> if (i == plane->format_count)
> return -EINVAL;
>
> - if (!plane->modifier_count)
> - return 0;
> + if (plane->funcs->format_mod_supported) {
> + if (!plane->funcs->format_mod_supported(plane, format, modifier))
> + return -EINVAL;
> + } else {
> + if (!plane->modifier_count)
> + return 0;
>
> - for (i = 0; i < plane->modifier_count; i++) {
> - if (modifier == plane->modifiers[i])
> - break;
> + for (i = 0; i < plane->modifier_count; i++) {
> + if (modifier == plane->modifiers[i])
> + break;
> + }
> + if (i == plane->modifier_count)
> + return -EINVAL;
> }
> - if (i == plane->modifier_count)
> - return -EINVAL;
> -
> - if (plane->funcs->format_mod_supported &&
> - !plane->funcs->format_mod_supported(plane, format, modifier))
> - return -EINVAL;
>
> return 0;
> }
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index f7bf4a48b1c3..6b1b51645f75 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -420,7 +420,10 @@ struct drm_plane_funcs {
> * This optional hook is used for the DRM to determine if the given
> * format/modifier combination is valid for the plane. This allows the
> * DRM to generate the correct format bitmask (which formats apply to
> - * which modifier).
> + * which modifier), and to valdiate modifiers at atomic_check time.
> + *
> + * If not present, then any modifier in the plane's modifier
> + * list is allowed with any of the plane's formats.
> *
> * Returns:
> *
> --
> 2.16.2
--
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Eric Anholt <eric@anholt.net>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] drm: Trust format_mod_supported() when it OKs a plane modifier.
Date: Tue, 22 May 2018 19:31:27 +0300 [thread overview]
Message-ID: <20180522163127.GH23723@intel.com> (raw)
In-Reply-To: <20180316220435.31416-1-eric@anholt.net>
On Fri, Mar 16, 2018 at 03:04:33PM -0700, Eric Anholt wrote:
> For parameterized modifiers (Broadcom's SAND and UIF), we need to
> allow the parameter fields to be filled in, while exposing only the
> variant of the modifier with the parameter unfilled in the internal
> arrays and the format blob.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
With https://patchwork.freedesktop.org/series/40207/ this should be
safe for i915, so
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/drm_plane.c | 23 ++++++++++++-----------
> include/drm/drm_plane.h | 5 ++++-
> 2 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> index 46fbd019a337..5bb501f1aae8 100644
> --- a/drivers/gpu/drm/drm_plane.c
> +++ b/drivers/gpu/drm/drm_plane.c
> @@ -561,19 +561,20 @@ int drm_plane_check_pixel_format(struct drm_plane *plane,
> if (i == plane->format_count)
> return -EINVAL;
>
> - if (!plane->modifier_count)
> - return 0;
> + if (plane->funcs->format_mod_supported) {
> + if (!plane->funcs->format_mod_supported(plane, format, modifier))
> + return -EINVAL;
> + } else {
> + if (!plane->modifier_count)
> + return 0;
>
> - for (i = 0; i < plane->modifier_count; i++) {
> - if (modifier == plane->modifiers[i])
> - break;
> + for (i = 0; i < plane->modifier_count; i++) {
> + if (modifier == plane->modifiers[i])
> + break;
> + }
> + if (i == plane->modifier_count)
> + return -EINVAL;
> }
> - if (i == plane->modifier_count)
> - return -EINVAL;
> -
> - if (plane->funcs->format_mod_supported &&
> - !plane->funcs->format_mod_supported(plane, format, modifier))
> - return -EINVAL;
>
> return 0;
> }
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index f7bf4a48b1c3..6b1b51645f75 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -420,7 +420,10 @@ struct drm_plane_funcs {
> * This optional hook is used for the DRM to determine if the given
> * format/modifier combination is valid for the plane. This allows the
> * DRM to generate the correct format bitmask (which formats apply to
> - * which modifier).
> + * which modifier), and to valdiate modifiers at atomic_check time.
> + *
> + * If not present, then any modifier in the plane's modifier
> + * list is allowed with any of the plane's formats.
> *
> * Returns:
> *
> --
> 2.16.2
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2018-05-22 16:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-16 22:04 [PATCH 1/3] drm: Trust format_mod_supported() when it OKs a plane modifier Eric Anholt
2018-03-16 22:04 ` [PATCH 2/3] drm/vc4: Add missing formats to vc4_format_mod_supported() Eric Anholt
2018-03-16 22:04 ` Eric Anholt
2018-03-16 22:04 ` [PATCH 3/3] drm/vc4: Add support for SAND modifier Eric Anholt
2018-03-16 22:04 ` Eric Anholt
2018-03-19 16:33 ` [PATCH 1/3] drm: Trust format_mod_supported() when it OKs a plane modifier Ville Syrjälä
2018-03-19 16:33 ` Ville Syrjälä
2018-05-22 16:31 ` Ville Syrjälä [this message]
2018-05-22 16:31 ` Ville Syrjälä
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=20180522163127.GH23723@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric@anholt.net \
--cc=linux-kernel@vger.kernel.org \
/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.