diff mbox

drm/i915: NV12 changes for Gen10

Message ID 1517915206-30731-3-git-send-email-vidya.srinivas@intel.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Vidya Srinivas Feb. 6, 2018, 11:06 a.m. UTC
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
---
 drivers/gpu/drm/i915/intel_atomic.c  | 5 ++---
 drivers/gpu/drm/i915/intel_display.c | 7 ++++++-
 drivers/gpu/drm/i915/intel_sprite.c  | 4 ++++
 3 files changed, 12 insertions(+), 4 deletions(-)

Comments

Sharma, Shashank Feb. 8, 2018, 12:46 p.m. UTC | #1
Regards

Shashank


On 2/6/2018 4:36 PM, Vidya Srinivas wrote:
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
No need for any commit message :P ?
> ---
>   drivers/gpu/drm/i915/intel_atomic.c  | 5 ++---
>   drivers/gpu/drm/i915/intel_display.c | 7 ++++++-
>   drivers/gpu/drm/i915/intel_sprite.c  | 4 ++++
>   3 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
> index ecba7c7..ca213bc 100644
> --- a/drivers/gpu/drm/i915/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/intel_atomic.c
> @@ -327,14 +327,13 @@ int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
>   		}
>   
>   		/* set scaler mode */
> -		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv)) &&
> +		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv) ||
> +			IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) &&
Please align the conditions to above line, below existing IS_BXT
>   			plane_state && plane_state->base.fb &&
>   			plane_state->base.fb->format->format ==
>   			DRM_FORMAT_NV12) {
>   			scaler_state->scalers[*scaler_id].mode =
>   				PS_SCALER_MODE_NV12;
> -		} else if (IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) {
> -			scaler_state->scalers[*scaler_id].mode = 0;
>   		} else if (num_scalers_need == 1 && intel_crtc->pipe != PIPE_C) {
>   			/*
>   			 * when only 1 scaler is in use on either pipe A or B,
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index df6b11a..115e0ea 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13200,7 +13200,11 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
>   			((pipe == PIPE_A || pipe == PIPE_B))) {
>   			intel_primary_formats = nv12_primary_formats;
>   			num_formats = ARRAY_SIZE(nv12_primary_formats);
> +		} else if (IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) {
> +			intel_primary_formats = nv12_primary_formats;
> +			num_formats = ARRAY_SIZE(nv12_primary_formats);
I can see these same lines in the above condition, can we simply add 
this (|| IS_GLK || IS_CNL) condition in above ? Or not ?
>   		} else {
> +
Extra line
>   			intel_primary_formats = skl_primary_formats;
>   			num_formats = ARRAY_SIZE(skl_primary_formats);
>   		}
> @@ -14006,7 +14010,8 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
>   		}
>   		break;
>   	case DRM_FORMAT_NV12:
> -		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv)) {
> +		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv) &&
> +			!IS_GEMINILAKE(dev_priv) && !IS_CANNONLAKE(dev_priv)) {
Alignment
>   			DRM_DEBUG_KMS("unsupported pixel format: %s\n",
>   		      drm_get_format_name(mode_cmd->pixel_format,
>   				&format_name));
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 1d35a18..35dcba0 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -1340,6 +1340,10 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
>   			(pipe == PIPE_A || pipe == PIPE_B) && plane == 0) {
>   			plane_formats = nv12_plane_formats;
>   			num_plane_formats = ARRAY_SIZE(nv12_plane_formats);
> +		} else if ((IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) &&
> +				   plane == 0) {
> +			plane_formats = nv12_plane_formats;
> +			num_plane_formats = ARRAY_SIZE(nv12_plane_formats);
Same as above, can this merge into condition just above this if ?

- Shashank
>   		} else {
>   			plane_formats = skl_plane_formats;
>   			num_plane_formats = ARRAY_SIZE(skl_plane_formats);
Vidya Srinivas Feb. 9, 2018, 3:39 a.m. UTC | #2
Apologies. This patch was pushed wrongly. Not a part of the 16 patch series of NV12.

Regards
Vidya

> -----Original Message-----
> From: Sharma, Shashank
> Sent: Thursday, February 8, 2018 6:17 PM
> To: Srinivas, Vidya <vidya.srinivas@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: maarten.lankhorst@linux.intel.com; Kamath, Sunil
> <sunil.kamath@intel.com>; Shankar, Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH] drm/i915: NV12 changes for Gen10
> 
> Regards
> 
> Shashank
> 
> 
> On 2/6/2018 4:36 PM, Vidya Srinivas wrote:
> > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> No need for any commit message :P ?
> > ---
> >   drivers/gpu/drm/i915/intel_atomic.c  | 5 ++---
> >   drivers/gpu/drm/i915/intel_display.c | 7 ++++++-
> >   drivers/gpu/drm/i915/intel_sprite.c  | 4 ++++
> >   3 files changed, 12 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_atomic.c
> > b/drivers/gpu/drm/i915/intel_atomic.c
> > index ecba7c7..ca213bc 100644
> > --- a/drivers/gpu/drm/i915/intel_atomic.c
> > +++ b/drivers/gpu/drm/i915/intel_atomic.c
> > @@ -327,14 +327,13 @@ int intel_atomic_setup_scalers(struct
> drm_i915_private *dev_priv,
> >   		}
> >
> >   		/* set scaler mode */
> > -		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv)) &&
> > +		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv) ||
> > +			IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) &&
> Please align the conditions to above line, below existing IS_BXT
> >   			plane_state && plane_state->base.fb &&
> >   			plane_state->base.fb->format->format ==
> >   			DRM_FORMAT_NV12) {
> >   			scaler_state->scalers[*scaler_id].mode =
> >   				PS_SCALER_MODE_NV12;
> > -		} else if (IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) {
> > -			scaler_state->scalers[*scaler_id].mode = 0;
> >   		} else if (num_scalers_need == 1 && intel_crtc->pipe !=
> PIPE_C) {
> >   			/*
> >   			 * when only 1 scaler is in use on either pipe A or B,
> diff --git
> > a/drivers/gpu/drm/i915/intel_display.c
> > b/drivers/gpu/drm/i915/intel_display.c
> > index df6b11a..115e0ea 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13200,7 +13200,11 @@ intel_primary_plane_create(struct
> drm_i915_private *dev_priv, enum pipe pipe)
> >   			((pipe == PIPE_A || pipe == PIPE_B))) {
> >   			intel_primary_formats = nv12_primary_formats;
> >   			num_formats =
> ARRAY_SIZE(nv12_primary_formats);
> > +		} else if (IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) {
> > +			intel_primary_formats = nv12_primary_formats;
> > +			num_formats =
> ARRAY_SIZE(nv12_primary_formats);
> I can see these same lines in the above condition, can we simply add this (||
> IS_GLK || IS_CNL) condition in above ? Or not ?
> >   		} else {
> > +
> Extra line
> >   			intel_primary_formats = skl_primary_formats;
> >   			num_formats = ARRAY_SIZE(skl_primary_formats);
> >   		}
> > @@ -14006,7 +14010,8 @@ static int intel_framebuffer_init(struct
> intel_framebuffer *intel_fb,
> >   		}
> >   		break;
> >   	case DRM_FORMAT_NV12:
> > -		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv)) {
> > +		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv) &&
> > +			!IS_GEMINILAKE(dev_priv) &&
> !IS_CANNONLAKE(dev_priv)) {
> Alignment
> >   			DRM_DEBUG_KMS("unsupported pixel format:
> %s\n",
> >   		      drm_get_format_name(mode_cmd->pixel_format,
> >   				&format_name));
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 1d35a18..35dcba0 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1340,6 +1340,10 @@ intel_sprite_plane_create(struct
> drm_i915_private *dev_priv,
> >   			(pipe == PIPE_A || pipe == PIPE_B) && plane == 0) {
> >   			plane_formats = nv12_plane_formats;
> >   			num_plane_formats =
> ARRAY_SIZE(nv12_plane_formats);
> > +		} else if ((IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) &&
> > +				   plane == 0) {
> > +			plane_formats = nv12_plane_formats;
> > +			num_plane_formats =
> ARRAY_SIZE(nv12_plane_formats);
> Same as above, can this merge into condition just above this if ?
> 
> - Shashank
> >   		} else {
> >   			plane_formats = skl_plane_formats;
> >   			num_plane_formats =
> ARRAY_SIZE(skl_plane_formats);
Vidya Srinivas Feb. 9, 2018, 3:54 a.m. UTC | #3
Apologies. This patch was pushed wrongly. Not a part of the 16 patch series of NV12.

Regards
Vidya

> -----Original Message-----
> From: Sharma, Shashank
> Sent: Thursday, February 8, 2018 6:17 PM
> To: Srinivas, Vidya <vidya.srinivas@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: maarten.lankhorst@linux.intel.com; Kamath, Sunil
> <sunil.kamath@intel.com>; Shankar, Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH] drm/i915: NV12 changes for Gen10
> 
> Regards
> 
> Shashank
> 
> 
> On 2/6/2018 4:36 PM, Vidya Srinivas wrote:
> > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> No need for any commit message :P ?
> > ---
> >   drivers/gpu/drm/i915/intel_atomic.c  | 5 ++---
> >   drivers/gpu/drm/i915/intel_display.c | 7 ++++++-
> >   drivers/gpu/drm/i915/intel_sprite.c  | 4 ++++
> >   3 files changed, 12 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_atomic.c
> > b/drivers/gpu/drm/i915/intel_atomic.c
> > index ecba7c7..ca213bc 100644
> > --- a/drivers/gpu/drm/i915/intel_atomic.c
> > +++ b/drivers/gpu/drm/i915/intel_atomic.c
> > @@ -327,14 +327,13 @@ int intel_atomic_setup_scalers(struct
> drm_i915_private *dev_priv,
> >   		}
> >
> >   		/* set scaler mode */
> > -		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv)) &&
> > +		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv) ||
> > +			IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) &&
> Please align the conditions to above line, below existing IS_BXT
> >   			plane_state && plane_state->base.fb &&
> >   			plane_state->base.fb->format->format ==
> >   			DRM_FORMAT_NV12) {
> >   			scaler_state->scalers[*scaler_id].mode =
> >   				PS_SCALER_MODE_NV12;
> > -		} else if (IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) {
> > -			scaler_state->scalers[*scaler_id].mode = 0;
> >   		} else if (num_scalers_need == 1 && intel_crtc->pipe !=
> PIPE_C) {
> >   			/*
> >   			 * when only 1 scaler is in use on either pipe A or B,
> diff --git
> > a/drivers/gpu/drm/i915/intel_display.c
> > b/drivers/gpu/drm/i915/intel_display.c
> > index df6b11a..115e0ea 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13200,7 +13200,11 @@ intel_primary_plane_create(struct
> drm_i915_private *dev_priv, enum pipe pipe)
> >   			((pipe == PIPE_A || pipe == PIPE_B))) {
> >   			intel_primary_formats = nv12_primary_formats;
> >   			num_formats =
> ARRAY_SIZE(nv12_primary_formats);
> > +		} else if (IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) {
> > +			intel_primary_formats = nv12_primary_formats;
> > +			num_formats =
> ARRAY_SIZE(nv12_primary_formats);
> I can see these same lines in the above condition, can we simply add this (||
> IS_GLK || IS_CNL) condition in above ? Or not ?
> >   		} else {
> > +
> Extra line
> >   			intel_primary_formats = skl_primary_formats;
> >   			num_formats = ARRAY_SIZE(skl_primary_formats);
> >   		}
> > @@ -14006,7 +14010,8 @@ static int intel_framebuffer_init(struct
> intel_framebuffer *intel_fb,
> >   		}
> >   		break;
> >   	case DRM_FORMAT_NV12:
> > -		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv)) {
> > +		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv) &&
> > +			!IS_GEMINILAKE(dev_priv) &&
> !IS_CANNONLAKE(dev_priv)) {
> Alignment
> >   			DRM_DEBUG_KMS("unsupported pixel format:
> %s\n",
> >   		      drm_get_format_name(mode_cmd->pixel_format,
> >   				&format_name));
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 1d35a18..35dcba0 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1340,6 +1340,10 @@ intel_sprite_plane_create(struct
> drm_i915_private *dev_priv,
> >   			(pipe == PIPE_A || pipe == PIPE_B) && plane == 0) {
> >   			plane_formats = nv12_plane_formats;
> >   			num_plane_formats =
> ARRAY_SIZE(nv12_plane_formats);
> > +		} else if ((IS_GEMINILAKE(dev_priv) ||
> IS_CANNONLAKE(dev_priv)) &&
> > +				   plane == 0) {
> > +			plane_formats = nv12_plane_formats;
> > +			num_plane_formats =
> ARRAY_SIZE(nv12_plane_formats);
> Same as above, can this merge into condition just above this if ?
> 
> - Shashank
> >   		} else {
> >   			plane_formats = skl_plane_formats;
> >   			num_plane_formats =
> ARRAY_SIZE(skl_plane_formats);
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
index ecba7c7..ca213bc 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -327,14 +327,13 @@  int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
 		}
 
 		/* set scaler mode */
-		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv)) &&
+		if ((IS_BROXTON(dev_priv) || IS_KABYLAKE(dev_priv) ||
+			IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) &&
 			plane_state && plane_state->base.fb &&
 			plane_state->base.fb->format->format ==
 			DRM_FORMAT_NV12) {
 			scaler_state->scalers[*scaler_id].mode =
 				PS_SCALER_MODE_NV12;
-		} else if (IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) {
-			scaler_state->scalers[*scaler_id].mode = 0;
 		} else if (num_scalers_need == 1 && intel_crtc->pipe != PIPE_C) {
 			/*
 			 * when only 1 scaler is in use on either pipe A or B,
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index df6b11a..115e0ea 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13200,7 +13200,11 @@  intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
 			((pipe == PIPE_A || pipe == PIPE_B))) {
 			intel_primary_formats = nv12_primary_formats;
 			num_formats = ARRAY_SIZE(nv12_primary_formats);
+		} else if (IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) {
+			intel_primary_formats = nv12_primary_formats;
+			num_formats = ARRAY_SIZE(nv12_primary_formats);
 		} else {
+
 			intel_primary_formats = skl_primary_formats;
 			num_formats = ARRAY_SIZE(skl_primary_formats);
 		}
@@ -14006,7 +14010,8 @@  static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
 		}
 		break;
 	case DRM_FORMAT_NV12:
-		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv)) {
+		if (!IS_BROXTON(dev_priv) && !IS_KABYLAKE(dev_priv) &&
+			!IS_GEMINILAKE(dev_priv) && !IS_CANNONLAKE(dev_priv)) {
 			DRM_DEBUG_KMS("unsupported pixel format: %s\n",
 		      drm_get_format_name(mode_cmd->pixel_format,
 				&format_name));
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 1d35a18..35dcba0 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1340,6 +1340,10 @@  intel_sprite_plane_create(struct drm_i915_private *dev_priv,
 			(pipe == PIPE_A || pipe == PIPE_B) && plane == 0) {
 			plane_formats = nv12_plane_formats;
 			num_plane_formats = ARRAY_SIZE(nv12_plane_formats);
+		} else if ((IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) &&
+				   plane == 0) {
+			plane_formats = nv12_plane_formats;
+			num_plane_formats = ARRAY_SIZE(nv12_plane_formats);
 		} else {
 			plane_formats = skl_plane_formats;
 			num_plane_formats = ARRAY_SIZE(skl_plane_formats);