[RFC PATCH 3/9] drm/rockchip: Convert to support atomic API
Mark yao
mark.yao at rock-chips.com
Tue Dec 1 01:31:28 PST 2015
On 2015年12月01日 16:18, Daniel Stone wrote:
> Hi Mark,
>
> On 1 December 2015 at 03:26, Mark Yao<mark.yao at rock-chips.com> wrote:
>> >+static void rockchip_atomic_wait_for_complete(struct drm_atomic_state *state)
>> >+{
>> >+ struct drm_crtc_state *crtc_state;
>> >+ struct drm_crtc *crtc;
>> >+ int i;
>> >+
>> >+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
>> >+ if (!crtc->state->active)
>> >+ continue;
>> >+
>> >+ WARN_ON(drm_crtc_vblank_get(crtc));
>> >+ }
>> >+
>> >+ for_each_crtc_in_state(state, crtc, crtc_state, i) {
>> >+ if (!crtc->state->active)
>> >+ continue;
>> >+
>> >+ rockchip_crtc_wait_for_update(crtc);
>> >+ }
> I'd be much more comfortable if this passed in an explicit pointer to
> state, or an address to wait for, rather than have wait_for_complete
> dig out state with no locking. The latter is potentially racy for
> async operations.
>
Hi Daniel
"if this passed in an explicit pointer to state, or an address to
wait for", I don't understand, can you point how it work?
--
Mark Yao
More information about the Linux-rockchip
mailing list