diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2.c b/drivers/video/rockchip/mpp/mpp_rkvdec2.c index 8eedea2da781..eca4da0e1e9f 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2.c @@ -1573,6 +1573,16 @@ static struct mpp_hw_ops rkvdec_rk3576_hw_ops = { .hack_run = rk3576_workaround_run, }; +static struct mpp_hw_ops rkvdec_rv1126b_hw_ops = { + .init = rkvdec2_rk3576_init, + .exit = rkvdec2_rk3576_exit, + .clk_on = rkvdec2_clk_on, + .clk_off = rkvdec2_clk_off, + .get_freq = rkvdec2_get_freq, + .set_freq = rkvdec2_set_freq, + .reset = rkvdec_vdpu383_reset, +}; + static struct mpp_dev_ops rkvdec_v2_dev_ops = { .alloc_task = rkvdec2_alloc_task, .run = rkvdec2_run, @@ -1666,7 +1676,7 @@ static const struct mpp_dev_var rkvdec_rv1126b_data = { .device_type = MPP_DEVICE_RKVDEC, .hw_info = &rkvdec_vdpu384a_hw_info, .trans_info = rkvdec_vdpu384a_trans, - .hw_ops = &rkvdec_rk3576_hw_ops, + .hw_ops = &rkvdec_rv1126b_hw_ops, .dev_ops = &rkvdec_vdpu383_dev_ops, }; @@ -1998,6 +2008,7 @@ static int rkvdec2_probe_default(struct platform_device *pdev) mpp = &dec->mpp; platform_set_drvdata(pdev, mpp); + mpp->is_irq_startup = false; if (pdev->dev.of_node) { match = of_match_node(mpp_rkvdec2_dt_match, pdev->dev.of_node); @@ -2031,6 +2042,7 @@ static int rkvdec2_probe_default(struct platform_device *pdev) return -EINVAL; } + mpp->is_irq_startup = true; mpp->session_max_buffers = RKVDEC_SESSION_MAX_BUFFERS; rkvdec2_procfs_init(mpp); if (dec->link_dec && (mpp->task_capacity > 1))