Lines Matching refs:mutex
105 struct mtk_disp_mutex mutex[10]; member
193 if (ddp->mutex[id].claimed) in mtk_disp_mutex_get()
196 ddp->mutex[id].claimed = true; in mtk_disp_mutex_get()
198 return &ddp->mutex[id]; in mtk_disp_mutex_get()
201 void mtk_disp_mutex_put(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_put() argument
203 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_put()
204 mutex[mutex->id]); in mtk_disp_mutex_put()
206 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_put()
208 mutex->claimed = false; in mtk_disp_mutex_put()
211 int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_prepare() argument
213 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_prepare()
214 mutex[mutex->id]); in mtk_disp_mutex_prepare()
218 void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_unprepare() argument
220 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_unprepare()
221 mutex[mutex->id]); in mtk_disp_mutex_unprepare()
225 void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_add_comp() argument
228 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_add_comp()
229 mutex[mutex->id]); in mtk_disp_mutex_add_comp()
234 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_add_comp()
258 mutex->id); in mtk_disp_mutex_add_comp()
263 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_add_comp()
273 DISP_REG_MUTEX_SOF(ddp->data->mutex_sof_reg, mutex->id)); in mtk_disp_mutex_add_comp()
276 void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, in mtk_disp_mutex_remove_comp() argument
279 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_remove_comp()
280 mutex[mutex->id]); in mtk_disp_mutex_remove_comp()
284 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_remove_comp()
296 mutex->id)); in mtk_disp_mutex_remove_comp()
301 mutex->id); in mtk_disp_mutex_remove_comp()
306 offset = DISP_REG_MUTEX_MOD2(mutex->id); in mtk_disp_mutex_remove_comp()
315 void mtk_disp_mutex_enable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_enable() argument
317 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_enable()
318 mutex[mutex->id]); in mtk_disp_mutex_enable()
320 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_enable()
322 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_enable()
325 void mtk_disp_mutex_disable(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_disable() argument
327 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_disable()
328 mutex[mutex->id]); in mtk_disp_mutex_disable()
330 WARN_ON(&ddp->mutex[mutex->id] != mutex); in mtk_disp_mutex_disable()
332 writel(0, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_disable()
335 void mtk_disp_mutex_acquire(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_acquire() argument
337 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_acquire()
338 mutex[mutex->id]); in mtk_disp_mutex_acquire()
341 writel(1, ddp->regs + DISP_REG_MUTEX_EN(mutex->id)); in mtk_disp_mutex_acquire()
342 writel(1, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_acquire()
343 if (readl_poll_timeout_atomic(ddp->regs + DISP_REG_MUTEX(mutex->id), in mtk_disp_mutex_acquire()
345 pr_err("could not acquire mutex %d\n", mutex->id); in mtk_disp_mutex_acquire()
348 void mtk_disp_mutex_release(struct mtk_disp_mutex *mutex) in mtk_disp_mutex_release() argument
350 struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, in mtk_disp_mutex_release()
351 mutex[mutex->id]); in mtk_disp_mutex_release()
353 writel(0, ddp->regs + DISP_REG_MUTEX(mutex->id)); in mtk_disp_mutex_release()
368 ddp->mutex[i].id = i; in mtk_ddp_probe()