diff mbox

drm/exynos: use drm_send_vblank_event() helper

Message ID 1369195456-14697-1-git-send-email-inki.dae@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Inki Dae May 22, 2013, 4:04 a.m. UTC
From: Rob Clark <rob@ti.com>

Rebased.

Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_drm_crtc.c |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)

Comments

Joonyoung Shim May 22, 2013, 4:51 a.m. UTC | #1
Hi,

On 05/22/2013 01:04 PM, Inki Dae wrote:
> From: Rob Clark <rob@ti.com>
>
> Rebased.
>
> Signed-off-by: Rob Clark <rob@ti.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> ---
>   drivers/gpu/drm/exynos/exynos_drm_crtc.c |   10 ++--------
>   1 files changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> index e8894bc..1e7825a 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> @@ -398,7 +398,6 @@ void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int crtc)
>   {
>   	struct exynos_drm_private *dev_priv = dev->dev_private;
>   	struct drm_pending_vblank_event *e, *t;
> -	struct timeval now;
>   	unsigned long flags;
>   
>   	DRM_DEBUG_KMS("%s\n", __FILE__);
> @@ -411,14 +410,9 @@ void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int crtc)
>   		if (crtc != e->pipe)
>   			continue;
>   
> -		do_gettimeofday(&now);
> -		e->event.sequence = 0;
> -		e->event.tv_sec = now.tv_sec;
> -		e->event.tv_usec = now.tv_usec;
> -
> -		list_move_tail(&e->base.link, &e->base.file_priv->event_list);
> -		wake_up_interruptible(&e->base.file_priv->event_wait);
>   		drm_vblank_put(dev, crtc);
> +		list_del(&e->base.link);
> +		drm_send_vblank_event(dev, -1, e);

I think it's better to add above things before drm_vblank_put is called
in comparison with prior codes.

Thanks.
Inki Dae May 22, 2013, 6:56 a.m. UTC | #2
2013/5/22 Joonyoung Shim <jy0922.shim@samsung.com>

> Hi,
>
>
> On 05/22/2013 01:04 PM, Inki Dae wrote:
>
>> From: Rob Clark <rob@ti.com>
>>
>> Rebased.
>>
>> Signed-off-by: Rob Clark <rob@ti.com>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> ---
>>   drivers/gpu/drm/exynos/exynos_**drm_crtc.c |   10 ++--------
>>   1 files changed, 2 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/**exynos_drm_crtc.c
>> b/drivers/gpu/drm/exynos/**exynos_drm_crtc.c
>> index e8894bc..1e7825a 100644
>> --- a/drivers/gpu/drm/exynos/**exynos_drm_crtc.c
>> +++ b/drivers/gpu/drm/exynos/**exynos_drm_crtc.c
>> @@ -398,7 +398,6 @@ void exynos_drm_crtc_finish_**pageflip(struct
>> drm_device *dev, int crtc)
>>   {
>>         struct exynos_drm_private *dev_priv = dev->dev_private;
>>         struct drm_pending_vblank_event *e, *t;
>> -       struct timeval now;
>>         unsigned long flags;
>>         DRM_DEBUG_KMS("%s\n", __FILE__);
>> @@ -411,14 +410,9 @@ void exynos_drm_crtc_finish_**pageflip(struct
>> drm_device *dev, int crtc)
>>                 if (crtc != e->pipe)
>>                         continue;
>>   -             do_gettimeofday(&now);
>> -               e->event.sequence = 0;
>> -               e->event.tv_sec = now.tv_sec;
>> -               e->event.tv_usec = now.tv_usec;
>> -
>> -               list_move_tail(&e->base.link, &e->base.file_priv->event_*
>> *list);
>> -               wake_up_interruptible(&e->**base.file_priv->event_wait);
>>                 drm_vblank_put(dev, crtc);
>> +               list_del(&e->base.link);
>> +               drm_send_vblank_event(dev, -1, e);
>>
>
> I think it's better to add above things before drm_vblank_put is called
> in comparison with prior codes.
>
>
Good point. :) Will resend it.

Thanks,
Inki Dae


> Thanks.
>
> ______________________________**_________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.**org <dri-devel@lists.freedesktop.org>
> http://lists.freedesktop.org/**mailman/listinfo/dri-devel<http://lists.freedesktop.org/mailman/listinfo/dri-devel>
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index e8894bc..1e7825a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -398,7 +398,6 @@  void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int crtc)
 {
 	struct exynos_drm_private *dev_priv = dev->dev_private;
 	struct drm_pending_vblank_event *e, *t;
-	struct timeval now;
 	unsigned long flags;
 
 	DRM_DEBUG_KMS("%s\n", __FILE__);
@@ -411,14 +410,9 @@  void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int crtc)
 		if (crtc != e->pipe)
 			continue;
 
-		do_gettimeofday(&now);
-		e->event.sequence = 0;
-		e->event.tv_sec = now.tv_sec;
-		e->event.tv_usec = now.tv_usec;
-
-		list_move_tail(&e->base.link, &e->base.file_priv->event_list);
-		wake_up_interruptible(&e->base.file_priv->event_wait);
 		drm_vblank_put(dev, crtc);
+		list_del(&e->base.link);
+		drm_send_vblank_event(dev, -1, e);
 	}
 
 	spin_unlock_irqrestore(&dev->event_lock, flags);