diff mbox

drm/i915/skl: Fix plane index in the colorkey vfuncs

Message ID 1423873606-15888-1-git-send-email-damien.lespiau@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lespiau, Damien Feb. 14, 2015, 12:26 a.m. UTC
While the SKL versions of update_plane() and disable_plane() have been
fixed before hitting upstream, the colorkey vfuncs have been left behind
and so register writes for sprite 0 were landing on plane 0 (primary
plane) instead of plane 1.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/intel_sprite.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Shuang He Feb. 14, 2015, 12:15 p.m. UTC | #1
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 5779
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                 -1              281/281              280/281
ILK                                  313/313              313/313
SNB                                  309/309              309/309
IVB                                  382/382              382/382
BYT                                  296/296              296/296
HSW                                  426/426              426/426
BDW                 -1              318/318              317/318
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
*PNV  igt_gen3_render_mixed_blits      PASS(3)      CRASH(1)PASS(1)
*BDW  igt_gem_gtt_hog      PASS(1)      DMESG_WARN(1)
Note: You need to pay more attention to line start with '*'
Daniel Vetter March 10, 2015, 10:32 a.m. UTC | #2
On Sat, Feb 14, 2015 at 12:26:46AM +0000, Damien Lespiau wrote:
> While the SKL versions of update_plane() and disable_plane() have been
> fixed before hitting upstream, the colorkey vfuncs have been left behind
> and so register writes for sprite 0 were landing on plane 0 (primary
> plane) instead of plane 1.
> 
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

Sounds like we need an igt for this stuff asap, and then maybe also
converting this over to atomic props properly.
-Daniel
> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index f2d408d..9bd5e28 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -308,7 +308,7 @@ skl_update_colorkey(struct drm_plane *drm_plane,
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_plane *intel_plane = to_intel_plane(drm_plane);
>  	const int pipe = intel_plane->pipe;
> -	const int plane = intel_plane->plane;
> +	const int plane = intel_plane->plane + 1;
>  	u32 plane_ctl;
>  
>  	I915_WRITE(PLANE_KEYVAL(pipe, plane), key->min_value);
> @@ -336,7 +336,7 @@ skl_get_colorkey(struct drm_plane *drm_plane,
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_plane *intel_plane = to_intel_plane(drm_plane);
>  	const int pipe = intel_plane->pipe;
> -	const int plane = intel_plane->plane;
> +	const int plane = intel_plane->plane + 1;
>  	u32 plane_ctl;
>  
>  	key->min_value = I915_READ(PLANE_KEYVAL(pipe, plane));
> -- 
> 1.8.3.1
> 
> _______________________________________________
> 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_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index f2d408d..9bd5e28 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -308,7 +308,7 @@  skl_update_colorkey(struct drm_plane *drm_plane,
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_plane *intel_plane = to_intel_plane(drm_plane);
 	const int pipe = intel_plane->pipe;
-	const int plane = intel_plane->plane;
+	const int plane = intel_plane->plane + 1;
 	u32 plane_ctl;
 
 	I915_WRITE(PLANE_KEYVAL(pipe, plane), key->min_value);
@@ -336,7 +336,7 @@  skl_get_colorkey(struct drm_plane *drm_plane,
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_plane *intel_plane = to_intel_plane(drm_plane);
 	const int pipe = intel_plane->pipe;
-	const int plane = intel_plane->plane;
+	const int plane = intel_plane->plane + 1;
 	u32 plane_ctl;
 
 	key->min_value = I915_READ(PLANE_KEYVAL(pipe, plane));