diff mbox

[v2,4/4] drm: Add and handle new aspect ratios in DRM layer

Message ID 1470754550-24023-5-git-send-email-shashank.sharma@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sharma, Shashank Aug. 9, 2016, 2:55 p.m. UTC
HDMI 2.0/CEA-861-F introduces two new aspect ratios:
- 64:27
- 256:135

This patch:
-  Adds new DRM flags for to represent these new aspect ratios.
-  Adds new cases to handle these aspect ratios while converting
from user->kernel mode or vise versa.

V2: Rebase

Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
---
 drivers/gpu/drm/drm_modes.c | 12 ++++++++++++
 include/uapi/drm/drm_mode.h |  6 ++++++
 2 files changed, 18 insertions(+)

Comments

jim.bride@linux.intel.com Oct. 13, 2016, 5:28 p.m. UTC | #1
On Tue, Aug 09, 2016 at 08:25:50PM +0530, Shashank Sharma wrote:
> HDMI 2.0/CEA-861-F introduces two new aspect ratios:
> - 64:27
> - 256:135
> 
> This patch:
> -  Adds new DRM flags for to represent these new aspect ratios.
> -  Adds new cases to handle these aspect ratios while converting
> from user->kernel mode or vise versa.
> 
> V2: Rebase
> 
> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
> Reviewed-by: Sean Paul <seanpaul@chromium.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> ---
>  drivers/gpu/drm/drm_modes.c | 12 ++++++++++++
>  include/uapi/drm/drm_mode.h |  6 ++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 9d8f00d..ed1b07b 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -1481,6 +1481,12 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
>  	case HDMI_PICTURE_ASPECT_16_9:
>  		out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
>  		break;
> +	case HDMI_PICTURE_ASPECT_64_27:
> +		out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
> +		break;
> +	case DRM_MODE_PICTURE_ASPECT_256_135:
> +		out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
> +		break;
>  	case HDMI_PICTURE_ASPECT_RESERVED:
>  	default:
>  		out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
> @@ -1542,6 +1548,12 @@ int drm_mode_convert_umode(struct drm_display_mode *out,
>  	case DRM_MODE_FLAG_PIC_AR_16_9:
>  		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
>  		break;
> +	case DRM_MODE_FLAG_PIC_AR_64_27:
> +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
> +		break;
> +	case DRM_MODE_FLAG_PIC_AR_256_135:
> +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
> +		break;
>  	default:
>  		out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
>  		break;
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 77c869d6..4d3429b 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -81,6 +81,8 @@ extern "C" {
>  #define DRM_MODE_PICTURE_ASPECT_NONE		0
>  #define DRM_MODE_PICTURE_ASPECT_4_3		1
>  #define DRM_MODE_PICTURE_ASPECT_16_9		2
> +#define DRM_MODE_PICTURE_ASPECT_64_27		3
> +#define DRM_MODE_PICTURE_ASPECT_256_135	4

Minor nit here, but in my tree the '4' above doesn't line up
with the three previous definitions.  I downloaded the series as
a mbox from patchwork.

Jim

>  
>  /* Aspect ratio flag bitmask (4 bits 22:19) */
>  #define DRM_MODE_FLAG_PIC_AR_MASK		(0x0F<<19)
> @@ -90,6 +92,10 @@ extern "C" {
>  			(DRM_MODE_PICTURE_ASPECT_4_3<<19)
>  #define  DRM_MODE_FLAG_PIC_AR_16_9 \
>  			(DRM_MODE_PICTURE_ASPECT_16_9<<19)
> +#define  DRM_MODE_FLAG_PIC_AR_64_27 \
> +			(DRM_MODE_PICTURE_ASPECT_64_27<<19)
> +#define  DRM_MODE_FLAG_PIC_AR_256_135 \
> +			(DRM_MODE_PICTURE_ASPECT_256_135<<19)
>  
>  /* DPMS flags */
>  /* bit compatible with the xorg definitions. */
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter Oct. 17, 2016, 6:02 a.m. UTC | #2
On Thu, Oct 13, 2016 at 10:28:14AM -0700, Jim Bride wrote:
> On Tue, Aug 09, 2016 at 08:25:50PM +0530, Shashank Sharma wrote:
> > HDMI 2.0/CEA-861-F introduces two new aspect ratios:
> > - 64:27
> > - 256:135
> > 
> > This patch:
> > -  Adds new DRM flags for to represent these new aspect ratios.
> > -  Adds new cases to handle these aspect ratios while converting
> > from user->kernel mode or vise versa.
> > 
> > V2: Rebase
> > 
> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
> > Reviewed-by: Sean Paul <seanpaul@chromium.org>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > ---
> >  drivers/gpu/drm/drm_modes.c | 12 ++++++++++++
> >  include/uapi/drm/drm_mode.h |  6 ++++++
> >  2 files changed, 18 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> > index 9d8f00d..ed1b07b 100644
> > --- a/drivers/gpu/drm/drm_modes.c
> > +++ b/drivers/gpu/drm/drm_modes.c
> > @@ -1481,6 +1481,12 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
> >  	case HDMI_PICTURE_ASPECT_16_9:
> >  		out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
> >  		break;
> > +	case HDMI_PICTURE_ASPECT_64_27:
> > +		out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
> > +		break;
> > +	case DRM_MODE_PICTURE_ASPECT_256_135:
> > +		out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
> > +		break;
> >  	case HDMI_PICTURE_ASPECT_RESERVED:
> >  	default:
> >  		out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
> > @@ -1542,6 +1548,12 @@ int drm_mode_convert_umode(struct drm_display_mode *out,
> >  	case DRM_MODE_FLAG_PIC_AR_16_9:
> >  		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
> >  		break;
> > +	case DRM_MODE_FLAG_PIC_AR_64_27:
> > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
> > +		break;
> > +	case DRM_MODE_FLAG_PIC_AR_256_135:
> > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
> > +		break;
> >  	default:
> >  		out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> >  		break;
> > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> > index 77c869d6..4d3429b 100644
> > --- a/include/uapi/drm/drm_mode.h
> > +++ b/include/uapi/drm/drm_mode.h
> > @@ -81,6 +81,8 @@ extern "C" {
> >  #define DRM_MODE_PICTURE_ASPECT_NONE		0
> >  #define DRM_MODE_PICTURE_ASPECT_4_3		1
> >  #define DRM_MODE_PICTURE_ASPECT_16_9		2
> > +#define DRM_MODE_PICTURE_ASPECT_64_27		3
> > +#define DRM_MODE_PICTURE_ASPECT_256_135	4
> 
> Minor nit here, but in my tree the '4' above doesn't line up
> with the three previous definitions.  I downloaded the series as
> a mbox from patchwork.

r-b with that bikeshed addressed or not? Also any reason you didn't r-b
patch 3?
-Daniel
Sharma, Shashank Oct. 17, 2016, 7:45 a.m. UTC | #3
> r-b with that bikeshed addressed or not?
Hello Daniel, 
I have already acknowledged this comment, and I am publishing next set today with rebase, addressing this comment. 
So you can consider this one done. 

Regards
Shashank
-----Original Message-----
From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter
Sent: Monday, October 17, 2016 11:33 AM
To: Jim Bride <jim.bride@linux.intel.com>
Cc: Sharma, Shashank <shashank.sharma@intel.com>; dri-devel@lists.freedesktop.org; seanpaul@chromium.org; Jose.Abreu@synopsys.com; Daniel Vetter <daniel.vetter@ffwll.ch>; intel-gfx@lists.freedesktop.org; Vetter, Daniel <daniel.vetter@intel.com>
Subject: Re: [Intel-gfx] [PATCH v2 4/4] drm: Add and handle new aspect ratios in DRM layer

On Thu, Oct 13, 2016 at 10:28:14AM -0700, Jim Bride wrote:
> On Tue, Aug 09, 2016 at 08:25:50PM +0530, Shashank Sharma wrote:
> > HDMI 2.0/CEA-861-F introduces two new aspect ratios:
> > - 64:27
> > - 256:135
> > 
> > This patch:
> > -  Adds new DRM flags for to represent these new aspect ratios.
> > -  Adds new cases to handle these aspect ratios while converting 
> > from user->kernel mode or vise versa.
> > 
> > V2: Rebase
> > 
> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
> > Reviewed-by: Sean Paul <seanpaul@chromium.org>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > ---
> >  drivers/gpu/drm/drm_modes.c | 12 ++++++++++++  
> > include/uapi/drm/drm_mode.h |  6 ++++++
> >  2 files changed, 18 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_modes.c 
> > b/drivers/gpu/drm/drm_modes.c index 9d8f00d..ed1b07b 100644
> > --- a/drivers/gpu/drm/drm_modes.c
> > +++ b/drivers/gpu/drm/drm_modes.c
> > @@ -1481,6 +1481,12 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
> >  	case HDMI_PICTURE_ASPECT_16_9:
> >  		out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
> >  		break;
> > +	case HDMI_PICTURE_ASPECT_64_27:
> > +		out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
> > +		break;
> > +	case DRM_MODE_PICTURE_ASPECT_256_135:
> > +		out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
> > +		break;
> >  	case HDMI_PICTURE_ASPECT_RESERVED:
> >  	default:
> >  		out->flags |= DRM_MODE_FLAG_PIC_AR_NONE; @@ -1542,6 +1548,12 @@ 
> > int drm_mode_convert_umode(struct drm_display_mode *out,
> >  	case DRM_MODE_FLAG_PIC_AR_16_9:
> >  		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
> >  		break;
> > +	case DRM_MODE_FLAG_PIC_AR_64_27:
> > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
> > +		break;
> > +	case DRM_MODE_FLAG_PIC_AR_256_135:
> > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
> > +		break;
> >  	default:
> >  		out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> >  		break;
> > diff --git a/include/uapi/drm/drm_mode.h 
> > b/include/uapi/drm/drm_mode.h index 77c869d6..4d3429b 100644
> > --- a/include/uapi/drm/drm_mode.h
> > +++ b/include/uapi/drm/drm_mode.h
> > @@ -81,6 +81,8 @@ extern "C" {
> >  #define DRM_MODE_PICTURE_ASPECT_NONE		0
> >  #define DRM_MODE_PICTURE_ASPECT_4_3		1
> >  #define DRM_MODE_PICTURE_ASPECT_16_9		2
> > +#define DRM_MODE_PICTURE_ASPECT_64_27		3
> > +#define DRM_MODE_PICTURE_ASPECT_256_135	4
> 
> Minor nit here, but in my tree the '4' above doesn't line up with the 
> three previous definitions.  I downloaded the series as a mbox from 
> patchwork.

r-b with that bikeshed addressed or not? Also any reason you didn't r-b patch 3?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
jim.bride@linux.intel.com Oct. 18, 2016, 5:12 p.m. UTC | #4
On Mon, Oct 17, 2016 at 08:02:49AM +0200, Daniel Vetter wrote:
> On Thu, Oct 13, 2016 at 10:28:14AM -0700, Jim Bride wrote:
> > On Tue, Aug 09, 2016 at 08:25:50PM +0530, Shashank Sharma wrote:
> > > HDMI 2.0/CEA-861-F introduces two new aspect ratios:
> > > - 64:27
> > > - 256:135
> > > 
> > > This patch:
> > > -  Adds new DRM flags for to represent these new aspect ratios.
> > > -  Adds new cases to handle these aspect ratios while converting
> > > from user->kernel mode or vise versa.
> > > 
> > > V2: Rebase
> > > 
> > > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
> > > Reviewed-by: Sean Paul <seanpaul@chromium.org>
> > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > > ---
> > >  drivers/gpu/drm/drm_modes.c | 12 ++++++++++++
> > >  include/uapi/drm/drm_mode.h |  6 ++++++
> > >  2 files changed, 18 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> > > index 9d8f00d..ed1b07b 100644
> > > --- a/drivers/gpu/drm/drm_modes.c
> > > +++ b/drivers/gpu/drm/drm_modes.c
> > > @@ -1481,6 +1481,12 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
> > >  	case HDMI_PICTURE_ASPECT_16_9:
> > >  		out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
> > >  		break;
> > > +	case HDMI_PICTURE_ASPECT_64_27:
> > > +		out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
> > > +		break;
> > > +	case DRM_MODE_PICTURE_ASPECT_256_135:
> > > +		out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
> > > +		break;
> > >  	case HDMI_PICTURE_ASPECT_RESERVED:
> > >  	default:
> > >  		out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
> > > @@ -1542,6 +1548,12 @@ int drm_mode_convert_umode(struct drm_display_mode *out,
> > >  	case DRM_MODE_FLAG_PIC_AR_16_9:
> > >  		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
> > >  		break;
> > > +	case DRM_MODE_FLAG_PIC_AR_64_27:
> > > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
> > > +		break;
> > > +	case DRM_MODE_FLAG_PIC_AR_256_135:
> > > +		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
> > > +		break;
> > >  	default:
> > >  		out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> > >  		break;
> > > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> > > index 77c869d6..4d3429b 100644
> > > --- a/include/uapi/drm/drm_mode.h
> > > +++ b/include/uapi/drm/drm_mode.h
> > > @@ -81,6 +81,8 @@ extern "C" {
> > >  #define DRM_MODE_PICTURE_ASPECT_NONE		0
> > >  #define DRM_MODE_PICTURE_ASPECT_4_3		1
> > >  #define DRM_MODE_PICTURE_ASPECT_16_9		2
> > > +#define DRM_MODE_PICTURE_ASPECT_64_27		3
> > > +#define DRM_MODE_PICTURE_ASPECT_256_135	4
> > 
> > Minor nit here, but in my tree the '4' above doesn't line up
> > with the three previous definitions.  I downloaded the series as
> > a mbox from patchwork.
> 
> r-b with that bikeshed addressed or not? Also any reason you didn't r-b
> patch 3?

I'm happy with both 3 and 4, so sure.  They both had r-b already by Sean
so I didn't bother tacking my own r-b on there.

Jim


> -Daniel
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 9d8f00d..ed1b07b 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -1481,6 +1481,12 @@  void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
 	case HDMI_PICTURE_ASPECT_16_9:
 		out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
 		break;
+	case HDMI_PICTURE_ASPECT_64_27:
+		out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
+		break;
+	case DRM_MODE_PICTURE_ASPECT_256_135:
+		out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
+		break;
 	case HDMI_PICTURE_ASPECT_RESERVED:
 	default:
 		out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
@@ -1542,6 +1548,12 @@  int drm_mode_convert_umode(struct drm_display_mode *out,
 	case DRM_MODE_FLAG_PIC_AR_16_9:
 		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
 		break;
+	case DRM_MODE_FLAG_PIC_AR_64_27:
+		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
+		break;
+	case DRM_MODE_FLAG_PIC_AR_256_135:
+		out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
+		break;
 	default:
 		out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
 		break;
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 77c869d6..4d3429b 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -81,6 +81,8 @@  extern "C" {
 #define DRM_MODE_PICTURE_ASPECT_NONE		0
 #define DRM_MODE_PICTURE_ASPECT_4_3		1
 #define DRM_MODE_PICTURE_ASPECT_16_9		2
+#define DRM_MODE_PICTURE_ASPECT_64_27		3
+#define DRM_MODE_PICTURE_ASPECT_256_135	4
 
 /* Aspect ratio flag bitmask (4 bits 22:19) */
 #define DRM_MODE_FLAG_PIC_AR_MASK		(0x0F<<19)
@@ -90,6 +92,10 @@  extern "C" {
 			(DRM_MODE_PICTURE_ASPECT_4_3<<19)
 #define  DRM_MODE_FLAG_PIC_AR_16_9 \
 			(DRM_MODE_PICTURE_ASPECT_16_9<<19)
+#define  DRM_MODE_FLAG_PIC_AR_64_27 \
+			(DRM_MODE_PICTURE_ASPECT_64_27<<19)
+#define  DRM_MODE_FLAG_PIC_AR_256_135 \
+			(DRM_MODE_PICTURE_ASPECT_256_135<<19)
 
 /* DPMS flags */
 /* bit compatible with the xorg definitions. */