Hi Inki,
On 12 January 2016 at 06:25, Inki Dae inki.dae@samsung.com wrote:
2016년 01월 12일 04:00에 Daniel Stone 이(가) 쓴 글:
On 8 January 2016 at 08:46, Inki Dae inki.dae@samsung.com wrote:
Changelog v3:
- initialize only device specific things. Each page flip event object is created by DRM core so DRM core should release the object including incrementing event space.
I'm a bit confused here; we no longer call event->base.destroy(), because you say that the DRM core should release it. But how does the DRM core know to release the event? From the core point of view, the event disappears into the driver, and it is no longer tracked.
DRM core would need something to track the events. I think basically, someone who created one object should also destroy the object.
You're right, but this doesn't exist until Daniel Vetter's rather larger patchset which is still pending merge.
As Daniel says though, later versions handle all this in the core in a much more clean way, so we can remove these from the drivers then.
So I think it's not reasonable for specific driver to destroy the object created by core although there is a memory leak. However, the memory leak would be more critical than temporary codes. Ok, I will merge this patch with more comments which will say the object will be destroyed by core part later.
Also, by stealing the event out of crtc_state->event and moving it to exynos_crtc->event, you can argue that we have quite explictly removed the responsibility from the core. ;)
Thanks for handling this!
Cheers, Daniel