On Thu, Nov 6, 2014 at 2:57 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Thu, Nov 06, 2014 at 12:43:43PM -0500, Sean Paul wrote:
On Sun, Nov 02, 2014 at 02:19:28PM +0100, Daniel Vetter wrote:
The atomic users and helpers assume that there is always a obj->state structure around. Which means drivers need to somehow create that at driver load time. Also it should obviously reset hardware state, so needs to be reset upon resume.
Finally the destroy/duplicate_state functions are an awful lot of boilerplate if the driver doesn't need anything beyond the default state objects.
So add helper functions for all of this.
v2: Somehow the plane/connector versions got lost in the first version.
v3: Add kerneldoc.
v4: Make duplicate_state functions a bit more robust, which is useful for debugging state tracking issues when transitioning to atomic.
v5: Clear temporary variables in the crtc state when duplicating it, like ->mode_changed or ->planes_changed. If we don't do this stale values for these might pollute the next atomic modeset.
v6: Also clear crtc_state->event in case the driver didn't (yet) clear this out.
Signed-off-by: Daniel Vetter daniel.vetter@ffwll.ch
Minus the fixup nits that danielt pointed out
Yeah already fixed them but forgotten to resend the patch. Done now.
Reviewed-by: Sean Paul seanpaul@chromium.org
Can you please double check that the new version is ok?
Reviewed-by: Sean Paul seanpaul@chromium.org
Thanks, Daniel
Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch