[PATCH v2] drm: rcar-du: track dma-buf fences

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Apr 30 11:43:43 UTC 2018


Hi Emre,

On Monday, 30 April 2018 11:40:51 EEST Ucan, Emre (ADITG/ESB) wrote:
> Hi Laurent,
> 
> Sorry for late reply.

No worries.

> On Montag, 23. April 2018 23:47 Laurent Pinchart wrote:
> > On Wednesday, 4 April 2018 14:03:57 EEST Emre Ucan wrote:
> >> We have to check dma-buf reservation objects
> >> of our framebuffers before we use them.
> >> Otherwise, another driver might be writing
> >> on the same buffer which we are using.
> >> This would cause visible tearing effects
> >> on display.
> >> 
> >> We can use existing atomic helper functions
> >> to solve this problem.
> > 
> > I've always found the 72 columns limit in commit messages to be quite
> > limiting, especially for the subject line. Out of curiosity, is there any
> > specific reason why you limit it further ?
> 
> I tried to keep lines short. But I did not check if they are shorter than
> 72. I will improve it.
> 
> >> v2 changes:
> >> - Remove drm_atomic_helper_wait_for_fences()
> >>   call in rcar_du_kms.c. The commit_tail()
> >>   function in drm_atomic_helper.c, which calls
> >>   our atomic_commit_tail() implementation,
> >>   already calls it.
> >> 
> >> - Remove proposed rcar_du_vsp_set_fence_for_plane()
> >>   function. Call drm_gem_fb_prepare_fb(), which
> >>   calls drm_atomic_set_fence_for_plane().
> >> 
> >> Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
> >> ---
> >> 
> >>  drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 3 ++-
> >>  1 file changed, 2 insertions(+), 1 deletion(-)
> >> 
> >> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> >> b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index 2c260c3..fbad616 100644
> >> --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> >> +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> >> @@ -18,6 +18,7 @@
> >>  #include <drm/drm_fb_cma_helper.h>
> >>  #include <drm/drm_gem_cma_helper.h>
> >>  #include <drm/drm_plane_helper.h>
> >> +#include <drm/drm_gem_framebuffer_helper.h>
> > 
> > Nitpicking, could you please keep the headers alphabetically sorted ? It
> > helps locating duplicates quickly.
> 
> No problem. I will fix it.
> 
> >>  #include <linux/bitops.h>
> >>  #include <linux/dma-mapping.h>
> >> 
> >> @@ -237,7 +238,7 @@ static int rcar_du_vsp_plane_prepare_fb(struct
> >> drm_plane *plane,
> >>  		}
> >>  	}
> >> 
> >> -	return 0;
> >> +	return drm_gem_fb_prepare_fb(plane, state);
> > 
> > If drm_gem_fb_prepare_fb() fails we need to clean up the operations
> > performed earlier in this function. I think the following would be enough.
> > 
> >         ret = drm_gem_fb_prepare_fb(plane, state);
> >         if (ret)
> >                 goto fail;
> >         
> >         return 0;
> > 
> > Could you please test this ?
> 
> No problem.
> 
> >>  fail:
> >>  	while (i--) {
> 
> I will send a new patch with these changes after I tested it. Is it possible
> that improved patch lands on 4.17 and 4.14 stable versions? What is the
> process to propose a patch to a stable release ?

The process is pretty simple, it's documented in Documentation/process/stable-
kernel-rules.rst. The file states the following requirement for a patch to be 
eligible for stable backporting:

 - It must fix a problem that causes a build error (but not for things
   marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
   security issue, or some "oh, that's not good" issue.  In short, something
   critical

I'll let you decide whether this patch qualifies, as it could be argued that 
it implements a new feature.

-- 
Regards,

Laurent Pinchart





More information about the dri-devel mailing list