Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH 13/24] drm/msm: switch to postclose
       [not found] <20170308141257.12119-1-daniel.vetter@ffwll.ch>
@ 2017-03-08 14:12 ` Daniel Vetter
  2017-03-13 18:59   ` Sean Paul
  2017-03-08 14:12 ` [PATCH 21/24] drm/msm: Simplify vblank event delivery Daniel Vetter
  1 sibling, 1 reply; 4+ messages in thread
From: Daniel Vetter @ 2017-03-08 14:12 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, linux-arm-msm,
	Daniel Vetter, freedreno

I didn't spot anything that would require ordering here (well not
anywhere else either), and I'm trying to unify at least modern drivers
on one close hook.

Cc: Rob Clark <robdclark@gmail.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/msm/msm_drv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 604331f3cf39..44774f02ef0e 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -540,7 +540,7 @@ static int msm_open(struct drm_device *dev, struct drm_file *file)
 	return 0;
 }
 
-static void msm_preclose(struct drm_device *dev, struct drm_file *file)
+static void msm_postclose(struct drm_device *dev, struct drm_file *file)
 {
 	struct msm_drm_private *priv = dev->dev_private;
 	struct msm_file_private *ctx = file->driver_priv;
@@ -813,7 +813,7 @@ static struct drm_driver msm_driver = {
 				DRIVER_ATOMIC |
 				DRIVER_MODESET,
 	.open               = msm_open,
-	.preclose           = msm_preclose,
+	.postclose           = msm_postclose,
 	.lastclose          = msm_lastclose,
 	.irq_handler        = msm_irq,
 	.irq_preinstall     = msm_irq_preinstall,
-- 
2.11.0

_______________________________________________
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

* [PATCH 21/24] drm/msm: Simplify vblank event delivery
       [not found] <20170308141257.12119-1-daniel.vetter@ffwll.ch>
  2017-03-08 14:12 ` [PATCH 13/24] drm/msm: switch to postclose Daniel Vetter
@ 2017-03-08 14:12 ` Daniel Vetter
  2017-03-13 19:26   ` Sean Paul
  1 sibling, 1 reply; 4+ messages in thread
From: Daniel Vetter @ 2017-03-08 14:12 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, linux-arm-msm,
	Daniel Vetter, freedreno

The core takes care of handling the send_event vs. close() issues, we
can remove that driver code.

Cc: Rob Clark <robdclark@gmail.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 12 +++---------
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 12 +++---------
 2 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 1c29618f4ddb..f29194a74a19 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -114,15 +114,9 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)
 	spin_lock_irqsave(&dev->event_lock, flags);
 	event = mdp4_crtc->event;
 	if (event) {
-		/* if regular vblank case (!file) or if cancel-flip from
-		 * preclose on file that requested flip, then send the
-		 * event:
-		 */
-		if (!file || (event->base.file_priv == file)) {
-			mdp4_crtc->event = NULL;
-			DBG("%s: send event: %p", mdp4_crtc->name, event);
-			drm_crtc_send_vblank_event(crtc, event);
-		}
+		mdp4_crtc->event = NULL;
+		DBG("%s: send event: %p", mdp4_crtc->name, event);
+		drm_crtc_send_vblank_event(crtc, event);
 	}
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 }
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index d0c8b38b96ce..87a19e0c0e67 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -138,15 +138,9 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)
 	spin_lock_irqsave(&dev->event_lock, flags);
 	event = mdp5_crtc->event;
 	if (event) {
-		/* if regular vblank case (!file) or if cancel-flip from
-		 * preclose on file that requested flip, then send the
-		 * event:
-		 */
-		if (!file || (event->base.file_priv == file)) {
-			mdp5_crtc->event = NULL;
-			DBG("%s: send event: %p", crtc->name, event);
-			drm_crtc_send_vblank_event(crtc, event);
-		}
+		mdp5_crtc->event = NULL;
+		DBG("%s: send event: %p", crtc->name, event);
+		drm_crtc_send_vblank_event(crtc, event);
 	}
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 
-- 
2.11.0

_______________________________________________
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

* Re: [PATCH 13/24] drm/msm: switch to postclose
  2017-03-08 14:12 ` [PATCH 13/24] drm/msm: switch to postclose Daniel Vetter
@ 2017-03-13 18:59   ` Sean Paul
  0 siblings, 0 replies; 4+ messages in thread
From: Sean Paul @ 2017-03-13 18:59 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: linux-arm-msm, Intel Graphics Development, freedreno,
	DRI Development, Daniel Vetter

