Lines Matching refs:commit
573 atmel_hlcdc_dc_atomic_complete(struct atmel_hlcdc_dc_commit *commit) in atmel_hlcdc_dc_atomic_complete() argument
575 struct drm_device *dev = commit->dev; in atmel_hlcdc_dc_atomic_complete()
577 struct drm_atomic_state *old_state = commit->state; in atmel_hlcdc_dc_atomic_complete()
591 spin_lock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_complete()
592 dc->commit.pending = false; in atmel_hlcdc_dc_atomic_complete()
593 wake_up_all_locked(&dc->commit.wait); in atmel_hlcdc_dc_atomic_complete()
594 spin_unlock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_complete()
596 kfree(commit); in atmel_hlcdc_dc_atomic_complete()
601 struct atmel_hlcdc_dc_commit *commit = in atmel_hlcdc_dc_atomic_work() local
604 atmel_hlcdc_dc_atomic_complete(commit); in atmel_hlcdc_dc_atomic_work()
612 struct atmel_hlcdc_dc_commit *commit; in atmel_hlcdc_dc_atomic_commit() local
620 commit = kzalloc(sizeof(*commit), GFP_KERNEL); in atmel_hlcdc_dc_atomic_commit()
621 if (!commit) { in atmel_hlcdc_dc_atomic_commit()
626 INIT_WORK(&commit->work, atmel_hlcdc_dc_atomic_work); in atmel_hlcdc_dc_atomic_commit()
627 commit->dev = dev; in atmel_hlcdc_dc_atomic_commit()
628 commit->state = state; in atmel_hlcdc_dc_atomic_commit()
630 spin_lock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_commit()
631 ret = wait_event_interruptible_locked(dc->commit.wait, in atmel_hlcdc_dc_atomic_commit()
632 !dc->commit.pending); in atmel_hlcdc_dc_atomic_commit()
634 dc->commit.pending = true; in atmel_hlcdc_dc_atomic_commit()
635 spin_unlock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_commit()
646 queue_work(dc->wq, &commit->work); in atmel_hlcdc_dc_atomic_commit()
648 atmel_hlcdc_dc_atomic_complete(commit); in atmel_hlcdc_dc_atomic_commit()
653 kfree(commit); in atmel_hlcdc_dc_atomic_commit()
725 init_waitqueue_head(&dc->commit.wait); in atmel_hlcdc_dc_load()