Lines Matching refs:mutex

146 	struct mtk_disp_mutex		mutex[10];  member
397 if (ddp->mutex[id].claimed) in mtk_disp_mutex_get()
400 ddp->mutex[id].claimed = true; in mtk_disp_mutex_get()
402 return &ddp->mutex[id]; in mtk_disp_mutex_get()
405 void mtk_disp_mutex_put(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_put() argument
407 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_put()
408 mutex[mutex->id]); in mtk_disp_mutex_put()
410 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_put()
412 mutex->claimed = false; in mtk_disp_mutex_put()
415 int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_prepare() argument
417 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_prepare()
418 mutex[mutex->id]); in mtk_disp_mutex_prepare()
422 void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_unprepare() argument
424 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_unprepare()
425 mutex[mutex->id]); in mtk_disp_mutex_unprepare()
429 void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_add_comp() argument
432 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_add_comp()
433 mutex[mutex->id]); in mtk_disp_mutex_add_comp()
437 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_add_comp()
460 offset = DISP_REG_MUTEX_MOD(mutex->id); in mtk_disp_mutex_add_comp()
465 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_add_comp()
473 writel_relaxed(reg, ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); in mtk_disp_mutex_add_comp()
476 void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_remove_comp() argument
479 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_remove_comp()
480 mutex[mutex->id]); in mtk_disp_mutex_remove_comp()
484 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_remove_comp()
494 ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); in mtk_disp_mutex_remove_comp()
498 offset = DISP_REG_MUTEX_MOD(mutex->id); in mtk_disp_mutex_remove_comp()
503 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_remove_comp()
512 void mtk_disp_mutex_enable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_enable() argument
514 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_enable()
515 mutex[mutex->id]); in mtk_disp_mutex_enable()
517 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_enable()
519 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_enable()
522 void mtk_disp_mutex_disable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_disable() argument
524 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_disable()
525 mutex[mutex->id]); in mtk_disp_mutex_disable()
527 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_disable()
529 writel(0, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_disable()
532 void mtk_disp_mutex_acquire(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_acquire() argument
534 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_acquire()
535 mutex[mutex->id]); in mtk_disp_mutex_acquire()
538 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_acquire()
539 writel(1, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_acquire()
540 if (readl_poll_timeout_atomic(ddp->regs + DISP_REG_MUTEX(mutex->id), in mtk_disp_mutex_acquire()
542 pr_err("could not acquire mutex %d\n", mutex->id); in mtk_disp_mutex_acquire()
545 void mtk_disp_mutex_release(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_release() argument
547 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_release()
548 mutex[mutex->id]); in mtk_disp_mutex_release()
550 writel(0, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_release()
565 ddp->mutex[i].id = i; in mtk_ddp_probe()