Lines Matching refs:mutex

150 	struct mtk_disp_mutex		mutex[10];  member
393 if (ddp->mutex[id].claimed) in mtk_disp_mutex_get()
396 ddp->mutex[id].claimed = true; in mtk_disp_mutex_get()
398 return &ddp->mutex[id]; in mtk_disp_mutex_get()
401 void mtk_disp_mutex_put(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_put() argument
403 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_put()
404 mutex[mutex->id]); in mtk_disp_mutex_put()
406 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_put()
408 mutex->claimed = false; in mtk_disp_mutex_put()
411 int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_prepare() argument
413 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_prepare()
414 mutex[mutex->id]); in mtk_disp_mutex_prepare()
418 void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_unprepare() argument
420 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_unprepare()
421 mutex[mutex->id]); in mtk_disp_mutex_unprepare()
425 void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_add_comp() argument
428 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_add_comp()
429 mutex[mutex->id]); in mtk_disp_mutex_add_comp()
433 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_add_comp()
456 offset = DISP_REG_MUTEX_MOD(mutex->id); in mtk_disp_mutex_add_comp()
461 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_add_comp()
469 writel_relaxed(reg, ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); in mtk_disp_mutex_add_comp()
472 void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_remove_comp() argument
475 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_remove_comp()
476 mutex[mutex->id]); in mtk_disp_mutex_remove_comp()
480 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_remove_comp()
490 ddp->regs + DISP_REG_MUTEX_SOF(mutex->id)); in mtk_disp_mutex_remove_comp()
494 offset = DISP_REG_MUTEX_MOD(mutex->id); in mtk_disp_mutex_remove_comp()
499 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_remove_comp()
508 void mtk_disp_mutex_enable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_enable() argument
510 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_enable()
511 mutex[mutex->id]); in mtk_disp_mutex_enable()
513 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_enable()
515 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_enable()
518 void mtk_disp_mutex_disable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_disable() argument
520 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_disable()
521 mutex[mutex->id]); in mtk_disp_mutex_disable()
523 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_disable()
525 writel(0, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_disable()
528 void mtk_disp_mutex_acquire(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_acquire() argument
530 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_acquire()
531 mutex[mutex->id]); in mtk_disp_mutex_acquire()
534 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_acquire()
535 writel(1, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_acquire()
536 if (readl_poll_timeout_atomic(ddp->regs + DISP_REG_MUTEX(mutex->id), in mtk_disp_mutex_acquire()
538 pr_err("could not acquire mutex %d\n", mutex->id); in mtk_disp_mutex_acquire()
541 void mtk_disp_mutex_release(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_release() argument
543 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_release()
544 mutex[mutex->id]); in mtk_disp_mutex_release()
546 writel(0, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_release()
561 ddp->mutex[i].id = i; in mtk_ddp_probe()