diff mbox

[16/26] drm/hdlcd: Use helper support for nonblocking commits

Message ID 1464546923-13439-17-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter May 29, 2016, 6:35 p.m. UTC
Again, just doing them as blocking commits isn't cool.

From a cursory check hdlcd does seem to at least try to handle
drm_pending_vblank_event, so hopefully this works.

Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/arm/hdlcd_drv.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Liviu Dudau May 31, 2016, 11:02 a.m. UTC | #1
On Sun, May 29, 2016 at 08:35:13PM +0200, Daniel Vetter wrote:
> Again, just doing them as blocking commits isn't cool.
> 
> From a cursory check hdlcd does seem to at least try to handle
> drm_pending_vblank_event, so hopefully this works.
> 
> Cc: Liviu Dudau <Liviu.Dudau@arm.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Daniel,

I have a proper implementation for this, which I will send out shortly, so I will
NAK this patch.

Best regards,
Liviu

> ---
>  drivers/gpu/drm/arm/hdlcd_drv.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> index 4f909378d581..6d1877238cf0 100644
> --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> @@ -112,17 +112,11 @@ static void hdlcd_fb_output_poll_changed(struct drm_device *drm)
>  		drm_fbdev_cma_hotplug_event(hdlcd->fbdev);
>  }
>  
> -static int hdlcd_atomic_commit(struct drm_device *dev,
> -			       struct drm_atomic_state *state, bool nonblock)
> -{
> -	return drm_atomic_helper_commit(dev, state, false);
> -}
> -
>  static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
>  	.fb_create = drm_fb_cma_create,
>  	.output_poll_changed = hdlcd_fb_output_poll_changed,
>  	.atomic_check = drm_atomic_helper_check,
> -	.atomic_commit = hdlcd_atomic_commit,
> +	.atomic_commit = drm_atomic_helper_commit,
>  };
>  
>  static void hdlcd_setup_mode_config(struct drm_device *drm)
> -- 
> 2.8.1
>
Daniel Vetter May 31, 2016, 11:07 a.m. UTC | #2
On Tue, May 31, 2016 at 12:02:23PM +0100, Liviu Dudau wrote:
> On Sun, May 29, 2016 at 08:35:13PM +0200, Daniel Vetter wrote:
> > Again, just doing them as blocking commits isn't cool.
> > 
> > From a cursory check hdlcd does seem to at least try to handle
> > drm_pending_vblank_event, so hopefully this works.
> > 
> > Cc: Liviu Dudau <Liviu.Dudau@arm.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Daniel,
> 
> I have a proper implementation for this, which I will send out shortly, so I will
> NAK this patch.

Please don't implement your own atomic nonblocking commit any more. I have
a generic solution, which this patch series implements and then also
converts hdlcd over to it. I admit the commit message is a bit unclear
with that.

If you don't want to pick this up from the mailing lists it's also in my
fdo git repo:

https://cgit.freedesktop.org/~danvet/drm/log/

So nack on your nack ;-)

Cheers, Daniel