On Wed, Mar 08, 2017 at 03:12:46PM +0100, Daniel Vetter wrote:
> I didn't spot anything that would require ordering here (well not
> anywhere else either), and I'm trying to unify at least modern drivers
> on one close hook.
> 
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: freedreno@lists.freedesktop.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

I think I've convinced myself that this is functionally equivalent (or at least
if Bad Things could happen with postclose, they would also be Bad Things with
preclose). So, fwiw:

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> ---
>  drivers/gpu/drm/msm/msm_drv.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 604331f3cf39..44774f02ef0e 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -540,7 +540,7 @@ static int msm_open(struct drm_device *dev, struct drm_file *file)
>  	return 0;
>  }
>  
> -static void msm_preclose(struct drm_device *dev, struct drm_file *file)
> +static void msm_postclose(struct drm_device *dev, struct drm_file *file)
>  {
>  	struct msm_drm_private *priv = dev->dev_private;
>  	struct msm_file_private *ctx = file->driver_priv;
> @@ -813,7 +813,7 @@ static struct drm_driver msm_driver = {
>  				DRIVER_ATOMIC |
>  				DRIVER_MODESET,
>  	.open               = msm_open,
> -	.preclose           = msm_preclose,
> +	.postclose           = msm_postclose,
>  	.lastclose          = msm_lastclose,
>  	.irq_handler        = msm_irq,
>  	.irq_preinstall     = msm_irq_preinstall,
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
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

* Re: [PATCH 21/24] drm/msm: Simplify vblank event delivery
  2017-03-08 14:12 ` [PATCH 21/24] drm/msm: Simplify vblank event delivery Daniel Vetter
@ 2017-03-13 19:26   ` Sean Paul
  0 siblings, 0 replies; 4+ messages in thread
From: Sean Paul @ 2017-03-13 19:26 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: linux-arm-msm, Intel Graphics Development, freedreno,
	DRI Development, Daniel Vetter

On Wed, Mar 08, 2017 at 03:12:54PM +0100, Daniel Vetter wrote:
> The core takes care of handling the send_event vs. close() issues, we
> can remove that driver code.
> 
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: freedreno@lists.freedesktop.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 12 +++---------
>  drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 12 +++---------
>  2 files changed, 6 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
> index 1c29618f4ddb..f29194a74a19 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
> @@ -114,15 +114,9 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)

file unused now?

>  	spin_lock_irqsave(&dev->event_lock, flags);
>  	event = mdp4_crtc->event;
>  	if (event) {
> -		/* if regular vblank case (!file) or if cancel-flip from
> -		 * preclose on file that requested flip, then send the
> -		 * event:
> -		 */
> -		if (!file || (event->base.file_priv == file)) {
> -			mdp4_crtc->event = NULL;
> -			DBG("%s: send event: %p", mdp4_crtc->name, event);
> -			drm_crtc_send_vblank_event(crtc, event);
> -		}
> +		mdp4_crtc->event = NULL;
> +		DBG("%s: send event: %p", mdp4_crtc->name, event);
> +		drm_crtc_send_vblank_event(crtc, event);
>  	}
>  	spin_unlock_irqrestore(&dev->event_lock, flags);
>  }
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
> index d0c8b38b96ce..87a19e0c0e67 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
> @@ -138,15 +138,9 @@ static void complete_flip(struct drm_crtc *crtc, struct drm_file *file)
>  	spin_lock_irqsave(&dev->event_lock, flags);
>  	event = mdp5_crtc->event;
>  	if (event) {
> -		/* if regular vblank case (!file) or if cancel-flip from
> -		 * preclose on file that requested flip, then send the
> -		 * event:
> -		 */
> -		if (!file || (event->base.file_priv == file)) {
> -			mdp5_crtc->event = NULL;
> -			DBG("%s: send event: %p", crtc->name, event);
> -			drm_crtc_send_vblank_event(crtc, event);
> -		}
> +		mdp5_crtc->event = NULL;
> +		DBG("%s: send event: %p", crtc->name, event);
> +		drm_crtc_send_vblank_event(crtc, event);
>  	}
>  	spin_unlock_irqrestore(&dev->event_lock, flags);
>  
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
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:[~2017-03-13 19:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20170308141257.12119-1-daniel.vetter@ffwll.ch>
2017-03-08 14:12 ` [PATCH 13/24] drm/msm: switch to postclose Daniel Vetter
2017-03-13 18:59   ` Sean Paul
2017-03-08 14:12 ` [PATCH 21/24] drm/msm: Simplify vblank event delivery Daniel Vetter
2017-03-13 19:26   ` Sean Paul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox