[PATCH 3/5] drm/imx: ipuv3 crtc: Cleanup ipu planes in ipu_drm_unbind()

Liu Ying Ying.Liu at freescale.com
Mon Nov 23 21:23:11 PST 2015


On Mon, Nov 23, 2015 at 12:48:14PM +0100, Philipp Zabel wrote:
> Am Freitag, den 20.11.2015, 16:14 +0800 schrieb Liu Ying:
> > To avoid memory leakage, we need to cleanup ipu planes in ipu_drm_unbind().
> > 
> > Signed-off-by: Liu Ying <Ying.Liu at freescale.com>
> > ---
> > This patch applies to the imx-drm/fixes branch of Philipp Zabel's open git.
> > 
> >  drivers/gpu/drm/imx/ipuv3-crtc.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
> > index 59f44df..467905c 100644
> > --- a/drivers/gpu/drm/imx/ipuv3-crtc.c
> > +++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
> > @@ -446,6 +446,11 @@ static void ipu_drm_unbind(struct device *dev, struct device *master,
> >  	imx_drm_remove_crtc(ipu_crtc->imx_crtc);
> >  
> >  	ipu_plane_put_resources(ipu_crtc->plane[0]);
> > +
> > +	if (ipu_crtc->plane[1])
> > +		ipu_plane_cleanup(ipu_crtc->plane[1]);
> > +	ipu_plane_cleanup(ipu_crtc->plane[0]);
> > +
> >  	ipu_put_resources(ipu_crtc);
> >  }
> >  
> 
> Shouldn't this already be handled by the DRM core calling the
> plane->destroy callbacks from drm_mode_config_cleanup (called by
> imx_drm_driver_unload shortly after component_unbind_all)?

I take drm_mode_config_cleanup() as the final goal keeper.  The component
->unbind() may clean things up by itself other than rely on the master's
behaviour.  Otherwise, we even don't need to call ipu_plane_put_resources()
here.

Regards,
Liu Ying

> regards
> Philipp
> 


More information about the dri-devel mailing list