2018-03-28 19:10:12

by Sean Paul

[permalink] [raw]
Subject: [PATCH v2 3/6] drm/msm: Mark the crtc->state->event consumed

Don't leave the event != NULL once it's consumed, this is used a signal
to the atomic helpers that the event will be handled by the driver.

Changes in v2:
- None

Cc: Jeykumar Sankaran <[email protected]>
Signed-off-by: Sean Paul <[email protected]>
---
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 1 +
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
index 6e5e1aa54ce1..b001699297c4 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
@@ -351,6 +351,7 @@ static void mdp4_crtc_atomic_flush(struct drm_crtc *crtc,

spin_lock_irqsave(&dev->event_lock, flags);
mdp4_crtc->event = crtc->state->event;
+ crtc->state->event = NULL;
spin_unlock_irqrestore(&dev->event_lock, flags);

blend_setup(crtc);
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
index 9893e43ba6c5..76b96081916f 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
@@ -708,6 +708,7 @@ static void mdp5_crtc_atomic_flush(struct drm_crtc *crtc,

spin_lock_irqsave(&dev->event_lock, flags);
mdp5_crtc->event = crtc->state->event;
+ crtc->state->event = NULL;
spin_unlock_irqrestore(&dev->event_lock, flags);

/*
--
Sean Paul, Software Engineer, Google / Chromium OS



2018-04-02 05:25:52

by Archit Taneja

[permalink] [raw]
Subject: Re: [PATCH v2 3/6] drm/msm: Mark the crtc->state->event consumed



On Thursday 29 March 2018 12:36 AM, Sean Paul wrote:
> Don't leave the event != NULL once it's consumed, this is used a signal
s/used a/used as a ?
> to the atomic helpers that the event will be handled by the driver.
>

Reviewed-by: Archit Taneja <[email protected]>

> Changes in v2:
> - None
>
> Cc: Jeykumar Sankaran <[email protected]>
> Signed-off-by: Sean Paul <[email protected]>
> ---
> drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 1 +
> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
> index 6e5e1aa54ce1..b001699297c4 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
> @@ -351,6 +351,7 @@ static void mdp4_crtc_atomic_flush(struct drm_crtc *crtc,
>
> spin_lock_irqsave(&dev->event_lock, flags);
> mdp4_crtc->event = crtc->state->event;
> + crtc->state->event = NULL;
> spin_unlock_irqrestore(&dev->event_lock, flags);
>
> blend_setup(crtc);
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> index 9893e43ba6c5..76b96081916f 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
> @@ -708,6 +708,7 @@ static void mdp5_crtc_atomic_flush(struct drm_crtc *crtc,
>
> spin_lock_irqsave(&dev->event_lock, flags);
> mdp5_crtc->event = crtc->state->event;
> + crtc->state->event = NULL;
> spin_unlock_irqrestore(&dev->event_lock, flags);
>
> /*
>