* [PATCH 1/5] drm/i915: move adjusted_x/y from crtc to cache.
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
@ 2017-09-19 19:44 ` Juha-Pekka Heikkila
2017-10-09 17:12 ` Ville Syrjälä
2017-09-19 19:44 ` [PATCH 2/5] drm/i915: Unify skylake plane update Juha-Pekka Heikkila
` (5 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Juha-Pekka Heikkila @ 2017-09-19 19:44 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
drivers/gpu/drm/i915/i915_drv.h | 8 ++++++++
drivers/gpu/drm/i915/intel_display.c | 10 ++++++----
drivers/gpu/drm/i915/intel_drv.h | 2 --
drivers/gpu/drm/i915/intel_fbc.c | 11 ++++++++---
4 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 6d7d871..17960ba 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1095,6 +1095,14 @@ struct intel_fbc {
int src_w;
int src_h;
bool visible;
+ /*
+ * Display surface base address adjustement for
+ * pageflips. Note that on gen4+ this only adjusts up
+ * to a tile, offsets within a tile are handled in
+ * the hw itself (with the TILEOFF register).
+ */
+ int adjusted_x;
+ int adjusted_y;
} plane;
struct {
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8599e42..92e8370 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3307,6 +3307,7 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
int x = plane_state->main.x;
int y = plane_state->main.y;
unsigned long irqflags;
+ struct intel_fbc *fbc = &dev_priv->fbc;
linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
@@ -3315,8 +3316,8 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
else
crtc->dspaddr_offset = linear_offset;
- crtc->adjusted_x = x;
- crtc->adjusted_y = y;
+ fbc->state_cache.plane.adjusted_x = x;
+ fbc->state_cache.plane.adjusted_y = y;
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
@@ -3577,6 +3578,7 @@ static void skylake_update_primary_plane(struct intel_plane *plane,
int dst_w = drm_rect_width(&plane_state->base.dst);
int dst_h = drm_rect_height(&plane_state->base.dst);
unsigned long irqflags;
+ struct intel_fbc *fbc = &dev_priv->fbc;
/* Sizes are 0 based */
src_w--;
@@ -3586,8 +3588,8 @@ static void skylake_update_primary_plane(struct intel_plane *plane,
crtc->dspaddr_offset = surf_addr;
- crtc->adjusted_x = src_x;
- crtc->adjusted_y = src_y;
+ fbc->state_cache.plane.adjusted_x = src_x;
+ fbc->state_cache.plane.adjusted_y = src_y;
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3078076..62aada7 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -807,8 +807,6 @@ struct intel_crtc {
* gen4+ this only adjusts up to a tile, offsets within a tile are
* handled in the hw itself (with the TILEOFF register). */
u32 dspaddr_offset;
- int adjusted_x;
- int adjusted_y;
struct intel_crtc_state *config;
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index 58a772d..dc059808 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -71,7 +71,10 @@ static inline bool no_fbc_on_multiple_pipes(struct drm_i915_private *dev_priv)
*/
static unsigned int get_crtc_fence_y_offset(struct intel_crtc *crtc)
{
- return crtc->base.y - crtc->adjusted_y;
+ struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+ struct intel_fbc *fbc = &dev_priv->fbc;
+
+ return crtc->base.y - fbc->state_cache.plane.adjusted_y;
}
/*
@@ -727,8 +730,8 @@ static bool intel_fbc_hw_tracking_covers_screen(struct intel_crtc *crtc)
intel_fbc_get_plane_source_size(&fbc->state_cache, &effective_w,
&effective_h);
- effective_w += crtc->adjusted_x;
- effective_h += crtc->adjusted_y;
+ effective_w += fbc->state_cache.plane.adjusted_x;
+ effective_h += fbc->state_cache.plane.adjusted_y;
return effective_w <= max_w && effective_h <= max_h;
}
@@ -757,6 +760,8 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,
cache->plane.src_w = drm_rect_width(&plane_state->base.src) >> 16;
cache->plane.src_h = drm_rect_height(&plane_state->base.src) >> 16;
cache->plane.visible = plane_state->base.visible;
+ cache->plane.adjusted_x = plane_state->main.x;
+ cache->plane.adjusted_y = plane_state->main.y;
if (!cache->plane.visible)
return;
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH 1/5] drm/i915: move adjusted_x/y from crtc to cache.
2017-09-19 19:44 ` [PATCH 1/5] drm/i915: move adjusted_x/y from crtc to cache Juha-Pekka Heikkila
@ 2017-10-09 17:12 ` Ville Syrjälä
0 siblings, 0 replies; 12+ messages in thread
From: Ville Syrjälä @ 2017-10-09 17:12 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: intel-gfx
On Tue, Sep 19, 2017 at 10:44:05PM +0300, Juha-Pekka Heikkila wrote:
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 8 ++++++++
> drivers/gpu/drm/i915/intel_display.c | 10 ++++++----
> drivers/gpu/drm/i915/intel_drv.h | 2 --
> drivers/gpu/drm/i915/intel_fbc.c | 11 ++++++++---
> 4 files changed, 22 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 6d7d871..17960ba 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1095,6 +1095,14 @@ struct intel_fbc {
> int src_w;
> int src_h;
> bool visible;
> + /*
> + * Display surface base address adjustement for
> + * pageflips. Note that on gen4+ this only adjusts up
> + * to a tile, offsets within a tile are handled in
> + * the hw itself (with the TILEOFF register).
> + */
> + int adjusted_x;
> + int adjusted_y;
> } plane;
>
> struct {
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 8599e42..92e8370 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3307,6 +3307,7 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
> int x = plane_state->main.x;
> int y = plane_state->main.y;
> unsigned long irqflags;
> + struct intel_fbc *fbc = &dev_priv->fbc;
>
> linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
>
> @@ -3315,8 +3316,8 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
> else
> crtc->dspaddr_offset = linear_offset;
>
> - crtc->adjusted_x = x;
> - crtc->adjusted_y = y;
> + fbc->state_cache.plane.adjusted_x = x;
> + fbc->state_cache.plane.adjusted_y = y;
This shouldn't be here. Just doing the update in
intel_fbc_update_state_cache() should be good enough.
>
> spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
>
> @@ -3577,6 +3578,7 @@ static void skylake_update_primary_plane(struct intel_plane *plane,
> int dst_w = drm_rect_width(&plane_state->base.dst);
> int dst_h = drm_rect_height(&plane_state->base.dst);
> unsigned long irqflags;
> + struct intel_fbc *fbc = &dev_priv->fbc;
>
> /* Sizes are 0 based */
> src_w--;
> @@ -3586,8 +3588,8 @@ static void skylake_update_primary_plane(struct intel_plane *plane,
>
> crtc->dspaddr_offset = surf_addr;
>
> - crtc->adjusted_x = src_x;
> - crtc->adjusted_y = src_y;
> + fbc->state_cache.plane.adjusted_x = src_x;
> + fbc->state_cache.plane.adjusted_y = src_y;
ditto
>
> spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
>
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 3078076..62aada7 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -807,8 +807,6 @@ struct intel_crtc {
> * gen4+ this only adjusts up to a tile, offsets within a tile are
> * handled in the hw itself (with the TILEOFF register). */
> u32 dspaddr_offset;
> - int adjusted_x;
> - int adjusted_y;
>
> struct intel_crtc_state *config;
>
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index 58a772d..dc059808 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -71,7 +71,10 @@ static inline bool no_fbc_on_multiple_pipes(struct drm_i915_private *dev_priv)
> */
> static unsigned int get_crtc_fence_y_offset(struct intel_crtc *crtc)
> {
> - return crtc->base.y - crtc->adjusted_y;
> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> + struct intel_fbc *fbc = &dev_priv->fbc;
> +
> + return crtc->base.y - fbc->state_cache.plane.adjusted_y;
> }
>
> /*
> @@ -727,8 +730,8 @@ static bool intel_fbc_hw_tracking_covers_screen(struct intel_crtc *crtc)
>
> intel_fbc_get_plane_source_size(&fbc->state_cache, &effective_w,
> &effective_h);
> - effective_w += crtc->adjusted_x;
> - effective_h += crtc->adjusted_y;
> + effective_w += fbc->state_cache.plane.adjusted_x;
> + effective_h += fbc->state_cache.plane.adjusted_y;
>
> return effective_w <= max_w && effective_h <= max_h;
> }
> @@ -757,6 +760,8 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,
> cache->plane.src_w = drm_rect_width(&plane_state->base.src) >> 16;
> cache->plane.src_h = drm_rect_height(&plane_state->base.src) >> 16;
> cache->plane.visible = plane_state->base.visible;
> + cache->plane.adjusted_x = plane_state->main.x;
> + cache->plane.adjusted_y = plane_state->main.y;
>
> if (!cache->plane.visible)
> return;
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/5] drm/i915: Unify skylake plane update
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
2017-09-19 19:44 ` [PATCH 1/5] drm/i915: move adjusted_x/y from crtc to cache Juha-Pekka Heikkila
@ 2017-09-19 19:44 ` Juha-Pekka Heikkila
2017-09-19 19:44 ` [PATCH 3/5] drm/i915: Unify skylake plane disable Juha-Pekka Heikkila
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Juha-Pekka Heikkila @ 2017-09-19 19:44 UTC (permalink / raw)
To: intel-gfx
Don't handle skylake primary plane separately as it is similar
plane as the others.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
drivers/gpu/drm/i915/intel_display.c | 82 +-----------------------------------
drivers/gpu/drm/i915/intel_drv.h | 3 ++
drivers/gpu/drm/i915/intel_sprite.c | 2 +-
3 files changed, 6 insertions(+), 81 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 92e8370..f8ee434 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3554,84 +3554,6 @@ u32 skl_plane_ctl(const struct intel_crtc_state *crtc_state,
return plane_ctl;
}
-static void skylake_update_primary_plane(struct intel_plane *plane,
- const struct intel_crtc_state *crtc_state,
- const struct intel_plane_state *plane_state)
-{
- struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
- struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
- const struct drm_framebuffer *fb = plane_state->base.fb;
- enum plane_id plane_id = plane->id;
- enum pipe pipe = plane->pipe;
- u32 plane_ctl = plane_state->ctl;
- unsigned int rotation = plane_state->base.rotation;
- u32 stride = skl_plane_stride(fb, 0, rotation);
- u32 aux_stride = skl_plane_stride(fb, 1, rotation);
- u32 surf_addr = plane_state->main.offset;
- int scaler_id = plane_state->scaler_id;
- int src_x = plane_state->main.x;
- int src_y = plane_state->main.y;
- int src_w = drm_rect_width(&plane_state->base.src) >> 16;
- int src_h = drm_rect_height(&plane_state->base.src) >> 16;
- int dst_x = plane_state->base.dst.x1;
- int dst_y = plane_state->base.dst.y1;
- int dst_w = drm_rect_width(&plane_state->base.dst);
- int dst_h = drm_rect_height(&plane_state->base.dst);
- unsigned long irqflags;
- struct intel_fbc *fbc = &dev_priv->fbc;
-
- /* Sizes are 0 based */
- src_w--;
- src_h--;
- dst_w--;
- dst_h--;
-
- crtc->dspaddr_offset = surf_addr;
-
- fbc->state_cache.plane.adjusted_x = src_x;
- fbc->state_cache.plane.adjusted_y = src_y;
-
- spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
-
- if (IS_GEMINILAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) {
- I915_WRITE_FW(PLANE_COLOR_CTL(pipe, plane_id),
- PLANE_COLOR_PIPE_GAMMA_ENABLE |
- PLANE_COLOR_PIPE_CSC_ENABLE |
- PLANE_COLOR_PLANE_GAMMA_DISABLE);
- }
-
- I915_WRITE_FW(PLANE_CTL(pipe, plane_id), plane_ctl);
- I915_WRITE_FW(PLANE_OFFSET(pipe, plane_id), (src_y << 16) | src_x);
- I915_WRITE_FW(PLANE_STRIDE(pipe, plane_id), stride);
- I915_WRITE_FW(PLANE_SIZE(pipe, plane_id), (src_h << 16) | src_w);
- I915_WRITE_FW(PLANE_AUX_DIST(pipe, plane_id),
- (plane_state->aux.offset - surf_addr) | aux_stride);
- I915_WRITE_FW(PLANE_AUX_OFFSET(pipe, plane_id),
- (plane_state->aux.y << 16) | plane_state->aux.x);
-
- if (scaler_id >= 0) {
- uint32_t ps_ctrl = 0;
-
- WARN_ON(!dst_w || !dst_h);
- ps_ctrl = PS_SCALER_EN | PS_PLANE_SEL(plane_id) |
- crtc_state->scaler_state.scalers[scaler_id].mode;
- I915_WRITE_FW(SKL_PS_CTRL(pipe, scaler_id), ps_ctrl);
- I915_WRITE_FW(SKL_PS_PWR_GATE(pipe, scaler_id), 0);
- I915_WRITE_FW(SKL_PS_WIN_POS(pipe, scaler_id), (dst_x << 16) | dst_y);
- I915_WRITE_FW(SKL_PS_WIN_SZ(pipe, scaler_id), (dst_w << 16) | dst_h);
- I915_WRITE_FW(PLANE_POS(pipe, plane_id), 0);
- } else {
- I915_WRITE_FW(PLANE_POS(pipe, plane_id), (dst_y << 16) | dst_x);
- }
-
- I915_WRITE_FW(PLANE_SURF(pipe, plane_id),
- intel_plane_ggtt_offset(plane_state) + surf_addr);
-
- POSTING_READ_FW(PLANE_SURF(pipe, plane_id));
-
- spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
-}
-
static void skylake_disable_primary_plane(struct intel_plane *primary,
struct intel_crtc *crtc)
{
@@ -13232,7 +13154,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
num_formats = ARRAY_SIZE(skl_primary_formats);
modifiers = skl_format_modifiers_ccs;
- primary->update_plane = skylake_update_primary_plane;
+ primary->update_plane = skl_update_plane;
primary->disable_plane = skylake_disable_primary_plane;
} else if (INTEL_GEN(dev_priv) >= 9) {
intel_primary_formats = skl_primary_formats;
@@ -13242,7 +13164,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
else
modifiers = skl_format_modifiers_noccs;
- primary->update_plane = skylake_update_primary_plane;
+ primary->update_plane = skl_update_plane;
primary->disable_plane = skylake_disable_primary_plane;
} else if (INTEL_GEN(dev_priv) >= 4) {
intel_primary_formats = i965_primary_formats;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 62aada7..7b225d0 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1917,6 +1917,9 @@ int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
struct drm_file *file_priv);
void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state);
void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state);
+void skl_update_plane(struct intel_plane *plane,
+ const struct intel_crtc_state *crtc_state,
+ const struct intel_plane_state *plane_state);
/* intel_tv.c */
void intel_tv_init(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index b0d6e3e..2ec4108 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -224,7 +224,7 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state)
#endif
}
-static void
+void
skl_update_plane(struct intel_plane *plane,
const struct intel_crtc_state *crtc_state,
const struct intel_plane_state *plane_state)
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH 3/5] drm/i915: Unify skylake plane disable
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
2017-09-19 19:44 ` [PATCH 1/5] drm/i915: move adjusted_x/y from crtc to cache Juha-Pekka Heikkila
2017-09-19 19:44 ` [PATCH 2/5] drm/i915: Unify skylake plane update Juha-Pekka Heikkila
@ 2017-09-19 19:44 ` Juha-Pekka Heikkila
2017-09-19 19:44 ` [PATCH 4/5] drm/i915: dspaddr_offset doesn't need to be more than local variable Juha-Pekka Heikkila
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Juha-Pekka Heikkila @ 2017-09-19 19:44 UTC (permalink / raw)
To: intel-gfx
Don't handle skylake primary plane separately as it is similar
plane as the others.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
drivers/gpu/drm/i915/intel_display.c | 21 ++-------------------
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/i915/intel_sprite.c | 2 +-
3 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index f8ee434..48d5975 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3554,23 +3554,6 @@ u32 skl_plane_ctl(const struct intel_crtc_state *crtc_state,
return plane_ctl;
}
-static void skylake_disable_primary_plane(struct intel_plane *primary,
- struct intel_crtc *crtc)
-{
- struct drm_i915_private *dev_priv = to_i915(primary->base.dev);
- enum plane_id plane_id = primary->id;
- enum pipe pipe = primary->pipe;
- unsigned long irqflags;
-
- spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
-
- I915_WRITE_FW(PLANE_CTL(pipe, plane_id), 0);
- I915_WRITE_FW(PLANE_SURF(pipe, plane_id), 0);
- POSTING_READ_FW(PLANE_SURF(pipe, plane_id));
-
- spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
-}
-
static int
__intel_display_resume(struct drm_device *dev,
struct drm_atomic_state *state,
@@ -13155,7 +13138,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
modifiers = skl_format_modifiers_ccs;
primary->update_plane = skl_update_plane;
- primary->disable_plane = skylake_disable_primary_plane;
+ primary->disable_plane = skl_disable_plane;
} else if (INTEL_GEN(dev_priv) >= 9) {
intel_primary_formats = skl_primary_formats;
num_formats = ARRAY_SIZE(skl_primary_formats);
@@ -13165,7 +13148,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
modifiers = skl_format_modifiers_noccs;
primary->update_plane = skl_update_plane;
- primary->disable_plane = skylake_disable_primary_plane;
+ primary->disable_plane = skl_disable_plane;
} else if (INTEL_GEN(dev_priv) >= 4) {
intel_primary_formats = i965_primary_formats;
num_formats = ARRAY_SIZE(i965_primary_formats);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 7b225d0..56fb493 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1920,6 +1920,7 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state);
void skl_update_plane(struct intel_plane *plane,
const struct intel_crtc_state *crtc_state,
const struct intel_plane_state *plane_state);
+void skl_disable_plane(struct intel_plane *plane, struct intel_crtc *crtc);
/* intel_tv.c */
void intel_tv_init(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 2ec4108..22598c2 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -305,7 +305,7 @@ skl_update_plane(struct intel_plane *plane,
spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
}
-static void
+void
skl_disable_plane(struct intel_plane *plane, struct intel_crtc *crtc)
{
struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH 4/5] drm/i915: dspaddr_offset doesn't need to be more than local variable
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
` (2 preceding siblings ...)
2017-09-19 19:44 ` [PATCH 3/5] drm/i915: Unify skylake plane disable Juha-Pekka Heikkila
@ 2017-09-19 19:44 ` Juha-Pekka Heikkila
2017-10-09 17:13 ` Ville Syrjälä
2017-09-19 19:44 ` [PATCH 5/5] drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y Juha-Pekka Heikkila
` (2 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Juha-Pekka Heikkila @ 2017-09-19 19:44 UTC (permalink / raw)
To: intel-gfx
Move u32 dspaddr_offset from struct intel_crtc member into local
variable in i9xx_update_primary_plane()
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
drivers/gpu/drm/i915/intel_display.c | 12 ++++++------
drivers/gpu/drm/i915/intel_drv.h | 5 -----
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 48d5975..d214977 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3298,7 +3298,6 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
const struct intel_plane_state *plane_state)
{
struct drm_i915_private *dev_priv = to_i915(primary->base.dev);
- struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
const struct drm_framebuffer *fb = plane_state->base.fb;
enum plane plane = primary->plane;
u32 linear_offset;
@@ -3308,13 +3307,14 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
int y = plane_state->main.y;
unsigned long irqflags;
struct intel_fbc *fbc = &dev_priv->fbc;
+ u32 dspaddr_offset;
linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
if (INTEL_GEN(dev_priv) >= 4)
- crtc->dspaddr_offset = plane_state->main.offset;
+ dspaddr_offset = plane_state->main.offset;
else
- crtc->dspaddr_offset = linear_offset;
+ dspaddr_offset = linear_offset;
fbc->state_cache.plane.adjusted_x = x;
fbc->state_cache.plane.adjusted_y = y;
@@ -3343,18 +3343,18 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
I915_WRITE_FW(DSPSURF(plane),
intel_plane_ggtt_offset(plane_state) +
- crtc->dspaddr_offset);
+ dspaddr_offset);
I915_WRITE_FW(DSPOFFSET(plane), (y << 16) | x);
} else if (INTEL_GEN(dev_priv) >= 4) {
I915_WRITE_FW(DSPSURF(plane),
intel_plane_ggtt_offset(plane_state) +
- crtc->dspaddr_offset);
+ dspaddr_offset);
I915_WRITE_FW(DSPTILEOFF(plane), (y << 16) | x);
I915_WRITE_FW(DSPLINOFF(plane), linear_offset);
} else {
I915_WRITE_FW(DSPADDR(plane),
intel_plane_ggtt_offset(plane_state) +
- crtc->dspaddr_offset);
+ dspaddr_offset);
}
POSTING_READ_FW(reg);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 56fb493..a92c2e2 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -803,11 +803,6 @@ struct intel_crtc {
unsigned long long enabled_power_domains;
struct intel_overlay *overlay;
- /* Display surface base address adjustement for pageflips. Note that on
- * gen4+ this only adjusts up to a tile, offsets within a tile are
- * handled in the hw itself (with the TILEOFF register). */
- u32 dspaddr_offset;
-
struct intel_crtc_state *config;
/* global reset count when the last flip was submitted */
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH 4/5] drm/i915: dspaddr_offset doesn't need to be more than local variable
2017-09-19 19:44 ` [PATCH 4/5] drm/i915: dspaddr_offset doesn't need to be more than local variable Juha-Pekka Heikkila
@ 2017-10-09 17:13 ` Ville Syrjälä
0 siblings, 0 replies; 12+ messages in thread
From: Ville Syrjälä @ 2017-10-09 17:13 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: intel-gfx
On Tue, Sep 19, 2017 at 10:44:08PM +0300, Juha-Pekka Heikkila wrote:
> Move u32 dspaddr_offset from struct intel_crtc member into local
> variable in i9xx_update_primary_plane()
I would reorder the series so that this is done before you eliminate the
SKL primary plane functions. Would make it more obvious that there are
no real differences between the SKL primary vs. sprite functions.
>
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 12 ++++++------
> drivers/gpu/drm/i915/intel_drv.h | 5 -----
> 2 files changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 48d5975..d214977 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3298,7 +3298,6 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
> const struct intel_plane_state *plane_state)
> {
> struct drm_i915_private *dev_priv = to_i915(primary->base.dev);
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> const struct drm_framebuffer *fb = plane_state->base.fb;
> enum plane plane = primary->plane;
> u32 linear_offset;
> @@ -3308,13 +3307,14 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
> int y = plane_state->main.y;
> unsigned long irqflags;
> struct intel_fbc *fbc = &dev_priv->fbc;
> + u32 dspaddr_offset;
>
> linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
>
> if (INTEL_GEN(dev_priv) >= 4)
> - crtc->dspaddr_offset = plane_state->main.offset;
> + dspaddr_offset = plane_state->main.offset;
> else
> - crtc->dspaddr_offset = linear_offset;
> + dspaddr_offset = linear_offset;
>
> fbc->state_cache.plane.adjusted_x = x;
> fbc->state_cache.plane.adjusted_y = y;
> @@ -3343,18 +3343,18 @@ static void i9xx_update_primary_plane(struct intel_plane *primary,
> if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> I915_WRITE_FW(DSPSURF(plane),
> intel_plane_ggtt_offset(plane_state) +
> - crtc->dspaddr_offset);
> + dspaddr_offset);
> I915_WRITE_FW(DSPOFFSET(plane), (y << 16) | x);
> } else if (INTEL_GEN(dev_priv) >= 4) {
> I915_WRITE_FW(DSPSURF(plane),
> intel_plane_ggtt_offset(plane_state) +
> - crtc->dspaddr_offset);
> + dspaddr_offset);
> I915_WRITE_FW(DSPTILEOFF(plane), (y << 16) | x);
> I915_WRITE_FW(DSPLINOFF(plane), linear_offset);
> } else {
> I915_WRITE_FW(DSPADDR(plane),
> intel_plane_ggtt_offset(plane_state) +
> - crtc->dspaddr_offset);
> + dspaddr_offset);
> }
> POSTING_READ_FW(reg);
>
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 56fb493..a92c2e2 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -803,11 +803,6 @@ struct intel_crtc {
> unsigned long long enabled_power_domains;
> struct intel_overlay *overlay;
>
> - /* Display surface base address adjustement for pageflips. Note that on
> - * gen4+ this only adjusts up to a tile, offsets within a tile are
> - * handled in the hw itself (with the TILEOFF register). */
> - u32 dspaddr_offset;
> -
> struct intel_crtc_state *config;
>
> /* global reset count when the last flip was submitted */
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 5/5] drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
` (3 preceding siblings ...)
2017-09-19 19:44 ` [PATCH 4/5] drm/i915: dspaddr_offset doesn't need to be more than local variable Juha-Pekka Heikkila
@ 2017-09-19 19:44 ` Juha-Pekka Heikkila
2017-10-09 17:14 ` Ville Syrjälä
2017-09-19 21:13 ` ✓ Fi.CI.BAT: success for drm/i915: Skylake plane update/disable unifications [v5] Patchwork
2017-09-20 1:00 ` ✓ Fi.CI.IGT: " Patchwork
6 siblings, 1 reply; 12+ messages in thread
From: Juha-Pekka Heikkila @ 2017-09-19 19:44 UTC (permalink / raw)
To: intel-gfx
This is to use clipped y coordinate here. I left get_crtc_fence_y_offset()
function itself in place as oneliner to maintain comment above it why this
is done.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
drivers/gpu/drm/i915/i915_drv.h | 2 ++
drivers/gpu/drm/i915/intel_fbc.c | 11 +++++------
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 17960ba..f7c1162 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1103,6 +1103,8 @@ struct intel_fbc {
*/
int adjusted_x;
int adjusted_y;
+
+ int base_y;
} plane;
struct {
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index dc059808..a65af80 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -69,12 +69,10 @@ static inline bool no_fbc_on_multiple_pipes(struct drm_i915_private *dev_priv)
* address we program because it starts at the real start of the buffer, so we
* have to take this into consideration here.
*/
-static unsigned int get_crtc_fence_y_offset(struct intel_crtc *crtc)
+static unsigned int get_crtc_fence_y_offset(struct intel_fbc *fbc)
{
- struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
- struct intel_fbc *fbc = &dev_priv->fbc;
-
- return crtc->base.y - fbc->state_cache.plane.adjusted_y;
+ return fbc->state_cache.plane.base_y
+ - fbc->state_cache.plane.adjusted_y;
}
/*
@@ -762,6 +760,7 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,
cache->plane.visible = plane_state->base.visible;
cache->plane.adjusted_x = plane_state->main.x;
cache->plane.adjusted_y = plane_state->main.y;
+ cache->plane.base_y = plane_state->base.src.y1 >> 16;
if (!cache->plane.visible)
return;
@@ -893,7 +892,7 @@ static void intel_fbc_get_reg_params(struct intel_crtc *crtc,
params->crtc.pipe = crtc->pipe;
params->crtc.plane = crtc->plane;
- params->crtc.fence_y_offset = get_crtc_fence_y_offset(crtc);
+ params->crtc.fence_y_offset = get_crtc_fence_y_offset(fbc);
params->fb.format = cache->fb.format;
params->fb.stride = cache->fb.stride;
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH 5/5] drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y
2017-09-19 19:44 ` [PATCH 5/5] drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y Juha-Pekka Heikkila
@ 2017-10-09 17:14 ` Ville Syrjälä
0 siblings, 0 replies; 12+ messages in thread
From: Ville Syrjälä @ 2017-10-09 17:14 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: intel-gfx
On Tue, Sep 19, 2017 at 10:44:09PM +0300, Juha-Pekka Heikkila wrote:
> This is to use clipped y coordinate here. I left get_crtc_fence_y_offset()
> function itself in place as oneliner to maintain comment above it why this
> is done.
>
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 2 ++
> drivers/gpu/drm/i915/intel_fbc.c | 11 +++++------
> 2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 17960ba..f7c1162 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1103,6 +1103,8 @@ struct intel_fbc {
> */
> int adjusted_x;
> int adjusted_y;
> +
> + int base_y;
Calling it 'base_y' doesn't really make sense to me.
I think you could just call it 'y'.
> } plane;
>
> struct {
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index dc059808..a65af80 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -69,12 +69,10 @@ static inline bool no_fbc_on_multiple_pipes(struct drm_i915_private *dev_priv)
> * address we program because it starts at the real start of the buffer, so we
> * have to take this into consideration here.
> */
> -static unsigned int get_crtc_fence_y_offset(struct intel_crtc *crtc)
> +static unsigned int get_crtc_fence_y_offset(struct intel_fbc *fbc)
> {
> - struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> - struct intel_fbc *fbc = &dev_priv->fbc;
> -
> - return crtc->base.y - fbc->state_cache.plane.adjusted_y;
> + return fbc->state_cache.plane.base_y
> + - fbc->state_cache.plane.adjusted_y;
> }
>
> /*
> @@ -762,6 +760,7 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,
> cache->plane.visible = plane_state->base.visible;
> cache->plane.adjusted_x = plane_state->main.x;
> cache->plane.adjusted_y = plane_state->main.y;
> + cache->plane.base_y = plane_state->base.src.y1 >> 16;
>
> if (!cache->plane.visible)
> return;
> @@ -893,7 +892,7 @@ static void intel_fbc_get_reg_params(struct intel_crtc *crtc,
>
> params->crtc.pipe = crtc->pipe;
> params->crtc.plane = crtc->plane;
> - params->crtc.fence_y_offset = get_crtc_fence_y_offset(crtc);
> + params->crtc.fence_y_offset = get_crtc_fence_y_offset(fbc);
>
> params->fb.format = cache->fb.format;
> params->fb.stride = cache->fb.stride;
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Skylake plane update/disable unifications [v5]
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
` (4 preceding siblings ...)
2017-09-19 19:44 ` [PATCH 5/5] drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y Juha-Pekka Heikkila
@ 2017-09-19 21:13 ` Patchwork
2017-09-20 1:00 ` ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2017-09-19 21:13 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Skylake plane update/disable unifications [v5]
URL : https://patchwork.freedesktop.org/series/30622/
State : success
== Summary ==
Series 30622v1 drm/i915: Skylake plane update/disable unifications [v5]
https://patchwork.freedesktop.org/api/1.0/series/30622/revisions/1/mbox/
Test kms_cursor_legacy:
Subgroup basic-busy-flip-before-cursor-legacy:
pass -> FAIL (fi-snb-2600) fdo#100215
Test kms_frontbuffer_tracking:
Subgroup basic:
dmesg-warn -> PASS (fi-kbl-7500u)
Test kms_pipe_crc_basic:
Subgroup hang-read-crc-pipe-b:
incomplete -> DMESG-WARN (fi-cfl-s) fdo#102294 +1
Subgroup suspend-read-crc-pipe-a:
incomplete -> PASS (fi-kbl-7500u)
Test drv_module_reload:
Subgroup basic-reload-inject:
pass -> DMESG-WARN (fi-glk-1) fdo#102777
fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215
fdo#102294 https://bugs.freedesktop.org/show_bug.cgi?id=102294
fdo#102777 https://bugs.freedesktop.org/show_bug.cgi?id=102777
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:441s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:466s
fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:420s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:518s
fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:280s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s
fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:492s
fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:490s
fi-cfl-s total:241 pass:188 dwarn:24 dfail:0 fail:0 skip:28
fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:411s
fi-glk-1 total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:564s
fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:425s
fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:403s
fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s
fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:482s
fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:466s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:469s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:578s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:594s
fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:545s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:448s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:749s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:490s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:477s
fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:563s
fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:417s
bf6ecf6d25c1c45e576643b7d7a65e8b1e6b4f01 drm-tip: 2017y-09m-19d-17h-23m-04s UTC integration manifest
90a2854704de drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y
1d569ba6f52d drm/i915: dspaddr_offset doesn't need to be more than local variable
5a876f8f82a2 drm/i915: Unify skylake plane disable
0bac61118182 drm/i915: Unify skylake plane update
0d5bc0782481 drm/i915: move adjusted_x/y from crtc to cache.
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5756/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread* ✓ Fi.CI.IGT: success for drm/i915: Skylake plane update/disable unifications [v5]
2017-09-19 19:44 [PATCH 0/5] drm/i915: Skylake plane update/disable unifications [v5] Juha-Pekka Heikkila
` (5 preceding siblings ...)
2017-09-19 21:13 ` ✓ Fi.CI.BAT: success for drm/i915: Skylake plane update/disable unifications [v5] Patchwork
@ 2017-09-20 1:00 ` Patchwork
6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2017-09-20 1:00 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Skylake plane update/disable unifications [v5]
URL : https://patchwork.freedesktop.org/series/30622/
State : success
== Summary ==
Test perf:
Subgroup blocking:
pass -> FAIL (shard-hsw) fdo#102252
Test kms_flip:
Subgroup rcs-wf_vblank-vs-dpms:
dmesg-warn -> PASS (shard-hsw)
Subgroup wf_vblank-ts-check-interruptible:
pass -> FAIL (shard-hsw) fdo#100368
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
shard-hsw total:2317 pass:1243 dwarn:3 dfail:0 fail:14 skip:1057 time:9560s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5756/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread