question about replacing legacy_cursor_flag by async_update

Helen Koike helen.koike at collabora.com
Fri Feb 15 12:25:03 UTC 2019


Hello,

The legacy_cursor_update flag in the drm_atomic_state struct was being
used to track if the update was asyncronous or not for the cursor plane.
Which is really similar to what the async_update flag do, so I was
trying to get rid of the legacy_cursor_update flag (just for cleanup).

So I did this patch:
https://gitlab.collabora.com/koike/linux/commit/fc15e4ef745863e249f3a5a23b4ba2e1087045ea

But, this doesn't work due to the change in
drm_atomic_helper_setup_commit() function, It looks that it should work,
because of the comment in this function:

@@ -1957,7 +1953,7 @@ int drm_atomic_helper_setup_commit(struct
drm_atomic_state *state,
                        continue;
                }

                /* Legacy cursor updates are fully unsynced. */
                //if (state->async_update) { // This doesn't work for
some reason
                if (state->legacy_cursor_update) {
                        complete_all(&commit->flip_done);
                        continue;


But it doesn't work when I have a case where legacy_cursor_update = true but
async_update = false, so I was wondering, is there any difference between
unsynced (as mentioned by the comment) and asyncronous ?

I'm still trying to understand the code by myself, but any help would be
appreciated.

Thanks a lot
Helen


More information about the dri-devel mailing list