media: mtk-vcodec: Align vcodec wake up interrupt interface
Vdec and venc can use the same function to wake up interrupt event. Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Steve Cho <stevecho@chromium.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
d1c51b7302
commit
a1dcdd6acc
|
@ -28,13 +28,6 @@
|
|||
#define VDEC_IRQ_CLR 0x10
|
||||
#define VDEC_IRQ_CFG_REG 0xa4
|
||||
|
||||
/* Wake up context wait_queue */
|
||||
static void wake_up_ctx(struct mtk_vcodec_ctx *ctx)
|
||||
{
|
||||
ctx->int_cond = 1;
|
||||
wake_up_interruptible(&ctx->queue);
|
||||
}
|
||||
|
||||
static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv)
|
||||
{
|
||||
struct mtk_vcodec_dev *dev = priv;
|
||||
|
@ -66,7 +59,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv)
|
|||
writel((readl(vdec_misc_addr) & ~VDEC_IRQ_CLR),
|
||||
dev->reg_base[VDEC_MISC] + VDEC_IRQ_CFG_REG);
|
||||
|
||||
wake_up_ctx(ctx);
|
||||
wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED);
|
||||
|
||||
mtk_v4l2_debug(3,
|
||||
"mtk_vcodec_dec_irq_handler :wake up ctx %d, dec_done_status=%x",
|
||||
|
|
|
@ -473,4 +473,12 @@ static inline struct mtk_vcodec_ctx *ctrl_to_ctx(struct v4l2_ctrl *ctrl)
|
|||
return container_of(ctrl->handler, struct mtk_vcodec_ctx, ctrl_hdl);
|
||||
}
|
||||
|
||||
/* Wake up context wait_queue */
|
||||
static inline void wake_up_ctx(struct mtk_vcodec_ctx *ctx, unsigned int reason)
|
||||
{
|
||||
ctx->int_cond = 1;
|
||||
ctx->int_type = reason;
|
||||
wake_up_interruptible(&ctx->queue);
|
||||
}
|
||||
|
||||
#endif /* _MTK_VCODEC_DRV_H_ */
|
||||
|
|
|
@ -62,14 +62,6 @@ static const struct mtk_video_fmt mtk_video_formats_capture_vp8[] = {
|
|||
},
|
||||
};
|
||||
|
||||
/* Wake up context wait_queue */
|
||||
static void wake_up_ctx(struct mtk_vcodec_ctx *ctx, unsigned int reason)
|
||||
{
|
||||
ctx->int_cond = 1;
|
||||
ctx->int_type = reason;
|
||||
wake_up_interruptible(&ctx->queue);
|
||||
}
|
||||
|
||||
static void clean_irq_status(unsigned int irq_status, void __iomem *addr)
|
||||
{
|
||||
if (irq_status & MTK_VENC_IRQ_STATUS_PAUSE)
|
||||
|
|
Loading…
Reference in New Issue