Lines Matching refs:commit
471 atmel_hlcdc_dc_atomic_complete(struct atmel_hlcdc_dc_commit *commit) in atmel_hlcdc_dc_atomic_complete() argument
473 struct drm_device *dev = commit->dev; in atmel_hlcdc_dc_atomic_complete()
475 struct drm_atomic_state *old_state = commit->state; in atmel_hlcdc_dc_atomic_complete()
489 spin_lock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_complete()
490 dc->commit.pending = false; in atmel_hlcdc_dc_atomic_complete()
491 wake_up_all_locked(&dc->commit.wait); in atmel_hlcdc_dc_atomic_complete()
492 spin_unlock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_complete()
494 kfree(commit); in atmel_hlcdc_dc_atomic_complete()
499 struct atmel_hlcdc_dc_commit *commit = in atmel_hlcdc_dc_atomic_work() local
502 atmel_hlcdc_dc_atomic_complete(commit); in atmel_hlcdc_dc_atomic_work()
510 struct atmel_hlcdc_dc_commit *commit; in atmel_hlcdc_dc_atomic_commit() local
518 commit = kzalloc(sizeof(*commit), GFP_KERNEL); in atmel_hlcdc_dc_atomic_commit()
519 if (!commit) { in atmel_hlcdc_dc_atomic_commit()
524 INIT_WORK(&commit->work, atmel_hlcdc_dc_atomic_work); in atmel_hlcdc_dc_atomic_commit()
525 commit->dev = dev; in atmel_hlcdc_dc_atomic_commit()
526 commit->state = state; in atmel_hlcdc_dc_atomic_commit()
528 spin_lock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_commit()
529 ret = wait_event_interruptible_locked(dc->commit.wait, in atmel_hlcdc_dc_atomic_commit()
530 !dc->commit.pending); in atmel_hlcdc_dc_atomic_commit()
532 dc->commit.pending = true; in atmel_hlcdc_dc_atomic_commit()
533 spin_unlock(&dc->commit.wait.lock); in atmel_hlcdc_dc_atomic_commit()
544 queue_work(dc->wq, &commit->work); in atmel_hlcdc_dc_atomic_commit()
546 atmel_hlcdc_dc_atomic_complete(commit); in atmel_hlcdc_dc_atomic_commit()
551 kfree(commit); in atmel_hlcdc_dc_atomic_commit()
624 init_waitqueue_head(&dc->commit.wait); in atmel_hlcdc_dc_load()