Commit 2abb4db2 authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Mauro Carvalho Chehab

media: mtk-vcodec: vdec: set VPI IPI handler in one place

Each of the supported decoder formats used to set the same RPC
interrupt handler by themselves, even though this could be done
by the IF init function itself. Move it to the right place and stop
making its symbol public.
Signed-off-by: default avatarAlexandre Courbot <acourbot@chromium.org>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent dda8415e
...@@ -283,7 +283,6 @@ static int vdec_h264_init(struct mtk_vcodec_ctx *ctx) ...@@ -283,7 +283,6 @@ static int vdec_h264_init(struct mtk_vcodec_ctx *ctx)
inst->vpu.id = IPI_VDEC_H264; inst->vpu.id = IPI_VDEC_H264;
inst->vpu.dev = ctx->dev->vpu_plat_dev; inst->vpu.dev = ctx->dev->vpu_plat_dev;
inst->vpu.ctx = ctx; inst->vpu.ctx = ctx;
inst->vpu.handler = vpu_dec_ipi_handler;
err = vpu_dec_init(&inst->vpu); err = vpu_dec_init(&inst->vpu);
if (err) { if (err) {
......
...@@ -402,7 +402,6 @@ static int vdec_vp8_init(struct mtk_vcodec_ctx *ctx) ...@@ -402,7 +402,6 @@ static int vdec_vp8_init(struct mtk_vcodec_ctx *ctx)
inst->vpu.id = IPI_VDEC_VP8; inst->vpu.id = IPI_VDEC_VP8;
inst->vpu.dev = ctx->dev->vpu_plat_dev; inst->vpu.dev = ctx->dev->vpu_plat_dev;
inst->vpu.ctx = ctx; inst->vpu.ctx = ctx;
inst->vpu.handler = vpu_dec_ipi_handler;
err = vpu_dec_init(&inst->vpu); err = vpu_dec_init(&inst->vpu);
if (err) { if (err) {
......
...@@ -793,7 +793,6 @@ static int vdec_vp9_init(struct mtk_vcodec_ctx *ctx) ...@@ -793,7 +793,6 @@ static int vdec_vp9_init(struct mtk_vcodec_ctx *ctx)
inst->vpu.id = IPI_VDEC_VP9; inst->vpu.id = IPI_VDEC_VP9;
inst->vpu.dev = ctx->dev->vpu_plat_dev; inst->vpu.dev = ctx->dev->vpu_plat_dev;
inst->vpu.ctx = ctx; inst->vpu.ctx = ctx;
inst->vpu.handler = vpu_dec_ipi_handler;
if (vpu_dec_init(&inst->vpu)) { if (vpu_dec_init(&inst->vpu)) {
mtk_vcodec_err(inst, "vp9_dec_vpu_init failed"); mtk_vcodec_err(inst, "vp9_dec_vpu_init failed");
......
...@@ -25,10 +25,16 @@ static void handle_init_ack_msg(struct vdec_vpu_ipi_init_ack *msg) ...@@ -25,10 +25,16 @@ static void handle_init_ack_msg(struct vdec_vpu_ipi_init_ack *msg)
} }
/* /*
* vpu_dec_ipi_handler - Handler for VPU ipi message.
*
* @data: ipi message
* @len : length of ipi message
* @priv: callback private data which is passed by decoder when register.
*
* This function runs in interrupt context and it means there's an IPI MSG * This function runs in interrupt context and it means there's an IPI MSG
* from VPU. * from VPU.
*/ */
void vpu_dec_ipi_handler(void *data, unsigned int len, void *priv) static void vpu_dec_ipi_handler(void *data, unsigned int len, void *priv)
{ {
struct vdec_vpu_ipi_ack *msg = data; struct vdec_vpu_ipi_ack *msg = data;
struct vdec_vpu_inst *vpu = (struct vdec_vpu_inst *) struct vdec_vpu_inst *vpu = (struct vdec_vpu_inst *)
...@@ -102,6 +108,7 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu) ...@@ -102,6 +108,7 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
mtk_vcodec_debug_enter(vpu); mtk_vcodec_debug_enter(vpu);
init_waitqueue_head(&vpu->wq); init_waitqueue_head(&vpu->wq);
vpu->handler = vpu_dec_ipi_handler;
err = vpu_ipi_register(vpu->dev, vpu->id, vpu->handler, "vdec", NULL); err = vpu_ipi_register(vpu->dev, vpu->id, vpu->handler, "vdec", NULL);
if (err != 0) { if (err != 0) {
......
...@@ -76,13 +76,4 @@ int vpu_dec_deinit(struct vdec_vpu_inst *vpu); ...@@ -76,13 +76,4 @@ int vpu_dec_deinit(struct vdec_vpu_inst *vpu);
*/ */
int vpu_dec_reset(struct vdec_vpu_inst *vpu); int vpu_dec_reset(struct vdec_vpu_inst *vpu);
/**
* vpu_dec_ipi_handler - Handler for VPU ipi message.
*
* @data: ipi message
* @len : length of ipi message
* @priv: callback private data which is passed by decoder when register.
*/
void vpu_dec_ipi_handler(void *data, unsigned int len, void *priv);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment