* [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb
@ 2016-08-18 18:00 Chris Wilson
2016-08-18 18:00 ` [PATCH 2/2] drm/i915: Replace intel_plane->wait_req with plane->fence Chris Wilson
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Chris Wilson @ 2016-08-18 18:00 UTC (permalink / raw)
To: dri-devel; +Cc: Daniel Vetter, intel-gfx
The drivers have to modify the atomic plane state during the prepare_fb
callback so they track allocations, reservations and dependencies for
this atomic operation involving this fb. In particular, how else do we
set the plane->fence from the framebuffer!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
---
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 4 ++--
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 4 ++--
drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 4 ++--
drivers/gpu/drm/i915/intel_display.c | 4 ++--
drivers/gpu/drm/i915/intel_drv.h | 4 ++--
drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 4 ++--
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 4 ++--
drivers/gpu/drm/omapdrm/omap_plane.c | 4 ++--
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++--
drivers/gpu/drm/tegra/dc.c | 4 ++--
include/drm/drm_modeset_helper_vtables.h | 4 ++--
11 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 146809a97a07..72e6b7dd457b 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -755,7 +755,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
}
static int atmel_hlcdc_plane_prepare_fb(struct drm_plane *p,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
/*
* FIXME: we should avoid this const -> non-const cast but it's
@@ -780,7 +780,7 @@ static int atmel_hlcdc_plane_prepare_fb(struct drm_plane *p,
}
static void atmel_hlcdc_plane_cleanup_fb(struct drm_plane *p,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
/*
* FIXME: we should avoid this const -> non-const cast but it's
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
index e50467a0deb0..2a3e92976700 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
@@ -171,13 +171,13 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane *plane,
static void
fsl_dcu_drm_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
}
static int
fsl_dcu_drm_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
return 0;
}
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 91188f33b1d9..6417158dad61 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -818,14 +818,14 @@ static void ade_disable_channel(struct ade_plane *aplane)
}
static int ade_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
/* do nothing */
return 0;
}
static void ade_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
/* do nothing */
}
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8a203b5f347e..123112c240e0 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14439,7 +14439,7 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
*/
int
intel_prepare_plane_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
struct drm_device *dev = plane->dev;
struct drm_framebuffer *fb = new_state->fb;
@@ -14525,7 +14525,7 @@ intel_prepare_plane_fb(struct drm_plane *plane,
*/
void
intel_cleanup_plane_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
struct drm_device *dev = plane->dev;
struct intel_plane_state *old_intel_state;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 1c700b0c3cea..774aab342f40 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1251,9 +1251,9 @@ void intel_finish_page_flip_cs(struct drm_i915_private *dev_priv, int pipe);
void intel_finish_page_flip_mmio(struct drm_i915_private *dev_priv, int pipe);
void intel_check_page_flip(struct drm_i915_private *dev_priv, int pipe);
int intel_prepare_plane_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state);
+ struct drm_plane_state *new_state);
void intel_cleanup_plane_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state);
+ struct drm_plane_state *old_state);
int intel_plane_atomic_get_property(struct drm_plane *plane,
const struct drm_plane_state *state,
struct drm_property *property,
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
index 9f96dfe67769..7c9626d92019 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
@@ -99,7 +99,7 @@ static const struct drm_plane_funcs mdp4_plane_funcs = {
};
static int mdp4_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
struct mdp4_kms *mdp4_kms = get_kms(plane);
@@ -113,7 +113,7 @@ static int mdp4_plane_prepare_fb(struct drm_plane *plane,
}
static void mdp4_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
struct mdp4_kms *mdp4_kms = get_kms(plane);
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
index a02a24e75ba6..ba8f43278a44 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
@@ -250,7 +250,7 @@ static const struct drm_plane_funcs mdp5_plane_funcs = {
};
static int mdp5_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
struct mdp5_kms *mdp5_kms = get_kms(plane);
@@ -264,7 +264,7 @@ static int mdp5_plane_prepare_fb(struct drm_plane *plane,
}
static void mdp5_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
struct mdp5_kms *mdp5_kms = get_kms(plane);
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c
index 4c7727e6be7c..66ac8c40db26 100644
--- a/drivers/gpu/drm/omapdrm/omap_plane.c
+++ b/drivers/gpu/drm/omapdrm/omap_plane.c
@@ -60,7 +60,7 @@ to_omap_plane_state(struct drm_plane_state *state)
}
static int omap_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
if (!new_state->fb)
return 0;
@@ -69,7 +69,7 @@ static int omap_plane_prepare_fb(struct drm_plane *plane,
}
static void omap_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
if (old_state->fb)
omap_framebuffer_unpin(old_state->fb);
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 31744fe99b38..b382d4d8d293 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -567,7 +567,7 @@ static void vop_plane_destroy(struct drm_plane *plane)
}
static int vop_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
if (plane->state->fb)
drm_framebuffer_reference(plane->state->fb);
@@ -576,7 +576,7 @@ static int vop_plane_prepare_fb(struct drm_plane *plane,
}
static void vop_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_state)
+ struct drm_plane_state *old_state)
{
if (old_state->fb)
drm_framebuffer_unreference(old_state->fb);
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 8495bd01b544..a02730f90861 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -481,13 +481,13 @@ static const struct drm_plane_funcs tegra_primary_plane_funcs = {
};
static int tegra_plane_prepare_fb(struct drm_plane *plane,
- const struct drm_plane_state *new_state)
+ struct drm_plane_state *new_state)
{
return 0;
}
static void tegra_plane_cleanup_fb(struct drm_plane *plane,
- const struct drm_plane_state *old_fb)
+ struct drm_plane_state *old_fb)
{
}
diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
index 686feec6b4c8..6c8d3dad66ec 100644
--- a/include/drm/drm_modeset_helper_vtables.h
+++ b/include/drm/drm_modeset_helper_vtables.h
@@ -855,7 +855,7 @@ struct drm_plane_helper_funcs {
* everything else must complete successfully.
*/
int (*prepare_fb)(struct drm_plane *plane,
- const struct drm_plane_state *new_state);
+ struct drm_plane_state *new_state);
/**
* @cleanup_fb:
*
@@ -866,7 +866,7 @@ struct drm_plane_helper_funcs {
* transitional plane helpers, but it is optional.
*/
void (*cleanup_fb)(struct drm_plane *plane,
- const struct drm_plane_state *old_state);
+ struct drm_plane_state *old_state);
/**
* @atomic_check:
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] drm/i915: Replace intel_plane->wait_req with plane->fence
2016-08-18 18:00 [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Chris Wilson
@ 2016-08-18 18:00 ` Chris Wilson
2016-08-18 20:54 ` [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Daniel Vetter
2016-08-19 5:57 ` ✗ Ro.CI.BAT: failure for series starting with [1/2] " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2016-08-18 18:00 UTC (permalink / raw)
To: dri-devel; +Cc: intel-gfx
Now that we subclass our request from struct fence, we start using the
common primitives more freely and so avoid hand-rolling routines already
provided for by the helpers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/intel_atomic_plane.c | 3 --
drivers/gpu/drm/i915/intel_display.c | 52 +++----------------------------
drivers/gpu/drm/i915/intel_drv.h | 1 -
3 files changed, 5 insertions(+), 51 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
index b82de3072d4f..b41bf380f2ab 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -77,14 +77,12 @@ intel_plane_duplicate_state(struct drm_plane *plane)
struct intel_plane_state *intel_state;
intel_state = kmemdup(plane->state, sizeof(*intel_state), GFP_KERNEL);
-
if (!intel_state)
return NULL;
state = &intel_state->base;
__drm_atomic_helper_plane_duplicate_state(plane, state);
- intel_state->wait_req = NULL;
return state;
}
@@ -101,7 +99,6 @@ void
intel_plane_destroy_state(struct drm_plane *plane,
struct drm_plane_state *state)
{
- WARN_ON(state && to_intel_plane_state(state)->wait_req);
drm_atomic_helper_plane_destroy_state(plane, state);
}
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 123112c240e0..1b5f653d595b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13944,9 +13944,7 @@ static int intel_atomic_prepare_commit(struct drm_device *dev,
bool nonblock)
{
struct drm_i915_private *dev_priv = to_i915(dev);
- struct drm_plane_state *plane_state;
struct drm_crtc_state *crtc_state;
- struct drm_plane *plane;
struct drm_crtc *crtc;
int i, ret;
@@ -13969,27 +13967,6 @@ static int intel_atomic_prepare_commit(struct drm_device *dev,
ret = drm_atomic_helper_prepare_planes(dev, state);
mutex_unlock(&dev->struct_mutex);
- if (!ret && !nonblock) {
- for_each_plane_in_state(state, plane, plane_state, i) {
- struct intel_plane_state *intel_plane_state =
- to_intel_plane_state(plane_state);
-
- if (!intel_plane_state->wait_req)
- continue;
-
- ret = i915_wait_request(intel_plane_state->wait_req,
- true, NULL, NULL);
- if (ret) {
- /* Any hang should be swallowed by the wait */
- WARN_ON(ret == -EIO);
- mutex_lock(&dev->struct_mutex);
- drm_atomic_helper_cleanup_planes(dev, state);
- mutex_unlock(&dev->struct_mutex);
- break;
- }
- }
- }
-
return ret;
}
@@ -14076,27 +14053,12 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
struct drm_crtc_state *old_crtc_state;
struct drm_crtc *crtc;
struct intel_crtc_state *intel_cstate;
- struct drm_plane *plane;
- struct drm_plane_state *plane_state;
bool hw_check = intel_state->modeset;
unsigned long put_domains[I915_MAX_PIPES] = {};
unsigned crtc_vblank_mask = 0;
- int i, ret;
-
- for_each_plane_in_state(state, plane, plane_state, i) {
- struct intel_plane_state *intel_plane_state =
- to_intel_plane_state(plane_state);
-
- if (!intel_plane_state->wait_req)
- continue;
-
- ret = i915_wait_request(intel_plane_state->wait_req,
- true, NULL, NULL);
- /* EIO should be eaten, and we can't get interrupted in the
- * worker, and blocking commits have waited already. */
- WARN_ON(ret);
- }
+ int i;
+ drm_atomic_helper_wait_for_fences(dev, state);
drm_atomic_helper_wait_for_dependencies(state);
if (intel_state->modeset) {
@@ -14506,9 +14468,9 @@ intel_prepare_plane_fb(struct drm_plane *plane,
}
if (ret == 0) {
- to_intel_plane_state(new_state)->wait_req =
- i915_gem_active_get(&obj->last_write,
- &obj->base.dev->struct_mutex);
+ new_state->fence =
+ &i915_gem_active_get(&obj->last_write,
+ &obj->base.dev->struct_mutex)->fence;
}
return ret;
@@ -14529,7 +14491,6 @@ intel_cleanup_plane_fb(struct drm_plane *plane,
{
struct drm_device *dev = plane->dev;
struct intel_plane_state *old_intel_state;
- struct intel_plane_state *intel_state = to_intel_plane_state(plane->state);
struct drm_i915_gem_object *old_obj = intel_fb_obj(old_state->fb);
struct drm_i915_gem_object *obj = intel_fb_obj(plane->state->fb);
@@ -14541,9 +14502,6 @@ intel_cleanup_plane_fb(struct drm_plane *plane,
if (old_obj && (plane->type != DRM_PLANE_TYPE_CURSOR ||
!INTEL_INFO(dev)->cursor_needs_physical))
intel_unpin_fb_obj(old_state->fb, old_state->rotation);
-
- i915_gem_request_assign(&intel_state->wait_req, NULL);
- i915_gem_request_assign(&old_intel_state->wait_req, NULL);
}
int
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 774aab342f40..acb42d66fb08 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -383,7 +383,6 @@ struct intel_plane_state {
struct drm_intel_sprite_colorkey ckey;
/* async flip related structures */
- struct drm_i915_gem_request *wait_req;
};
struct intel_initial_plane_config {
--
2.9.3
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb
2016-08-18 18:00 [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Chris Wilson
2016-08-18 18:00 ` [PATCH 2/2] drm/i915: Replace intel_plane->wait_req with plane->fence Chris Wilson
@ 2016-08-18 20:54 ` Daniel Vetter
2016-08-19 5:57 ` ✗ Ro.CI.BAT: failure for series starting with [1/2] " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2016-08-18 20:54 UTC (permalink / raw)
To: Chris Wilson; +Cc: Daniel Vetter, intel-gfx, dri-devel
On Thu, Aug 18, 2016 at 07:00:16PM +0100, Chris Wilson wrote:
> The drivers have to modify the atomic plane state during the prepare_fb
> callback so they track allocations, reservations and dependencies for
> this atomic operation involving this fb. In particular, how else do we
> set the plane->fence from the framebuffer!
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
Yeah, Laurent just pinged me today about how he should store the dma
mapping when he has hw with an iommu per plane. We concluded that the
const is bogus and needs to go ;-)
Applied to drm-misc, thanks.
-Daniel
> ---
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 4 ++--
> drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 4 ++--
> drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 4 ++--
> drivers/gpu/drm/i915/intel_display.c | 4 ++--
> drivers/gpu/drm/i915/intel_drv.h | 4 ++--
> drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 4 ++--
> drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 4 ++--
> drivers/gpu/drm/omapdrm/omap_plane.c | 4 ++--
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++--
> drivers/gpu/drm/tegra/dc.c | 4 ++--
> include/drm/drm_modeset_helper_vtables.h | 4 ++--
> 11 files changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> index 146809a97a07..72e6b7dd457b 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> @@ -755,7 +755,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
> }
>
> static int atmel_hlcdc_plane_prepare_fb(struct drm_plane *p,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> /*
> * FIXME: we should avoid this const -> non-const cast but it's
> @@ -780,7 +780,7 @@ static int atmel_hlcdc_plane_prepare_fb(struct drm_plane *p,
> }
>
> static void atmel_hlcdc_plane_cleanup_fb(struct drm_plane *p,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> /*
> * FIXME: we should avoid this const -> non-const cast but it's
> diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
> index e50467a0deb0..2a3e92976700 100644
> --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
> +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
> @@ -171,13 +171,13 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane *plane,
>
> static void
> fsl_dcu_drm_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> }
>
> static int
> fsl_dcu_drm_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> return 0;
> }
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> index 91188f33b1d9..6417158dad61 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> @@ -818,14 +818,14 @@ static void ade_disable_channel(struct ade_plane *aplane)
> }
>
> static int ade_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> /* do nothing */
> return 0;
> }
>
> static void ade_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> /* do nothing */
> }
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 8a203b5f347e..123112c240e0 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14439,7 +14439,7 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
> */
> int
> intel_prepare_plane_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> struct drm_device *dev = plane->dev;
> struct drm_framebuffer *fb = new_state->fb;
> @@ -14525,7 +14525,7 @@ intel_prepare_plane_fb(struct drm_plane *plane,
> */
> void
> intel_cleanup_plane_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> struct drm_device *dev = plane->dev;
> struct intel_plane_state *old_intel_state;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 1c700b0c3cea..774aab342f40 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1251,9 +1251,9 @@ void intel_finish_page_flip_cs(struct drm_i915_private *dev_priv, int pipe);
> void intel_finish_page_flip_mmio(struct drm_i915_private *dev_priv, int pipe);
> void intel_check_page_flip(struct drm_i915_private *dev_priv, int pipe);
> int intel_prepare_plane_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state);
> + struct drm_plane_state *new_state);
> void intel_cleanup_plane_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state);
> + struct drm_plane_state *old_state);
> int intel_plane_atomic_get_property(struct drm_plane *plane,
> const struct drm_plane_state *state,
> struct drm_property *property,
> diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
> index 9f96dfe67769..7c9626d92019 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
> @@ -99,7 +99,7 @@ static const struct drm_plane_funcs mdp4_plane_funcs = {
> };
>
> static int mdp4_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
> struct mdp4_kms *mdp4_kms = get_kms(plane);
> @@ -113,7 +113,7 @@ static int mdp4_plane_prepare_fb(struct drm_plane *plane,
> }
>
> static void mdp4_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
> struct mdp4_kms *mdp4_kms = get_kms(plane);
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> index a02a24e75ba6..ba8f43278a44 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> @@ -250,7 +250,7 @@ static const struct drm_plane_funcs mdp5_plane_funcs = {
> };
>
> static int mdp5_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
> struct mdp5_kms *mdp5_kms = get_kms(plane);
> @@ -264,7 +264,7 @@ static int mdp5_plane_prepare_fb(struct drm_plane *plane,
> }
>
> static void mdp5_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
> struct mdp5_kms *mdp5_kms = get_kms(plane);
> diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c
> index 4c7727e6be7c..66ac8c40db26 100644
> --- a/drivers/gpu/drm/omapdrm/omap_plane.c
> +++ b/drivers/gpu/drm/omapdrm/omap_plane.c
> @@ -60,7 +60,7 @@ to_omap_plane_state(struct drm_plane_state *state)
> }
>
> static int omap_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> if (!new_state->fb)
> return 0;
> @@ -69,7 +69,7 @@ static int omap_plane_prepare_fb(struct drm_plane *plane,
> }
>
> static void omap_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> if (old_state->fb)
> omap_framebuffer_unpin(old_state->fb);
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index 31744fe99b38..b382d4d8d293 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -567,7 +567,7 @@ static void vop_plane_destroy(struct drm_plane *plane)
> }
>
> static int vop_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> if (plane->state->fb)
> drm_framebuffer_reference(plane->state->fb);
> @@ -576,7 +576,7 @@ static int vop_plane_prepare_fb(struct drm_plane *plane,
> }
>
> static void vop_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_state)
> + struct drm_plane_state *old_state)
> {
> if (old_state->fb)
> drm_framebuffer_unreference(old_state->fb);
> diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
> index 8495bd01b544..a02730f90861 100644
> --- a/drivers/gpu/drm/tegra/dc.c
> +++ b/drivers/gpu/drm/tegra/dc.c
> @@ -481,13 +481,13 @@ static const struct drm_plane_funcs tegra_primary_plane_funcs = {
> };
>
> static int tegra_plane_prepare_fb(struct drm_plane *plane,
> - const struct drm_plane_state *new_state)
> + struct drm_plane_state *new_state)
> {
> return 0;
> }
>
> static void tegra_plane_cleanup_fb(struct drm_plane *plane,
> - const struct drm_plane_state *old_fb)
> + struct drm_plane_state *old_fb)
> {
> }
>
> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
> index 686feec6b4c8..6c8d3dad66ec 100644
> --- a/include/drm/drm_modeset_helper_vtables.h
> +++ b/include/drm/drm_modeset_helper_vtables.h
> @@ -855,7 +855,7 @@ struct drm_plane_helper_funcs {
> * everything else must complete successfully.
> */
> int (*prepare_fb)(struct drm_plane *plane,
> - const struct drm_plane_state *new_state);
> + struct drm_plane_state *new_state);
> /**
> * @cleanup_fb:
> *
> @@ -866,7 +866,7 @@ struct drm_plane_helper_funcs {
> * transitional plane helpers, but it is optional.
> */
> void (*cleanup_fb)(struct drm_plane *plane,
> - const struct drm_plane_state *old_state);
> + struct drm_plane_state *old_state);
>
> /**
> * @atomic_check:
> --
> 2.9.3
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 4+ messages in thread* ✗ Ro.CI.BAT: failure for series starting with [1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb
2016-08-18 18:00 [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Chris Wilson
2016-08-18 18:00 ` [PATCH 2/2] drm/i915: Replace intel_plane->wait_req with plane->fence Chris Wilson
2016-08-18 20:54 ` [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Daniel Vetter
@ 2016-08-19 5:57 ` Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2016-08-19 5:57 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb
URL : https://patchwork.freedesktop.org/series/11285/
State : failure
== Summary ==
Series 11285v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/11285/revisions/1/mbox
Test kms_cursor_legacy:
Subgroup basic-flip-vs-cursor-legacy:
fail -> PASS (ro-byt-n2820)
pass -> FAIL (ro-bdw-i5-5250u)
Subgroup basic-flip-vs-cursor-varying-size:
pass -> FAIL (ro-byt-n2820)
fail -> PASS (ro-bdw-i5-5250u)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-a:
pass -> DMESG-WARN (ro-bdw-i7-5600u)
skip -> DMESG-WARN (ro-bdw-i5-5250u)
Subgroup suspend-read-crc-pipe-c:
dmesg-warn -> SKIP (ro-bdw-i5-5250u)
ro-bdw-i5-5250u total:240 pass:219 dwarn:2 dfail:0 fail:1 skip:18
ro-bdw-i7-5600u total:240 pass:206 dwarn:1 dfail:0 fail:1 skip:32
ro-bsw-n3050 total:240 pass:196 dwarn:0 dfail:0 fail:2 skip:42
ro-byt-n2820 total:240 pass:198 dwarn:0 dfail:0 fail:2 skip:40
ro-hsw-i3-4010u total:240 pass:214 dwarn:0 dfail:0 fail:0 skip:26
ro-hsw-i7-4770r total:240 pass:185 dwarn:0 dfail:0 fail:0 skip:55
ro-ilk1-i5-650 total:235 pass:174 dwarn:0 dfail:0 fail:1 skip:60
ro-ivb-i7-3770 total:240 pass:205 dwarn:0 dfail:0 fail:0 skip:35
ro-ivb2-i7-3770 total:240 pass:209 dwarn:0 dfail:0 fail:0 skip:31
ro-skl3-i5-6260u total:240 pass:223 dwarn:0 dfail:0 fail:3 skip:14
ro-bdw-i7-5557U failed to connect after reboot
Results at /archive/results/CI_IGT_test/RO_Patchwork_1934/
9bc709c drm-intel-nightly: 2016y-08m-18d-16h-37m-38s UTC integration manifest
e583025 drm/i915: Replace intel_plane->wait_req with plane->fence
d77aeb0 drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-08-19 5:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-18 18:00 [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Chris Wilson
2016-08-18 18:00 ` [PATCH 2/2] drm/i915: Replace intel_plane->wait_req with plane->fence Chris Wilson
2016-08-18 20:54 ` [PATCH 1/2] drm: Allow drivers to modify plane_state in prepare_fb/cleanup_fb Daniel Vetter
2016-08-19 5:57 ` ✗ Ro.CI.BAT: failure for series starting with [1/2] " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox