On Fri, Aug 14, 2015 at 12:19:03AM +0300, Laurent Pinchart wrote: > On Friday 07 August 2015 17:30:08 Laurent Pinchart wrote: > > On Friday 07 August 2015 14:53:22 Thierry Reding wrote: > > > On Thu, Aug 06, 2015 at 03:23:00AM +0300, Laurent Pinchart wrote: > > > > The plane reset handler frees the plane state and allocates a new > > > > default state, but when doing so attempt to free the plane state using > > > > the base plane state pointer instead of casting it to the > > > > driver-specific state object that has been allocated. Fix it by using > > > > the rcar_du_plane_atomic_destroy_state() function to destroy the plane > > > > state instead of duplicating the code. > > > > > > > > Signed-off-by: Laurent Pinchart > > > > <laurent.pinchart+renesas at ideasonboard.com> > > > > --- > > > > > > > > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 45 ++++++++++++-------------- > > > > 1 file changed, 22 insertions(+), 23 deletions(-) > > > > > > > > Should the DRM core free the atomic state before calling the reset > > > > operation ? That would simplify drivers. > > > > > > The core can't do that because drivers might have subclassed the state. > > > > But the core can call the .atomic_destroy_state() operation, can't it ? > > Thierry, Daniel, any comment on this ?
Doesn't really help you since the kzalloc is still in the helper. Btw this is all helper code, core won't do here anything at all ;-) But we could still do it simply as a refactoring and to show drivers how to implement their _reset with less copypasting. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch