diff mbox series

DRM: UDL: get rid of useless vblank initialization

Message ID 20180928144126.21598-1-Eugeniy.Paltsev@synopsys.com
State New
Headers show
Series DRM: UDL: get rid of useless vblank initialization | expand

Commit Message

Eugeniy Paltsev Sept. 28, 2018, 2:41 p.m. UTC
UDL doesn't support vblank functionality so we don't need to
initialize vblank here (we are able to send page flip
completion events even without vblank initialization)

Moreover current drm_vblank_init call with num_crtcs > 0 causes
sending DRM_EVENT_FLIP_COMPLETE event with zero timestamp every
time. This breaks userspace apps (for example weston) which
relies on timestamp value.

Cc: stable@vger.kernel.org
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
 drivers/gpu/drm/udl/udl_main.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Comments

Daniel Vetter Oct. 1, 2018, 8:14 a.m. UTC | #1
On Fri, Sep 28, 2018 at 05:41:26PM +0300, Eugeniy Paltsev wrote:
> UDL doesn't support vblank functionality so we don't need to
> initialize vblank here (we are able to send page flip
> completion events even without vblank initialization)
> 
> Moreover current drm_vblank_init call with num_crtcs > 0 causes
> sending DRM_EVENT_FLIP_COMPLETE event with zero timestamp every
> time. This breaks userspace apps (for example weston) which
> relies on timestamp value.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/gpu/drm/udl/udl_main.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
> index f455f095a146..1b014d92855b 100644
> --- a/drivers/gpu/drm/udl/udl_main.c
> +++ b/drivers/gpu/drm/udl/udl_main.c
> @@ -350,15 +350,10 @@ int udl_driver_load(struct drm_device *dev, unsigned long flags)
>  	if (ret)
>  		goto err;
>  
> -	ret = drm_vblank_init(dev, 1);
> -	if (ret)
> -		goto err_fb;
> -
>  	drm_kms_helper_poll_init(dev);
>  
>  	return 0;
> -err_fb:
> -	udl_fbdev_cleanup(dev);
> +
>  err:
>  	if (udl->urbs.count)
>  		udl_free_urb_list(dev);
> -- 
> 2.14.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Eugeniy Paltsev Oct. 23, 2018, 11:01 a.m. UTC | #2
Hi David,

Maybe you have any comments or remarks about this patch?
And if you don't could you please apply it. Thanks!

On Fri, 2018-09-28 at 17:41 +0300, Eugeniy Paltsev wrote:
> UDL doesn't support vblank functionality so we don't need to
> initialize vblank here (we are able to send page flip
> completion events even without vblank initialization)
> 
> Moreover current drm_vblank_init call with num_crtcs > 0 causes
> sending DRM_EVENT_FLIP_COMPLETE event with zero timestamp every
> time. This breaks userspace apps (for example weston) which
> relies on timestamp value.
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: stable@vger.kernel.org
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> ---
>  drivers/gpu/drm/udl/udl_main.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
> index f455f095a146..1b014d92855b 100644
> --- a/drivers/gpu/drm/udl/udl_main.c
> +++ b/drivers/gpu/drm/udl/udl_main.c
> @@ -350,15 +350,10 @@ int udl_driver_load(struct drm_device *dev, unsigned long flags)
>  	if (ret)
>  		goto err;
>  
> -	ret = drm_vblank_init(dev, 1);
> -	if (ret)
> -		goto err_fb;
> -
>  	drm_kms_helper_poll_init(dev);
>  
>  	return 0;
> -err_fb:
> -	udl_fbdev_cleanup(dev);
> +
>  err:
>  	if (udl->urbs.count)
>  		udl_free_urb_list(dev);
Daniel Vetter Oct. 23, 2018, 1:42 p.m. UTC | #3
On Tue, Oct 23, 2018 at 11:01:14AM +0000, Eugeniy Paltsev wrote:
> Hi David,
> 
> Maybe you have any comments or remarks about this patch?
> And if you don't could you please apply it. Thanks!

Hm I hoped Sean would pick this up. I stuffed it into drm-misc-next now,
and Sean owes me one. Generally pinging Dave is a last resort in dri-devel
(and doesn't work too well).

Thanks for your patch.
-Daniel
> 
> On Fri, 2018-09-28 at 17:41 +0300, Eugeniy Paltsev wrote:
> > UDL doesn't support vblank functionality so we don't need to
> > initialize vblank here (we are able to send page flip
> > completion events even without vblank initialization)
> > 
> > Moreover current drm_vblank_init call with num_crtcs > 0 causes
> > sending DRM_EVENT_FLIP_COMPLETE event with zero timestamp every
> > time. This breaks userspace apps (for example weston) which
> > relies on timestamp value.
> > 
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> > ---
> >  drivers/gpu/drm/udl/udl_main.c | 7 +------
> >  1 file changed, 1 insertion(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
> > index f455f095a146..1b014d92855b 100644
> > --- a/drivers/gpu/drm/udl/udl_main.c
> > +++ b/drivers/gpu/drm/udl/udl_main.c
> > @@ -350,15 +350,10 @@ int udl_driver_load(struct drm_device *dev, unsigned long flags)
> >  	if (ret)
> >  		goto err;
> >  
> > -	ret = drm_vblank_init(dev, 1);
> > -	if (ret)
> > -		goto err_fb;
> > -
> >  	drm_kms_helper_poll_init(dev);
> >  
> >  	return 0;
> > -err_fb:
> > -	udl_fbdev_cleanup(dev);
> > +
> >  err:
> >  	if (udl->urbs.count)
> >  		udl_free_urb_list(dev);
> -- 
>  Eugeniy Paltsev
diff mbox series

Patch

diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
index f455f095a146..1b014d92855b 100644
--- a/drivers/gpu/drm/udl/udl_main.c
+++ b/drivers/gpu/drm/udl/udl_main.c
@@ -350,15 +350,10 @@  int udl_driver_load(struct drm_device *dev, unsigned long flags)
 	if (ret)
 		goto err;
 
-	ret = drm_vblank_init(dev, 1);
-	if (ret)
-		goto err_fb;
-
 	drm_kms_helper_poll_init(dev);
 
 	return 0;
-err_fb:
-	udl_fbdev_cleanup(dev);
+
 err:
 	if (udl->urbs.count)
 		udl_free_urb_list(dev);