> 
> Best regards,
> Liviu
> 
> > ---
> >  drivers/gpu/drm/arm/hdlcd_drv.c | 8 +-------
> >  1 file changed, 1 insertion(+), 7 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> > index 4f909378d581..6d1877238cf0 100644
> > --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> > +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> > @@ -112,17 +112,11 @@ static void hdlcd_fb_output_poll_changed(struct drm_device *drm)
> >  		drm_fbdev_cma_hotplug_event(hdlcd->fbdev);
> >  }
> >  
> > -static int hdlcd_atomic_commit(struct drm_device *dev,
> > -			       struct drm_atomic_state *state, bool nonblock)
> > -{
> > -	return drm_atomic_helper_commit(dev, state, false);
> > -}
> > -
> >  static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
> >  	.fb_create = drm_fb_cma_create,
> >  	.output_poll_changed = hdlcd_fb_output_poll_changed,
> >  	.atomic_check = drm_atomic_helper_check,
> > -	.atomic_commit = hdlcd_atomic_commit,
> > +	.atomic_commit = drm_atomic_helper_commit,
> >  };
> >  
> >  static void hdlcd_setup_mode_config(struct drm_device *drm)
> > -- 
> > 2.8.1
> > 
> 
> -- 
> ====================
> | I would like to |
> | fix the world,  |
> | but they're not |
> | giving me the   |
>  \ source code!  /
>   ---------------
>     ¯\_(ツ)_/¯
Liviu Dudau May 31, 2016, 1:13 p.m. UTC | #3
On Tue, May 31, 2016 at 01:07:15PM +0200, Daniel Vetter wrote:
> On Tue, May 31, 2016 at 12:02:23PM +0100, Liviu Dudau wrote:
> > On Sun, May 29, 2016 at 08:35:13PM +0200, Daniel Vetter wrote:
> > > Again, just doing them as blocking commits isn't cool.
> > > 
> > > From a cursory check hdlcd does seem to at least try to handle
> > > drm_pending_vblank_event, so hopefully this works.
> > > 
> > > Cc: Liviu Dudau <Liviu.Dudau@arm.com>
> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > 
> > Daniel,
> > 
> > I have a proper implementation for this, which I will send out shortly, so I will
> > NAK this patch.
> 
> Please don't implement your own atomic nonblocking commit any more. I have
> a generic solution, which this patch series implements and then also
> converts hdlcd over to it. I admit the commit message is a bit unclear
> with that.
> 
> If you don't want to pick this up from the mailing lists it's also in my
> fdo git repo:
> 
> https://cgit.freedesktop.org/~danvet/drm/log/
> 
> So nack on your nack ;-)

OK, in that case:

Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>

Working towards validating your patch series with the HDLCD driver as well.

Best regards,
Liviu

> 
> Cheers, Daniel
> 
> > 
> > Best regards,
> > Liviu
> > 
> > > ---
> > >  drivers/gpu/drm/arm/hdlcd_drv.c | 8 +-------
> > >  1 file changed, 1 insertion(+), 7 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> > > index 4f909378d581..6d1877238cf0 100644
> > > --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> > > +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> > > @@ -112,17 +112,11 @@ static void hdlcd_fb_output_poll_changed(struct drm_device *drm)
> > >  		drm_fbdev_cma_hotplug_event(hdlcd->fbdev);
> > >  }
> > >  
> > > -static int hdlcd_atomic_commit(struct drm_device *dev,
> > > -			       struct drm_atomic_state *state, bool nonblock)
> > > -{
> > > -	return drm_atomic_helper_commit(dev, state, false);
> > > -}
> > > -
> > >  static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
> > >  	.fb_create = drm_fb_cma_create,
> > >  	.output_poll_changed = hdlcd_fb_output_poll_changed,
> > >  	.atomic_check = drm_atomic_helper_check,
> > > -	.atomic_commit = hdlcd_atomic_commit,
> > > +	.atomic_commit = drm_atomic_helper_commit,
> > >  };
> > >  
> > >  static void hdlcd_setup_mode_config(struct drm_device *drm)
> > > -- 
> > > 2.8.1
> > > 
> > 
> > -- 
> > ====================
> > | I would like to |
> > | fix the world,  |
> > | but they're not |
> > | giving me the   |
> >  \ source code!  /
> >   ---------------
> >     ¯\_(ツ)_/¯
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index 4f909378d581..6d1877238cf0 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -112,17 +112,11 @@  static void hdlcd_fb_output_poll_changed(struct drm_device *drm)
 		drm_fbdev_cma_hotplug_event(hdlcd->fbdev);
 }
 
-static int hdlcd_atomic_commit(struct drm_device *dev,
-			       struct drm_atomic_state *state, bool nonblock)
-{
-	return drm_atomic_helper_commit(dev, state, false);
-}
-
 static const struct drm_mode_config_funcs hdlcd_mode_config_funcs = {
 	.fb_create = drm_fb_cma_create,
 	.output_poll_changed = hdlcd_fb_output_poll_changed,
 	.atomic_check = drm_atomic_helper_check,
-	.atomic_commit = hdlcd_atomic_commit,
+	.atomic_commit = drm_atomic_helper_commit,
 };
 
 static void hdlcd_setup_mode_config(struct drm_device *drm)