* [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
[not found] <1453316739-13296-1-git-send-email-ville.syrjala@linux.intel.com>
@ 2016-01-20 19:05 ` ville.syrjala
2016-01-25 17:08 ` Daniel Vetter
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: ville.syrjala @ 2016-01-20 19:05 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a few helpers to get the dimensions of the chroma plane(s).
v2: Add kernel-doc (Daniel)
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
include/drm/drm_crtc.h | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c65a212db77e..91195c403422 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -2482,6 +2482,36 @@ extern int drm_format_num_planes(uint32_t format);
extern int drm_format_plane_cpp(uint32_t format, int plane);
extern int drm_format_horz_chroma_subsampling(uint32_t format);
extern int drm_format_vert_chroma_subsampling(uint32_t format);
+/**
+ * drm_format_plane_width - width of the plane given the first plane
+ * @width: width of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns the width of @plane, given that the width of the first plane
+ * is @width.
+ */
+static inline int drm_format_plane_width(int width, uint32_t format, int plane)
+{
+ if (plane == 0)
+ return width;
+ return width / drm_format_horz_chroma_subsampling(format);
+}
+/**
+ * drm_format_plane_height - height of the plane given the first plane
+ * @height: height of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns the height of @plane, given that the height of the first plane
+ * is @height.
+ */
+static inline int drm_format_plane_height(int height, uint32_t format, int plane)
+{
+ if (plane == 0)
+ return height;
+ return height / drm_format_vert_chroma_subsampling(format);
+}
extern const char *drm_get_format_name(uint32_t format);
extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
unsigned int supported_rotations);
--
2.4.10
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
2016-01-20 19:05 ` [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height() ville.syrjala
@ 2016-01-25 17:08 ` Daniel Vetter
2016-01-28 18:15 ` Ville Syrjälä
2016-01-29 18:01 ` [PATCH v3 " ville.syrjala
2016-02-09 15:29 ` [PATCH v4 " ville.syrjala
2 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2016-01-25 17:08 UTC (permalink / raw)
To: ville.syrjala; +Cc: intel-gfx, dri-devel
On Wed, Jan 20, 2016 at 09:05:27PM +0200, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add a few helpers to get the dimensions of the chroma plane(s).
>
> v2: Add kernel-doc (Daniel)
>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> include/drm/drm_crtc.h | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index c65a212db77e..91195c403422 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -2482,6 +2482,36 @@ extern int drm_format_num_planes(uint32_t format);
> extern int drm_format_plane_cpp(uint32_t format, int plane);
> extern int drm_format_horz_chroma_subsampling(uint32_t format);
> extern int drm_format_vert_chroma_subsampling(uint32_t format);
> +/**
> + * drm_format_plane_width - width of the plane given the first plane
> + * @width: width of the first plane
> + * @format: pixel format
> + * @plane: plane index
> + *
kerneldoc style is
+ * Returns:
+ * blabla
> + * Returns the width of @plane, given that the width of the first plane
> + * is @width.
> + */
> +static inline int drm_format_plane_width(int width, uint32_t format, int plane)
> +{
For consistency with other helpers I think we should put an
if (plane >= drm_format_num_planes(format))
return 0;
here. Also I think static inline is overkill for these, and grouping them
together with the others in drm_crtc.c will make it easier to extract them
into a new file (since drm_crtc.c is kinda sprawling a bit).
With those nitpicks applied: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> + if (plane == 0)
> + return width;
> + return width / drm_format_horz_chroma_subsampling(format);
> +}
> +/**
> + * drm_format_plane_height - height of the plane given the first plane
> + * @height: height of the first plane
> + * @format: pixel format
> + * @plane: plane index
> + *
> + * Returns the height of @plane, given that the height of the first plane
> + * is @height.
> + */
> +static inline int drm_format_plane_height(int height, uint32_t format, int plane)
> +{
> + if (plane == 0)
> + return height;
> + return height / drm_format_vert_chroma_subsampling(format);
> +}
> extern const char *drm_get_format_name(uint32_t format);
> extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
> unsigned int supported_rotations);
> --
> 2.4.10
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
2016-01-25 17:08 ` Daniel Vetter
@ 2016-01-28 18:15 ` Ville Syrjälä
0 siblings, 0 replies; 6+ messages in thread
From: Ville Syrjälä @ 2016-01-28 18:15 UTC (permalink / raw)
To: Daniel Vetter; +Cc: intel-gfx, dri-devel
On Mon, Jan 25, 2016 at 06:08:23PM +0100, Daniel Vetter wrote:
> On Wed, Jan 20, 2016 at 09:05:27PM +0200, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Add a few helpers to get the dimensions of the chroma plane(s).
> >
> > v2: Add kernel-doc (Daniel)
> >
> > Cc: dri-devel@lists.freedesktop.org
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> > include/drm/drm_crtc.h | 30 ++++++++++++++++++++++++++++++
> > 1 file changed, 30 insertions(+)
> >
> > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> > index c65a212db77e..91195c403422 100644
> > --- a/include/drm/drm_crtc.h
> > +++ b/include/drm/drm_crtc.h
> > @@ -2482,6 +2482,36 @@ extern int drm_format_num_planes(uint32_t format);
> > extern int drm_format_plane_cpp(uint32_t format, int plane);
> > extern int drm_format_horz_chroma_subsampling(uint32_t format);
> > extern int drm_format_vert_chroma_subsampling(uint32_t format);
> > +/**
> > + * drm_format_plane_width - width of the plane given the first plane
> > + * @width: width of the first plane
> > + * @format: pixel format
> > + * @plane: plane index
> > + *
>
> kerneldoc style is
>
> + * Returns:
> + * blabla
Hmm. I guess I should read some kind of manual of style or whatever.
>
> > + * Returns the width of @plane, given that the width of the first plane
> > + * is @width.
> > + */
> > +static inline int drm_format_plane_width(int width, uint32_t format, int plane)
> > +{
>
> For consistency with other helpers I think we should put an
>
> if (plane >= drm_format_num_planes(format))
> return 0;
>
> here. Also I think static inline is overkill for these, and grouping them
> together with the others in drm_crtc.c will make it easier to extract them
> into a new file (since drm_crtc.c is kinda sprawling a bit).
Well with the static inline I was aiming for the compiler to eliminate
the function calls entirely for the typical plane==0 constant case. But
if we add the num_planes check, then it's pretty much going to do that
function call anyway.
>
> With those nitpicks applied: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> > + if (plane == 0)
> > + return width;
> > + return width / drm_format_horz_chroma_subsampling(format);
> > +}
> > +/**
> > + * drm_format_plane_height - height of the plane given the first plane
> > + * @height: height of the first plane
> > + * @format: pixel format
> > + * @plane: plane index
> > + *
> > + * Returns the height of @plane, given that the height of the first plane
> > + * is @height.
> > + */
> > +static inline int drm_format_plane_height(int height, uint32_t format, int plane)
> > +{
> > + if (plane == 0)
> > + return height;
> > + return height / drm_format_vert_chroma_subsampling(format);
> > +}
> > extern const char *drm_get_format_name(uint32_t format);
> > extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
> > unsigned int supported_rotations);
> > --
> > 2.4.10
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
2016-01-20 19:05 ` [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height() ville.syrjala
2016-01-25 17:08 ` Daniel Vetter
@ 2016-01-29 18:01 ` ville.syrjala
2016-02-09 9:08 ` Daniel Vetter
2016-02-09 15:29 ` [PATCH v4 " ville.syrjala
2 siblings, 1 reply; 6+ messages in thread
From: ville.syrjala @ 2016-01-29 18:01 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a few helpers to get the dimensions of the chroma plane(s).
v2: Add kernel-doc (Daniel)
v3: Fix kerneldoc "Returns:" style (Daniel)
Uninline the functions and check for num_planes (Daniel)
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/drm_crtc.c | 40 ++++++++++++++++++++++++++++++++++++++++
include/drm/drm_crtc.h | 2 ++
2 files changed, 42 insertions(+)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 6e6514ef9968..c708b37972de 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -5715,6 +5715,46 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
EXPORT_SYMBOL(drm_format_vert_chroma_subsampling);
/**
+ * drm_format_plane_width - width of the plane given the first plane
+ * @width: width of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns:
+ * The width of @plane, given that the width of the first plane is @width.
+ */
+int drm_format_plane_width(int width, uint32_t format, int plane)
+{
+ if (plane >= drm_format_num_planes(format))
+ return 0;
+
+ if (plane == 0)
+ return width;
+
+ return width / drm_format_horz_chroma_subsampling(format);
+}
+
+/**
+ * drm_format_plane_height - height of the plane given the first plane
+ * @height: height of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns:
+ * The height of @plane, given that the height of the first plane is @height.
+ */
+int drm_format_plane_height(int height, uint32_t format, int plane)
+{
+ if (plane >= drm_format_num_planes(format))
+ return 0;
+
+ if (plane == 0)
+ return height;
+
+ return height / drm_format_vert_chroma_subsampling(format);
+}
+
+/**
* drm_rotation_simplify() - Try to simplify the rotation
* @rotation: Rotation to be simplified
* @supported_rotations: Supported rotations
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c65a212db77e..3a4b53ecd121 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -2482,6 +2482,8 @@ extern int drm_format_num_planes(uint32_t format);
extern int drm_format_plane_cpp(uint32_t format, int plane);
extern int drm_format_horz_chroma_subsampling(uint32_t format);
extern int drm_format_vert_chroma_subsampling(uint32_t format);
+extern int drm_format_plane_width(int width, uint32_t format, int plane);
+extern int drm_format_plane_height(int height, uint32_t format, int plane);
extern const char *drm_get_format_name(uint32_t format);
extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
unsigned int supported_rotations);
--
2.4.10
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
2016-01-29 18:01 ` [PATCH v3 " ville.syrjala
@ 2016-02-09 9:08 ` Daniel Vetter
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2016-02-09 9:08 UTC (permalink / raw)
To: ville.syrjala; +Cc: intel-gfx, dri-devel
On Fri, Jan 29, 2016 at 08:01:19PM +0200, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add a few helpers to get the dimensions of the chroma plane(s).
>
> v2: Add kernel-doc (Daniel)
> v3: Fix kerneldoc "Returns:" style (Daniel)
> Uninline the functions and check for num_planes (Daniel)
>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Applied to drm-misc, thanks.
-Daniel
> ---
> drivers/gpu/drm/drm_crtc.c | 40 ++++++++++++++++++++++++++++++++++++++++
> include/drm/drm_crtc.h | 2 ++
> 2 files changed, 42 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 6e6514ef9968..c708b37972de 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -5715,6 +5715,46 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
> EXPORT_SYMBOL(drm_format_vert_chroma_subsampling);
>
> /**
> + * drm_format_plane_width - width of the plane given the first plane
> + * @width: width of the first plane
> + * @format: pixel format
> + * @plane: plane index
> + *
> + * Returns:
> + * The width of @plane, given that the width of the first plane is @width.
> + */
> +int drm_format_plane_width(int width, uint32_t format, int plane)
> +{
> + if (plane >= drm_format_num_planes(format))
> + return 0;
> +
> + if (plane == 0)
> + return width;
> +
> + return width / drm_format_horz_chroma_subsampling(format);
> +}
> +
> +/**
> + * drm_format_plane_height - height of the plane given the first plane
> + * @height: height of the first plane
> + * @format: pixel format
> + * @plane: plane index
> + *
> + * Returns:
> + * The height of @plane, given that the height of the first plane is @height.
> + */
> +int drm_format_plane_height(int height, uint32_t format, int plane)
> +{
> + if (plane >= drm_format_num_planes(format))
> + return 0;
> +
> + if (plane == 0)
> + return height;
> +
> + return height / drm_format_vert_chroma_subsampling(format);
> +}
> +
> +/**
> * drm_rotation_simplify() - Try to simplify the rotation
> * @rotation: Rotation to be simplified
> * @supported_rotations: Supported rotations
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index c65a212db77e..3a4b53ecd121 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -2482,6 +2482,8 @@ extern int drm_format_num_planes(uint32_t format);
> extern int drm_format_plane_cpp(uint32_t format, int plane);
> extern int drm_format_horz_chroma_subsampling(uint32_t format);
> extern int drm_format_vert_chroma_subsampling(uint32_t format);
> +extern int drm_format_plane_width(int width, uint32_t format, int plane);
> +extern int drm_format_plane_height(int height, uint32_t format, int plane);
> extern const char *drm_get_format_name(uint32_t format);
> extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
> unsigned int supported_rotations);
> --
> 2.4.10
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height()
2016-01-20 19:05 ` [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height() ville.syrjala
2016-01-25 17:08 ` Daniel Vetter
2016-01-29 18:01 ` [PATCH v3 " ville.syrjala
@ 2016-02-09 15:29 ` ville.syrjala
2 siblings, 0 replies; 6+ messages in thread
From: ville.syrjala @ 2016-02-09 15:29 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a few helpers to get the dimensions of the chroma plane(s).
v2: Add kernel-doc (Daniel)
v3: Fix kerneldoc "Returns:" style (Daniel)
Uninline the functions and check for num_planes (Daniel)
v4: Add the required EXPORT_SYMBOL()s
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/drm_crtc.c | 42 ++++++++++++++++++++++++++++++++++++++++++
include/drm/drm_crtc.h | 2 ++
2 files changed, 44 insertions(+)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 6e6514ef9968..1685eb33b4f3 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -5715,6 +5715,48 @@ int drm_format_vert_chroma_subsampling(uint32_t format)
EXPORT_SYMBOL(drm_format_vert_chroma_subsampling);
/**
+ * drm_format_plane_width - width of the plane given the first plane
+ * @width: width of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns:
+ * The width of @plane, given that the width of the first plane is @width.
+ */
+int drm_format_plane_width(int width, uint32_t format, int plane)
+{
+ if (plane >= drm_format_num_planes(format))
+ return 0;
+
+ if (plane == 0)
+ return width;
+
+ return width / drm_format_horz_chroma_subsampling(format);
+}
+EXPORT_SYMBOL(drm_format_plane_width);
+
+/**
+ * drm_format_plane_height - height of the plane given the first plane
+ * @height: height of the first plane
+ * @format: pixel format
+ * @plane: plane index
+ *
+ * Returns:
+ * The height of @plane, given that the height of the first plane is @height.
+ */
+int drm_format_plane_height(int height, uint32_t format, int plane)
+{
+ if (plane >= drm_format_num_planes(format))
+ return 0;
+
+ if (plane == 0)
+ return height;
+
+ return height / drm_format_vert_chroma_subsampling(format);
+}
+EXPORT_SYMBOL(drm_format_plane_height);
+
+/**
* drm_rotation_simplify() - Try to simplify the rotation
* @rotation: Rotation to be simplified
* @supported_rotations: Supported rotations
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c65a212db77e..3a4b53ecd121 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -2482,6 +2482,8 @@ extern int drm_format_num_planes(uint32_t format);
extern int drm_format_plane_cpp(uint32_t format, int plane);
extern int drm_format_horz_chroma_subsampling(uint32_t format);
extern int drm_format_vert_chroma_subsampling(uint32_t format);
+extern int drm_format_plane_width(int width, uint32_t format, int plane);
+extern int drm_format_plane_height(int height, uint32_t format, int plane);
extern const char *drm_get_format_name(uint32_t format);
extern struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
unsigned int supported_rotations);
--
2.4.10
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-02-09 15:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1453316739-13296-1-git-send-email-ville.syrjala@linux.intel.com>
2016-01-20 19:05 ` [PATCH v2 06/18] drm: Add drm_format_plane_width() and drm_format_plane_height() ville.syrjala
2016-01-25 17:08 ` Daniel Vetter
2016-01-28 18:15 ` Ville Syrjälä
2016-01-29 18:01 ` [PATCH v3 " ville.syrjala
2016-02-09 9:08 ` Daniel Vetter
2016-02-09 15:29 ` [PATCH v4 " ville.syrjala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox