diff mbox

drm/i915: Don't reject primayr plane windowing with color keying enabled on SKL+

Message ID 1452883613-28549-1-git-send-email-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjala Jan. 15, 2016, 6:46 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

On SKL+ plane scaling is mutually exclusive with color keying. The code
check for this, but during some refactoring the code got changed to
also reject primary plane windowing when color keying is used. There is
no such restriction in the hardware, so restore the original logic.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: 061e4b8d650a ("drm/i915: clean up atomic plane check functions, v2.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Comments

Matt Roper Jan. 15, 2016, 11:22 p.m. UTC | #1
On Fri, Jan 15, 2016 at 08:46:53PM +0200, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> On SKL+ plane scaling is mutually exclusive with color keying. The code
> check for this, but during some refactoring the code got changed to
> also reject primary plane windowing when color keying is used. There is
> no such restriction in the hardware, so restore the original logic.
> 
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: 061e4b8d650a ("drm/i915: clean up atomic plane check functions, v2.")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

s/primayr/primary in your headline, but otherwise

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

Still waiting for CI to run the BAT on this...


Matt

> ---
>  drivers/gpu/drm/i915/intel_display.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a726c5e91220..7bc56e217ecc 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14019,11 +14019,12 @@ intel_check_primary_plane(struct drm_plane *plane,
>  	int max_scale = DRM_PLANE_HELPER_NO_SCALING;
>  	bool can_position = false;
>  
> -	/* use scaler when colorkey is not required */
> -	if (INTEL_INFO(plane->dev)->gen >= 9 &&
> -	    state->ckey.flags == I915_SET_COLORKEY_NONE) {
> -		min_scale = 1;
> -		max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> +	if (INTEL_INFO(plane->dev)->gen >= 9) {
> +		/* use scaler when colorkey is not required */
> +		if (state->ckey.flags == I915_SET_COLORKEY_NONE) {
> +			min_scale = 1;
> +			max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> +		}
>  		can_position = true;
>  	}
>  
> -- 
> 2.4.10
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Maarten Lankhorst Jan. 18, 2016, 10:21 a.m. UTC | #2
Op 15-01-16 om 19:46 schreef ville.syrjala@linux.intel.com:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> On SKL+ plane scaling is mutually exclusive with color keying. The code
> check for this, but during some refactoring the code got changed to
> also reject primary plane windowing when color keying is used. There is
> no such restriction in the hardware, so restore the original logic.
>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: 061e4b8d650a ("drm/i915: clean up atomic plane check functions, v2.")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
Apart from obvious typo looks good.

Missing a cc for -fixes?

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Ville Syrjala Jan. 18, 2016, 2:02 p.m. UTC | #3
On Sat, Jan 16, 2016 at 08:20:49AM -0000, Patchwork wrote:
> == Summary ==
> 
> Built on 0ea9000bcb6f394edde5111494a92b0607214cfa drm-intel-nightly: 2016y-01m-15d-19h-09m-45s UTC integration manifest
> 
> Test gem_storedw_loop:
>         Subgroup basic-render:
>                 dmesg-warn -> PASS       (bdw-nuci7) UNSTABLE
>                 dmesg-warn -> PASS       (bdw-ultra) UNSTABLE
> Test kms_pipe_crc_basic:
>         Subgroup read-crc-pipe-b-frame-sequence:
>                 pass       -> DMESG-WARN (byt-nuc)

[drm:vlv_check_no_gt_access [i915]] *ERROR* GT register access while GT waking disabled
unrelated to the patch.
 
> bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
> bdw-ultra        total:138  pass:132  dwarn:0   dfail:0   fail:0   skip:6  
> byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
> ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
> skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
> skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
> 
> Results at /archive/results/CI_IGT_test/Patchwork_1204/
Ville Syrjala Jan. 18, 2016, 2:20 p.m. UTC | #4
On Fri, Jan 15, 2016 at 03:22:08PM -0800, Matt Roper wrote:
> On Fri, Jan 15, 2016 at 08:46:53PM +0200, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > On SKL+ plane scaling is mutually exclusive with color keying. The code
> > check for this, but during some refactoring the code got changed to
> > also reject primary plane windowing when color keying is used. There is
> > no such restriction in the hardware, so restore the original logic.
> > 
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Fixes: 061e4b8d650a ("drm/i915: clean up atomic plane check functions, v2.")
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> s/primayr/primary in your headline, but otherwise
> 
> Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
> 
> Still waiting for CI to run the BAT on this...

CI didn't scream. so pushed to dinq with the typo fixed.
Thanks for the reviews.

> 
> 
> Matt
> 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 11 ++++++-----
> >  1 file changed, 6 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index a726c5e91220..7bc56e217ecc 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -14019,11 +14019,12 @@ intel_check_primary_plane(struct drm_plane *plane,
> >  	int max_scale = DRM_PLANE_HELPER_NO_SCALING;
> >  	bool can_position = false;
> >  
> > -	/* use scaler when colorkey is not required */
> > -	if (INTEL_INFO(plane->dev)->gen >= 9 &&
> > -	    state->ckey.flags == I915_SET_COLORKEY_NONE) {
> > -		min_scale = 1;
> > -		max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> > +	if (INTEL_INFO(plane->dev)->gen >= 9) {
> > +		/* use scaler when colorkey is not required */
> > +		if (state->ckey.flags == I915_SET_COLORKEY_NONE) {
> > +			min_scale = 1;
> > +			max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> > +		}
> >  		can_position = true;
> >  	}
> >  
> > -- 
> > 2.4.10
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Matt Roper
> Graphics Software Engineer
> IoTG Platform Enabling & Development
> Intel Corporation
> (916) 356-2795
Ville Syrjala Jan. 18, 2016, 2:23 p.m. UTC | #5
On Mon, Jan 18, 2016 at 04:20:29PM +0200, Ville Syrjälä wrote:
> On Fri, Jan 15, 2016 at 03:22:08PM -0800, Matt Roper wrote:
> > On Fri, Jan 15, 2016 at 08:46:53PM +0200, ville.syrjala@linux.intel.com wrote:
> > > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > 
> > > On SKL+ plane scaling is mutually exclusive with color keying. The code
> > > check for this, but during some refactoring the code got changed to
> > > also reject primary plane windowing when color keying is used. There is
> > > no such restriction in the hardware, so restore the original logic.
> > > 
> > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > > Fixes: 061e4b8d650a ("drm/i915: clean up atomic plane check functions, v2.")
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > s/primayr/primary in your headline, but otherwise
> > 
> > Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
> > 
> > Still waiting for CI to run the BAT on this...
> 
> CI didn't scream. so pushed to dinq with the typo fixed.
> Thanks for the reviews.

Oh and added cc:stable when pushing.

> 
> > 
> > 
> > Matt
> > 
> > > ---
> > >  drivers/gpu/drm/i915/intel_display.c | 11 ++++++-----
> > >  1 file changed, 6 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > > index a726c5e91220..7bc56e217ecc 100644
> > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > @@ -14019,11 +14019,12 @@ intel_check_primary_plane(struct drm_plane *plane,
> > >  	int max_scale = DRM_PLANE_HELPER_NO_SCALING;
> > >  	bool can_position = false;
> > >  
> > > -	/* use scaler when colorkey is not required */
> > > -	if (INTEL_INFO(plane->dev)->gen >= 9 &&
> > > -	    state->ckey.flags == I915_SET_COLORKEY_NONE) {
> > > -		min_scale = 1;
> > > -		max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> > > +	if (INTEL_INFO(plane->dev)->gen >= 9) {
> > > +		/* use scaler when colorkey is not required */
> > > +		if (state->ckey.flags == I915_SET_COLORKEY_NONE) {
> > > +			min_scale = 1;
> > > +			max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
> > > +		}
> > >  		can_position = true;
> > >  	}
> > >  
> > > -- 
> > > 2.4.10
> > > 
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> > -- 
> > Matt Roper
> > Graphics Software Engineer
> > IoTG Platform Enabling & Development
> > Intel Corporation
> > (916) 356-2795
> 
> -- 
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a726c5e91220..7bc56e217ecc 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14019,11 +14019,12 @@  intel_check_primary_plane(struct drm_plane *plane,
 	int max_scale = DRM_PLANE_HELPER_NO_SCALING;
 	bool can_position = false;
 
-	/* use scaler when colorkey is not required */
-	if (INTEL_INFO(plane->dev)->gen >= 9 &&
-	    state->ckey.flags == I915_SET_COLORKEY_NONE) {
-		min_scale = 1;
-		max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
+	if (INTEL_INFO(plane->dev)->gen >= 9) {
+		/* use scaler when colorkey is not required */
+		if (state->ckey.flags == I915_SET_COLORKEY_NONE) {
+			min_scale = 1;
+			max_scale = skl_max_scale(to_intel_crtc(crtc), crtc_state);
+		}
 		can_position = true;
 	}