.../platform/mediatek/vcodec/mtk_vcodec_dec.c | 116 +++++----- .../mediatek/vcodec/mtk_vcodec_dec_drv.c | 53 ++--- .../mediatek/vcodec/mtk_vcodec_dec_hw.c | 7 +- .../mediatek/vcodec/mtk_vcodec_dec_pm.c | 19 +- .../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 143 ++++++------ .../vcodec/mtk_vcodec_dec_stateless.c | 62 ++--- .../platform/mediatek/vcodec/mtk_vcodec_enc.c | 211 ++++++++---------- .../mediatek/vcodec/mtk_vcodec_enc_drv.c | 45 ++-- .../mediatek/vcodec/mtk_vcodec_enc_pm.c | 8 +- .../platform/mediatek/vcodec/mtk_vcodec_fw.c | 2 +- .../mediatek/vcodec/mtk_vcodec_fw_scp.c | 2 +- .../mediatek/vcodec/mtk_vcodec_fw_vpu.c | 7 +- .../mediatek/vcodec/mtk_vcodec_intr.c | 12 +- .../mediatek/vcodec/mtk_vcodec_util.c | 30 ++- .../mediatek/vcodec/mtk_vcodec_util.h | 24 +- .../vcodec/vdec/vdec_av1_req_lat_if.c | 10 +- .../mediatek/vcodec/vdec/vdec_h264_req_if.c | 14 +- .../vcodec/vdec/vdec_h264_req_multi_if.c | 16 +- .../vcodec/vdec/vdec_hevc_req_multi_if.c | 14 +- .../platform/mediatek/vcodec/vdec_drv_if.c | 4 +- .../platform/mediatek/vcodec/vdec_msg_queue.c | 52 +++-- .../platform/mediatek/vcodec/vdec_msg_queue.h | 2 + .../platform/mediatek/vcodec/vdec_vpu_if.c | 2 +- 23 files changed, 413 insertions(+), 442 deletions(-)
Adding different macro mtk_v4l2_vdec_dbg and mtk_v4l2_venc_dbg for
encoder and decoder. Then calling the common marco mtk_v4l2_debug to
print debug message.
Replace pr_err with dev_err for 'mtk_v4l2_err' debug message.
Replace pr_debug with dev_dbg for 'mtk_v4l2_debug' debug message.
Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
---
.../platform/mediatek/vcodec/mtk_vcodec_dec.c | 116 +++++-----
.../mediatek/vcodec/mtk_vcodec_dec_drv.c | 53 ++---
.../mediatek/vcodec/mtk_vcodec_dec_hw.c | 7 +-
.../mediatek/vcodec/mtk_vcodec_dec_pm.c | 19 +-
.../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 143 ++++++------
.../vcodec/mtk_vcodec_dec_stateless.c | 62 ++---
.../platform/mediatek/vcodec/mtk_vcodec_enc.c | 211 ++++++++----------
.../mediatek/vcodec/mtk_vcodec_enc_drv.c | 45 ++--
.../mediatek/vcodec/mtk_vcodec_enc_pm.c | 8 +-
.../platform/mediatek/vcodec/mtk_vcodec_fw.c | 2 +-
.../mediatek/vcodec/mtk_vcodec_fw_scp.c | 2 +-
.../mediatek/vcodec/mtk_vcodec_fw_vpu.c | 7 +-
.../mediatek/vcodec/mtk_vcodec_intr.c | 12 +-
.../mediatek/vcodec/mtk_vcodec_util.c | 30 ++-
.../mediatek/vcodec/mtk_vcodec_util.h | 24 +-
.../vcodec/vdec/vdec_av1_req_lat_if.c | 10 +-
.../mediatek/vcodec/vdec/vdec_h264_req_if.c | 14 +-
.../vcodec/vdec/vdec_h264_req_multi_if.c | 16 +-
.../vcodec/vdec/vdec_hevc_req_multi_if.c | 14 +-
.../platform/mediatek/vcodec/vdec_drv_if.c | 4 +-
.../platform/mediatek/vcodec/vdec_msg_queue.c | 52 +++--
.../platform/mediatek/vcodec/vdec_msg_queue.h | 2 +
.../platform/mediatek/vcodec/vdec_vpu_if.c | 2 +-
23 files changed, 413 insertions(+), 442 deletions(-)
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
index 93fcea821001..269f90fe0a1a 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
@@ -82,7 +82,7 @@ static int vidioc_decoder_cmd(struct file *file, void *priv,
if (ret)
return ret;
- mtk_v4l2_debug(1, "decoder cmd=%u", cmd->cmd);
+ mtk_v4l2_vdec_dbg(1, ctx, "decoder cmd=%u", cmd->cmd);
dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
switch (cmd->cmd) {
@@ -90,11 +90,11 @@ static int vidioc_decoder_cmd(struct file *file, void *priv,
src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
if (!vb2_is_streaming(src_vq)) {
- mtk_v4l2_debug(1, "Output stream is off. No need to flush.");
+ mtk_v4l2_vdec_dbg(1, ctx, "Output stream is off. No need to flush.");
return 0;
}
if (!vb2_is_streaming(dst_vq)) {
- mtk_v4l2_debug(1, "Capture stream is off. No need to flush.");
+ mtk_v4l2_vdec_dbg(1, ctx, "Capture stream is off. No need to flush.");
return 0;
}
v4l2_m2m_buf_queue(ctx->m2m_ctx, &ctx->empty_flush_buf.vb);
@@ -172,8 +172,7 @@ static int vidioc_vdec_qbuf(struct file *file, void *priv,
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
if (ctx->state == MTK_STATE_ABORT) {
- mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error",
- ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d] Call on QBUF after unrecoverable error", ctx->id);
return -EIO;
}
@@ -186,8 +185,7 @@ static int vidioc_vdec_dqbuf(struct file *file, void *priv,
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
if (ctx->state == MTK_STATE_ABORT) {
- mtk_v4l2_err("[%d] Call on DQBUF after unrecoverable error",
- ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d] Call on DQBUF after unrecoverable error", ctx->id);
return -EIO;
}
@@ -288,11 +286,10 @@ static int vidioc_try_fmt(struct mtk_vcodec_ctx *ctx, struct v4l2_format *f,
(pix_fmt_mp->height + 64) <= frmsize->max_height)
pix_fmt_mp->height += 64;
- mtk_v4l2_debug(0,
- "before resize width=%d, height=%d, after resize width=%d, height=%d, sizeimage=%d",
- tmp_w, tmp_h, pix_fmt_mp->width,
- pix_fmt_mp->height,
- pix_fmt_mp->width * pix_fmt_mp->height);
+ mtk_v4l2_vdec_dbg(0, ctx,
+ "before resize wxh=%dx%d, after resize wxh=%dx%d, sizeimage=%d",
+ tmp_w, tmp_h, pix_fmt_mp->width, pix_fmt_mp->height,
+ pix_fmt_mp->width * pix_fmt_mp->height);
pix_fmt_mp->num_planes = fmt->num_planes;
pix_fmt_mp->plane_fmt[0].sizeimage =
@@ -344,7 +341,7 @@ static int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv,
}
if (pix_fmt_mp->plane_fmt[0].sizeimage == 0) {
- mtk_v4l2_err("sizeimage of output format must be given");
+ mtk_v4l2_vdec_err(ctx, "sizeimage of output format must be given");
return -EINVAL;
}
@@ -432,7 +429,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
const struct mtk_video_fmt *fmt;
const struct mtk_vcodec_dec_pdata *dec_pdata = ctx->dev->vdec_pdata;
- mtk_v4l2_debug(3, "[%d]", ctx->id);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id);
q_data = mtk_vdec_get_q_data(ctx, f->type);
if (!q_data)
@@ -446,7 +443,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
if (!dec_pdata->uses_stateless_api &&
f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE &&
vb2_is_busy(&ctx->m2m_ctx->out_q_ctx.q)) {
- mtk_v4l2_err("out_q_ctx buffers already requested");
+ mtk_v4l2_vdec_err(ctx, "out_q_ctx buffers already requested");
ret = -EBUSY;
}
@@ -456,7 +453,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
*/
if ((f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) &&
vb2_is_busy(&ctx->m2m_ctx->cap_q_ctx.q)) {
- mtk_v4l2_err("cap_q_ctx buffers already requested");
+ mtk_v4l2_vdec_err(ctx, "cap_q_ctx buffers already requested");
ret = -EBUSY;
}
@@ -491,8 +488,8 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
if (ctx->state == MTK_STATE_FREE) {
ret = vdec_if_init(ctx, q_data->fmt->fourcc);
if (ret) {
- mtk_v4l2_err("[%d]: vdec_if_init() fail ret=%d",
- ctx->id, ret);
+ mtk_v4l2_vdec_err(ctx, "[%d]: vdec_if_init() fail ret=%d",
+ ctx->id, ret);
return -EINVAL;
}
ctx->state = MTK_STATE_INIT;
@@ -515,8 +512,8 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
*/
ret = vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo);
if (ret) {
- mtk_v4l2_err("[%d]Error!! Get GET_PARAM_PICTURE_INFO Fail",
- ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d]Error!! Get GET_PARAM_PICTURE_INFO Fail",
+ ctx->id);
}
ctx->last_decoded_picinfo = ctx->picinfo;
@@ -540,11 +537,13 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv,
ctx->q_data[MTK_Q_DATA_DST].coded_width = ctx->picinfo.buf_w;
ctx->q_data[MTK_Q_DATA_DST].coded_height = ctx->picinfo.buf_h;
- mtk_v4l2_debug(2, "[%d] vdec_if_init() num_plane = %d wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x",
- ctx->id, pix_mp->num_planes, ctx->picinfo.buf_w, ctx->picinfo.buf_h,
- ctx->picinfo.pic_w, ctx->picinfo.pic_h,
- ctx->q_data[MTK_Q_DATA_DST].sizeimage[0],
- ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]);
+ mtk_v4l2_vdec_dbg(2, ctx,
+ "[%d] init() plane:%d wxh=%dx%d pic wxh=%dx%d sz=0x%x_0x%x",
+ ctx->id, pix_mp->num_planes,
+ ctx->picinfo.buf_w, ctx->picinfo.buf_h,
+ ctx->picinfo.pic_w, ctx->picinfo.pic_h,
+ ctx->q_data[MTK_Q_DATA_DST].sizeimage[0],
+ ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]);
}
return 0;
}
@@ -570,14 +569,11 @@ static int vidioc_enum_framesizes(struct file *file, void *priv,
fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE;
fsize->stepwise = dec_pdata->vdec_formats[i].frmsize;
- mtk_v4l2_debug(1, "%x, %d %d %d %d %d %d",
- ctx->dev->dec_capability,
- fsize->stepwise.min_width,
- fsize->stepwise.max_width,
- fsize->stepwise.step_width,
- fsize->stepwise.min_height,
- fsize->stepwise.max_height,
- fsize->stepwise.step_height);
+ mtk_v4l2_vdec_dbg(1, ctx, "%x, %d %d %d %d %d %d",
+ ctx->dev->dec_capability, fsize->stepwise.min_width,
+ fsize->stepwise.max_width, fsize->stepwise.step_width,
+ fsize->stepwise.min_height, fsize->stepwise.max_height,
+ fsize->stepwise.step_height);
return 0;
}
@@ -641,7 +637,7 @@ static int vidioc_vdec_g_fmt(struct file *file, void *priv,
vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
if (!vq) {
- mtk_v4l2_err("no vb2 queue for type=%d", f->type);
+ mtk_v4l2_vdec_err(ctx, "no vb2 queue for type=%d", f->type);
return -EINVAL;
}
@@ -712,8 +708,8 @@ static int vidioc_vdec_g_fmt(struct file *file, void *priv,
pix_mp->plane_fmt[1].bytesperline = q_data->bytesperline[1];
pix_mp->plane_fmt[1].sizeimage = q_data->sizeimage[1];
- mtk_v4l2_debug(1, "[%d] type=%d state=%d Format information could not be read, not ready yet!",
- ctx->id, f->type, ctx->state);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] type=%d state=%d Format information not ready!",
+ ctx->id, f->type, ctx->state);
}
return 0;
@@ -730,7 +726,7 @@ int vb2ops_vdec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers,
q_data = mtk_vdec_get_q_data(ctx, vq->type);
if (q_data == NULL) {
- mtk_v4l2_err("vq->type=%d err\n", vq->type);
+ mtk_v4l2_vdec_err(ctx, "vq->type=%d err\n", vq->type);
return -EINVAL;
}
@@ -756,10 +752,9 @@ int vb2ops_vdec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers,
sizes[i] = q_data->sizeimage[i];
}
- mtk_v4l2_debug(1,
- "[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x 0x%x ",
- ctx->id, vq->type, *nplanes, *nbuffers,
- sizes[0], sizes[1]);
+ mtk_v4l2_vdec_dbg(1, ctx,
+ "[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x 0x%x ",
+ ctx->id, vq->type, *nplanes, *nbuffers, sizes[0], sizes[1]);
return 0;
}
@@ -770,16 +765,15 @@ int vb2ops_vdec_buf_prepare(struct vb2_buffer *vb)
struct mtk_q_data *q_data;
int i;
- mtk_v4l2_debug(3, "[%d] (%d) id=%d",
- ctx->id, vb->vb2_queue->type, vb->index);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d",
+ ctx->id, vb->vb2_queue->type, vb->index);
q_data = mtk_vdec_get_q_data(ctx, vb->vb2_queue->type);
for (i = 0; i < q_data->fmt->num_planes; i++) {
if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) {
- mtk_v4l2_err("data will not fit into plane %d (%lu < %d)",
- i, vb2_plane_size(vb, i),
- q_data->sizeimage[i]);
+ mtk_v4l2_vdec_err(ctx, "data will not fit into plane %d (%lu < %d)",
+ i, vb2_plane_size(vb, i), q_data->sizeimage[i]);
return -EINVAL;
}
if (!V4L2_TYPE_IS_OUTPUT(vb->type))
@@ -807,7 +801,7 @@ void vb2ops_vdec_buf_finish(struct vb2_buffer *vb)
mutex_unlock(&ctx->lock);
if (buf_error) {
- mtk_v4l2_err("Unrecoverable error on buffer.");
+ mtk_v4l2_vdec_err(ctx, "Unrecoverable error on buffer.");
ctx->state = MTK_STATE_ABORT;
}
}
@@ -843,8 +837,8 @@ void vb2ops_vdec_stop_streaming(struct vb2_queue *q)
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(q);
int ret;
- mtk_v4l2_debug(3, "[%d] (%d) state=(%x) ctx->decoded_frame_cnt=%d",
- ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) state=(%x) ctx->decoded_frame_cnt=%d",
+ ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt);
if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
while ((src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx))) {
@@ -870,17 +864,17 @@ void vb2ops_vdec_stop_streaming(struct vb2_queue *q)
*/
ctx->picinfo = ctx->last_decoded_picinfo;
- mtk_v4l2_debug(2,
- "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)",
- ctx->id, ctx->last_decoded_picinfo.pic_w,
- ctx->last_decoded_picinfo.pic_h,
- ctx->picinfo.pic_w, ctx->picinfo.pic_h,
- ctx->last_decoded_picinfo.buf_w,
- ctx->last_decoded_picinfo.buf_h);
+ mtk_v4l2_vdec_dbg(2, ctx,
+ "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)",
+ ctx->id, ctx->last_decoded_picinfo.pic_w,
+ ctx->last_decoded_picinfo.pic_h,
+ ctx->picinfo.pic_w, ctx->picinfo.pic_h,
+ ctx->last_decoded_picinfo.buf_w,
+ ctx->last_decoded_picinfo.buf_h);
ret = ctx->dev->vdec_pdata->flush_decoder(ctx);
if (ret)
- mtk_v4l2_err("DecodeFinal failed, ret=%d", ret);
+ mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret);
}
ctx->state = MTK_STATE_FLUSH;
@@ -905,7 +899,7 @@ static int m2mops_vdec_job_ready(void *m2m_priv)
{
struct mtk_vcodec_ctx *ctx = m2m_priv;
- mtk_v4l2_debug(3, "[%d]", ctx->id);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id);
if (ctx->state == MTK_STATE_ABORT)
return 0;
@@ -973,7 +967,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq,
struct mtk_vcodec_ctx *ctx = priv;
int ret = 0;
- mtk_v4l2_debug(3, "[%d]", ctx->id);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id);
src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
src_vq->io_modes = VB2_DMABUF | VB2_MMAP;
@@ -988,7 +982,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq,
ret = vb2_queue_init(src_vq);
if (ret) {
- mtk_v4l2_err("Failed to initialize videobuf2 queue(output)");
+ mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 queue(output)");
return ret;
}
dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
@@ -1004,7 +998,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq,
ret = vb2_queue_init(dst_vq);
if (ret)
- mtk_v4l2_err("Failed to initialize videobuf2 queue(capture)");
+ mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 queue(capture)");
return ret;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
index 03721eda2769..4469c2411f40 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
@@ -25,7 +25,7 @@
#include "mtk_vcodec_util.h"
#include "mtk_vcodec_fw.h"
-static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dev *dev)
+static int mtk_vcodec_get_hw_count(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_dev *dev)
{
switch (dev->vdec_pdata->hw_arch) {
case MTK_VDEC_PURE_SINGLE_CORE:
@@ -33,7 +33,7 @@ static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dev *dev)
case MTK_VDEC_LAT_SINGLE_CORE:
return MTK_VDEC_ONE_LAT_ONE_CORE;
default:
- mtk_v4l2_err("hw arch %d not supported", dev->vdec_pdata->hw_arch);
+ mtk_v4l2_vdec_err(ctx, "hw arch %d not supported", dev->vdec_pdata->hw_arch);
return MTK_VDEC_NO_HW;
}
}
@@ -52,8 +52,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv)
/* check if HW active or not */
cg_status = readl(dev->reg_base[0]);
if ((cg_status & VDEC_HW_ACTIVE) != 0) {
- mtk_v4l2_err("DEC ISR, VDEC active is not 0x0 (0x%08x)",
- cg_status);
+ mtk_v4l2_vdec_err(ctx, "DEC ISR, VDEC active is not 0x0 (0x%08x)", cg_status);
return IRQ_HANDLED;
}
@@ -71,9 +70,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv)
wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, 0);
- mtk_v4l2_debug(3,
- "mtk_vcodec_dec_irq_handler :wake up ctx %d, dec_done_status=%x",
- ctx->id, dec_done_status);
+ mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x", ctx->id, dec_done_status);
return IRQ_HANDLED;
}
@@ -96,7 +93,7 @@ static int mtk_vcodec_get_reg_bases(struct mtk_vcodec_dev *dev)
if (IS_ERR(dev->reg_base[i]))
return PTR_ERR(dev->reg_base[i]);
- mtk_v4l2_debug(2, "reg[%d] base=%p", i, dev->reg_base[i]);
+ dev_dbg(&pdev->dev, "reg[%d] base=%p", i, dev->reg_base[i]);
}
return 0;
@@ -156,7 +153,7 @@ static int fops_vcodec_open(struct file *file)
INIT_LIST_HEAD(&ctx->list);
ctx->dev = dev;
if (ctx->dev->vdec_pdata->is_subdev_supported) {
- hw_count = mtk_vcodec_get_hw_count(dev);
+ hw_count = mtk_vcodec_get_hw_count(ctx, dev);
if (!hw_count || !dev->subdev_prob_done) {
ret = -EINVAL;
goto err_ctrls_setup;
@@ -176,15 +173,14 @@ static int fops_vcodec_open(struct file *file)
ctx->type = MTK_INST_DECODER;
ret = dev->vdec_pdata->ctrls_setup(ctx);
if (ret) {
- mtk_v4l2_err("Failed to setup mt vcodec controls");
+ mtk_v4l2_vdec_err(ctx, "Failed to setup mt vcodec controls");
goto err_ctrls_setup;
}
ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_dec, ctx,
&mtk_vcodec_dec_queue_init);
if (IS_ERR((__force void *)ctx->m2m_ctx)) {
ret = PTR_ERR((__force void *)ctx->m2m_ctx);
- mtk_v4l2_err("Failed to v4l2_m2m_ctx_init() (%d)",
- ret);
+ mtk_v4l2_vdec_err(ctx, "Failed to v4l2_m2m_ctx_init() (%d)", ret);
goto err_m2m_ctx_init;
}
src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
@@ -202,14 +198,14 @@ static int fops_vcodec_open(struct file *file)
* Return 0 if downloading firmware successfully,
* otherwise it is failed
*/
- mtk_v4l2_err("failed to load firmware!");
+ mtk_v4l2_vdec_err(ctx, "failed to load firmware!");
goto err_load_fw;
}
dev->dec_capability =
mtk_vcodec_fw_get_vdec_capa(dev->fw_handler);
- mtk_v4l2_debug(0, "decoder capability %x", dev->dec_capability);
+ mtk_v4l2_vdec_dbg(0, ctx, "decoder capability %x", dev->dec_capability);
}
ctx->dev->vdec_pdata->init_vdec_params(ctx);
@@ -218,8 +214,7 @@ static int fops_vcodec_open(struct file *file)
mtk_vcodec_dbgfs_create(ctx);
mutex_unlock(&dev->dev_mutex);
- mtk_v4l2_debug(0, "%s decoder [%d]", dev_name(&dev->plat_dev->dev),
- ctx->id);
+ mtk_v4l2_vdec_dbg(0, ctx, "%s decoder [%d]", dev_name(&dev->plat_dev->dev), ctx->id);
return ret;
/* Deinit when failure occurred */
@@ -241,7 +236,7 @@ static int fops_vcodec_release(struct file *file)
struct mtk_vcodec_dev *dev = video_drvdata(file);
struct mtk_vcodec_ctx *ctx = fh_to_ctx(file->private_data);
- mtk_v4l2_debug(0, "[%d] decoder", ctx->id);
+ mtk_v4l2_vdec_dbg(0, ctx, "[%d] decoder", ctx->id);
mutex_lock(&dev->dev_mutex);
/*
@@ -296,7 +291,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
&rproc_phandle)) {
fw_type = SCP;
} else {
- mtk_v4l2_err("Could not get vdec IPI device");
+ dev_dbg(&pdev->dev, "Could not get vdec IPI device");
return -ENODEV;
}
dma_set_max_seg_size(&pdev->dev, UINT_MAX);
@@ -316,7 +311,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
alloc_ordered_workqueue("core-decoder",
WQ_MEM_RECLAIM | WQ_FREEZABLE);
if (!dev->core_workqueue) {
- mtk_v4l2_err("Failed to create core workqueue");
+ dev_dbg(&pdev->dev, "Failed to create core workqueue");
ret = -EINVAL;
goto err_res;
}
@@ -332,13 +327,13 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev);
if (ret) {
- mtk_v4l2_err("v4l2_device_register err=%d", ret);
+ dev_err(&pdev->dev, "v4l2_device_register err=%d", ret);
goto err_core_workq;
}
vfd_dec = video_device_alloc();
if (!vfd_dec) {
- mtk_v4l2_err("Failed to allocate video device");
+ dev_err(&pdev->dev, "Failed to allocate video device");
ret = -ENOMEM;
goto err_dec_alloc;
}
@@ -359,7 +354,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
dev->m2m_dev_dec = v4l2_m2m_init(&mtk_vdec_m2m_ops);
if (IS_ERR((__force void *)dev->m2m_dev_dec)) {
- mtk_v4l2_err("Failed to init mem2mem dec device");
+ dev_err(&pdev->dev, "Failed to init mem2mem dec device");
ret = PTR_ERR((__force void *)dev->m2m_dev_dec);
goto err_dec_alloc;
}
@@ -368,7 +363,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
alloc_ordered_workqueue(MTK_VCODEC_DEC_NAME,
WQ_MEM_RECLAIM | WQ_FREEZABLE);
if (!dev->decode_workqueue) {
- mtk_v4l2_err("Failed to create decode workqueue");
+ dev_err(&pdev->dev, "Failed to create decode workqueue");
ret = -EINVAL;
goto err_event_workq;
}
@@ -377,7 +372,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
ret = of_platform_populate(pdev->dev.of_node, NULL, NULL,
&pdev->dev);
if (ret) {
- mtk_v4l2_err("Main device of_platform_populate failed.");
+ dev_err(&pdev->dev, "Main device of_platform_populate failed.");
goto err_reg_cont;
}
} else {
@@ -390,7 +385,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
ret = video_register_device(vfd_dec, VFL_TYPE_VIDEO, -1);
if (ret) {
- mtk_v4l2_err("Failed to register video device");
+ dev_err(&pdev->dev, "Failed to register video device");
goto err_reg_cont;
}
@@ -409,21 +404,21 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
ret = v4l2_m2m_register_media_controller(dev->m2m_dev_dec, dev->vfd_dec,
MEDIA_ENT_F_PROC_VIDEO_DECODER);
if (ret) {
- mtk_v4l2_err("Failed to register media controller");
+ dev_err(&pdev->dev, "Failed to register media controller");
goto err_dec_mem_init;
}
ret = media_device_register(&dev->mdev_dec);
if (ret) {
- mtk_v4l2_err("Failed to register media device");
+ dev_err(&pdev->dev, "Failed to register media device");
goto err_media_reg;
}
- mtk_v4l2_debug(0, "media registered as /dev/media%d", vfd_dec->minor);
+ dev_dbg(&pdev->dev, "media registered as /dev/media%d", vfd_dec->minor);
}
mtk_vcodec_dbgfs_init(dev, false);
- mtk_v4l2_debug(0, "decoder registered as /dev/video%d", vfd_dec->minor);
+ dev_dbg(&pdev->dev, "decoder registered as /dev/video%d", vfd_dec->minor);
return 0;
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c
index e1cb2f8dca33..7c4d8ec201e3 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c
@@ -77,8 +77,7 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int irq, void *priv)
/* check if HW active or not */
cg_status = readl(dev->reg_base[VDEC_HW_SYS]);
if (cg_status & VDEC_HW_ACTIVE) {
- mtk_v4l2_err("vdec active is not 0x0 (0x%08x)",
- cg_status);
+ mtk_v4l2_vdec_err(ctx, "vdec active is not 0x0 (0x%08x)", cg_status);
return IRQ_HANDLED;
}
@@ -93,8 +92,8 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int irq, void *priv)
wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, dev->hw_idx);
- mtk_v4l2_debug(3, "wake up ctx %d, dec_done_status=%x",
- ctx->id, dec_done_status);
+ mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x",
+ ctx->id, dec_done_status);
return IRQ_HANDLED;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c
index 777d445999e9..3ab996705b97 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c
@@ -32,7 +32,7 @@ int mtk_vcodec_init_dec_clk(struct platform_device *pdev, struct mtk_vcodec_pm *
if (!dec_clk->clk_info)
return -ENOMEM;
} else {
- mtk_v4l2_err("Failed to get vdec clock count");
+ dev_err(&pdev->dev, "Failed to get vdec clock count");
return -EINVAL;
}
@@ -41,14 +41,13 @@ int mtk_vcodec_init_dec_clk(struct platform_device *pdev, struct mtk_vcodec_pm *
ret = of_property_read_string_index(pdev->dev.of_node,
"clock-names", i, &clk_info->clk_name);
if (ret) {
- mtk_v4l2_err("Failed to get clock name id = %d", i);
+ dev_err(&pdev->dev, "Failed to get clock name id = %d", i);
return ret;
}
clk_info->vcodec_clk = devm_clk_get(&pdev->dev,
clk_info->clk_name);
if (IS_ERR(clk_info->vcodec_clk)) {
- mtk_v4l2_err("devm_clk_get (%d)%s fail", i,
- clk_info->clk_name);
+ dev_err(&pdev->dev, "devm_clk_get (%d)%s fail", i, clk_info->clk_name);
return PTR_ERR(clk_info->vcodec_clk);
}
}
@@ -63,7 +62,7 @@ static int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm)
ret = pm_runtime_resume_and_get(pm->dev);
if (ret)
- mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret);
+ dev_err(pm->dev, "pm_runtime_resume_and_get fail %d", ret);
return ret;
}
@@ -74,7 +73,7 @@ static void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm)
ret = pm_runtime_put(pm->dev);
if (ret && ret != -EAGAIN)
- mtk_v4l2_err("pm_runtime_put fail %d", ret);
+ dev_err(pm->dev, "pm_runtime_put fail %d", ret);
}
static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm)
@@ -86,7 +85,7 @@ static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm)
for (i = 0; i < dec_clk->clk_num; i++) {
ret = clk_prepare_enable(dec_clk->clk_info[i].vcodec_clk);
if (ret) {
- mtk_v4l2_err("clk_prepare_enable %d %s fail %d", i,
+ dev_err(pm->dev, "clk_prepare_enable %d %s fail %d", i,
dec_clk->clk_info[i].clk_name, ret);
goto error;
}
@@ -120,7 +119,7 @@ static void mtk_vcodec_dec_enable_irq(struct mtk_vcodec_dev *vdec_dev, int hw_id
if (subdev_dev)
enable_irq(subdev_dev->dec_irq);
else
- mtk_v4l2_err("Failed to get hw dev\n");
+ dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n");
} else {
enable_irq(vdec_dev->dec_irq);
}
@@ -138,7 +137,7 @@ static void mtk_vcodec_dec_disable_irq(struct mtk_vcodec_dev *vdec_dev, int hw_i
if (subdev_dev)
disable_irq(subdev_dev->dec_irq);
else
- mtk_v4l2_err("Failed to get hw dev\n");
+ dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n");
} else {
disable_irq(vdec_dev->dec_irq);
}
@@ -185,7 +184,7 @@ static struct mtk_vcodec_pm *mtk_vcodec_dec_get_pm(struct mtk_vcodec_dev *vdec_d
if (subdev_dev)
return &subdev_dev->pm;
- mtk_v4l2_err("Failed to get hw dev\n");
+ dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n");
return NULL;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
index 0fbd030026c7..3c289b08bc87 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
@@ -61,15 +61,16 @@ static struct vb2_buffer *get_display_buffer(struct mtk_vcodec_ctx *ctx)
struct mtk_video_dec_buf *dstbuf;
struct vb2_v4l2_buffer *vb;
- mtk_v4l2_debug(3, "[%d]", ctx->id);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id);
if (vdec_if_get_param(ctx, GET_PARAM_DISP_FRAME_BUFFER,
&disp_frame_buffer)) {
- mtk_v4l2_err("[%d]Cannot get param : GET_PARAM_DISP_FRAME_BUFFER", ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d]Cannot get param : GET_PARAM_DISP_FRAME_BUFFER",
+ ctx->id);
return NULL;
}
if (!disp_frame_buffer) {
- mtk_v4l2_debug(3, "No display frame buffer");
+ mtk_v4l2_vdec_dbg(3, ctx, "No display frame buffer");
return NULL;
}
@@ -78,9 +79,9 @@ static struct vb2_buffer *get_display_buffer(struct mtk_vcodec_ctx *ctx)
vb = &dstbuf->m2m_buf.vb;
mutex_lock(&ctx->lock);
if (dstbuf->used) {
- mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to done_list %d",
- ctx->id, disp_frame_buffer->status,
- vb->vb2_buf.index, dstbuf->queued_in_vb2);
+ mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to done_list %d",
+ ctx->id, disp_frame_buffer->status,
+ vb->vb2_buf.index, dstbuf->queued_in_vb2);
v4l2_m2m_buf_done(vb, VB2_BUF_STATE_DONE);
ctx->decoded_frame_cnt++;
@@ -105,16 +106,16 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx)
if (vdec_if_get_param(ctx, GET_PARAM_FREE_FRAME_BUFFER,
&free_frame_buffer)) {
- mtk_v4l2_err("[%d] Error!! Cannot get param", ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d] Error!! Cannot get param", ctx->id);
return NULL;
}
if (!free_frame_buffer) {
- mtk_v4l2_debug(3, " No free frame buffer");
+ mtk_v4l2_vdec_dbg(3, ctx, " No free frame buffer");
return NULL;
}
- mtk_v4l2_debug(3, "[%d] tmp_frame_addr = 0x%p", ctx->id,
- free_frame_buffer);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] tmp_frame_addr = 0x%p", ctx->id,
+ free_frame_buffer);
dstbuf = container_of(free_frame_buffer, struct mtk_video_dec_buf,
frame_buffer);
@@ -131,9 +132,9 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx)
* This reduce overheads that dq/q unused capture
* buffer. In this case, queued_in_vb2 = true.
*/
- mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to rdy_queue %d",
- ctx->id, free_frame_buffer->status,
- vb->vb2_buf.index, dstbuf->queued_in_vb2);
+ mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to rdy_queue %d",
+ ctx->id, free_frame_buffer->status,
+ vb->vb2_buf.index, dstbuf->queued_in_vb2);
v4l2_m2m_buf_queue(ctx->m2m_ctx, vb);
} else if (!dstbuf->queued_in_vb2 && dstbuf->queued_in_v4l2) {
/*
@@ -146,10 +147,10 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx)
* means this buffer is not from previous decode
* output.
*/
- mtk_v4l2_debug(2,
- "[%d]status=%x queue id=%d to rdy_queue",
- ctx->id, free_frame_buffer->status,
- vb->vb2_buf.index);
+ mtk_v4l2_vdec_dbg(2, ctx,
+ "[%d]status=%x queue id=%d to rdy_queue",
+ ctx->id, free_frame_buffer->status,
+ vb->vb2_buf.index);
v4l2_m2m_buf_queue(ctx->m2m_ctx, vb);
dstbuf->queued_in_vb2 = true;
} else {
@@ -161,10 +162,10 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx)
* When this buffer q from user space, it could
* directly q to vb2 buffer
*/
- mtk_v4l2_debug(3, "[%d]status=%x err queue id=%d %d %d",
- ctx->id, free_frame_buffer->status,
- vb->vb2_buf.index, dstbuf->queued_in_vb2,
- dstbuf->queued_in_v4l2);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d]status=%x err queue id=%d %d %d",
+ ctx->id, free_frame_buffer->status,
+ vb->vb2_buf.index, dstbuf->queued_in_vb2,
+ dstbuf->queued_in_v4l2);
}
dstbuf->used = false;
}
@@ -191,7 +192,7 @@ static void mtk_vdec_queue_res_chg_event(struct mtk_vcodec_ctx *ctx)
.u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION,
};
- mtk_v4l2_debug(1, "[%d]", ctx->id);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d]", ctx->id);
v4l2_event_queue_fh(&ctx->fh, &ev_src_ch);
}
@@ -202,7 +203,7 @@ static int mtk_vdec_flush_decoder(struct mtk_vcodec_ctx *ctx)
ret = vdec_if_decode(ctx, NULL, NULL, &res_chg);
if (ret)
- mtk_v4l2_err("DecodeFinal failed, ret=%d", ret);
+ mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret);
clean_display_buffer(ctx);
clean_free_buffer(ctx);
@@ -221,14 +222,14 @@ static void mtk_vdec_update_fmt(struct mtk_vcodec_ctx *ctx,
for (k = 0; k < num_supported_formats; k++) {
fmt = &mtk_video_formats[k];
if (fmt->fourcc == pixelformat) {
- mtk_v4l2_debug(1, "Update cap fourcc(%d -> %d)",
- dst_q_data->fmt->fourcc, pixelformat);
+ mtk_v4l2_vdec_dbg(1, ctx, "Update cap fourcc(%d -> %d)",
+ dst_q_data->fmt->fourcc, pixelformat);
dst_q_data->fmt = fmt;
return;
}
}
- mtk_v4l2_err("Cannot get fourcc(%d), using init value", pixelformat);
+ mtk_v4l2_vdec_err(ctx, "Cannot get fourcc(%d), using init value", pixelformat);
}
static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
@@ -238,7 +239,8 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO,
&ctx->last_decoded_picinfo)) {
- mtk_v4l2_err("[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR",
+ ctx->id);
return -EINVAL;
}
@@ -246,7 +248,7 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
ctx->last_decoded_picinfo.pic_h == 0 ||
ctx->last_decoded_picinfo.buf_w == 0 ||
ctx->last_decoded_picinfo.buf_h == 0) {
- mtk_v4l2_err("Cannot get correct pic info");
+ mtk_v4l2_vdec_err(ctx, "Cannot get correct pic info");
return -EINVAL;
}
@@ -258,15 +260,15 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
ctx->last_decoded_picinfo.pic_h == ctx->picinfo.pic_h)
return 0;
- mtk_v4l2_debug(1, "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", ctx->id,
- ctx->last_decoded_picinfo.pic_w,
- ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w,
- ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w,
- ctx->last_decoded_picinfo.buf_h);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", ctx->id,
+ ctx->last_decoded_picinfo.pic_w,
+ ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w,
+ ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w,
+ ctx->last_decoded_picinfo.buf_h);
ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize);
if (dpbsize == 0)
- mtk_v4l2_err("Incorrect dpb size, ret=%d", ret);
+ mtk_v4l2_vdec_err(ctx, "Incorrect dpb size, ret=%d", ret);
ctx->dpb_size = dpbsize;
@@ -288,14 +290,14 @@ static void mtk_vdec_worker(struct work_struct *work)
src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx);
if (!src_buf) {
v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx);
- mtk_v4l2_debug(1, "[%d] src_buf empty!!", ctx->id);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] src_buf empty!!", ctx->id);
return;
}
dst_buf = v4l2_m2m_next_dst_buf(ctx->m2m_ctx);
if (!dst_buf) {
v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx);
- mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id);
return;
}
@@ -313,15 +315,15 @@ static void mtk_vdec_worker(struct work_struct *work)
vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 1);
pfb->base_c.size = ctx->picinfo.fb_sz[1];
pfb->status = 0;
- mtk_v4l2_debug(3, "===>[%d] vdec_if_decode() ===>", ctx->id);
+ mtk_v4l2_vdec_dbg(3, ctx, "===>[%d] vdec_if_decode() ===>", ctx->id);
- mtk_v4l2_debug(3,
- "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx",
- dst_buf->vb2_buf.index, pfb, pfb->base_y.va,
- &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb->base_y.size);
+ mtk_v4l2_vdec_dbg(3, ctx,
+ "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx",
+ dst_buf->vb2_buf.index, pfb, pfb->base_y.va,
+ &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb->base_y.size);
if (src_buf == &ctx->empty_flush_buf.vb) {
- mtk_v4l2_debug(1, "Got empty flush input buffer.");
+ mtk_v4l2_vdec_dbg(1, ctx, "Got empty flush input buffer.");
src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx);
/* update dst buf status */
@@ -350,12 +352,12 @@ static void mtk_vdec_worker(struct work_struct *work)
buf.size = (size_t)src_buf->vb2_buf.planes[0].bytesused;
if (!buf.va) {
v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx);
- mtk_v4l2_err("[%d] id=%d src_addr is NULL!!", ctx->id,
- src_buf->vb2_buf.index);
+ mtk_v4l2_vdec_err(ctx, "[%d] id=%d src_addr is NULL!!", ctx->id,
+ src_buf->vb2_buf.index);
return;
}
- mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p",
- ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p",
+ ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf);
dst_buf->vb2_buf.timestamp = src_buf->vb2_buf.timestamp;
dst_buf->timecode = src_buf->timecode;
mutex_lock(&ctx->lock);
@@ -366,9 +368,10 @@ static void mtk_vdec_worker(struct work_struct *work)
ret = vdec_if_decode(ctx, &buf, pfb, &res_chg);
if (ret) {
- mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu dst_buf[%d] vdec_if_decode() ret=%d res_chg=%d===>",
- ctx->id, src_buf->vb2_buf.index, buf.size,
- src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, res_chg);
+ mtk_v4l2_vdec_err(ctx,
+ "[%d] decode src[%d] sz=0x%zx pts=%llu dst[%d] ret=%d res_chg=%d",
+ ctx->id, src_buf->vb2_buf.index, buf.size,
+ src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, res_chg);
src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx);
if (ret == -EIO) {
mutex_lock(&ctx->lock);
@@ -421,8 +424,8 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb)
struct vb2_v4l2_buffer *vb2_v4l2;
struct mtk_q_data *dst_q_data;
- mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id,
- vb->vb2_queue->type, vb->index, vb);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id,
+ vb->vb2_queue->type, vb->index, vb);
/*
* check if this buffer is ready to be used after decode
*/
@@ -448,20 +451,19 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb)
v4l2_m2m_buf_queue(ctx->m2m_ctx, to_vb2_v4l2_buffer(vb));
if (ctx->state != MTK_STATE_INIT) {
- mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id,
- ctx->state);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, ctx->state);
return;
}
src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx);
if (!src_buf) {
- mtk_v4l2_err("No src buffer");
+ mtk_v4l2_vdec_err(ctx, "No src buffer");
return;
}
if (src_buf == &ctx->empty_flush_buf.vb) {
/* This shouldn't happen. Just in case. */
- mtk_v4l2_err("Invalid flush buffer.");
+ mtk_v4l2_vdec_err(ctx, "Invalid flush buffer.");
v4l2_m2m_src_buf_remove(ctx->m2m_ctx);
return;
}
@@ -469,9 +471,8 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb)
src_mem.va = vb2_plane_vaddr(&src_buf->vb2_buf, 0);
src_mem.dma_addr = vb2_dma_contig_plane_dma_addr(&src_buf->vb2_buf, 0);
src_mem.size = (size_t)src_buf->vb2_buf.planes[0].bytesused;
- mtk_v4l2_debug(2, "[%d] buf id=%d va=%p dma=%pad size=%zx", ctx->id,
- src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr,
- src_mem.size);
+ mtk_v4l2_vdec_dbg(2, ctx, "[%d] buf id=%d va=%p dma=%pad size=%zx", ctx->id,
+ src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr, src_mem.size);
ret = vdec_if_decode(ctx, &src_mem, NULL, &res_chg);
if (ret || !res_chg) {
@@ -484,20 +485,22 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb)
src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx);
if (ret == -EIO) {
- mtk_v4l2_err("[%d] Unrecoverable error in vdec_if_decode.", ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d] Unrecoverable error in vdec_if_decode.",
+ ctx->id);
ctx->state = MTK_STATE_ABORT;
v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR);
} else {
v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
}
- mtk_v4l2_debug(ret ? 0 : 1,
- "[%d] vdec_if_decode() src_buf=%d, size=%zu, fail=%d, res_chg=%d",
- ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, res_chg);
+ mtk_v4l2_vdec_dbg(ret ? 0 : 1, ctx,
+ "[%d] decode() src_buf=%d, size=%zu, fail=%d, res_chg=%d",
+ ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, res_chg);
return;
}
if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo)) {
- mtk_v4l2_err("[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", ctx->id);
+ mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR",
+ ctx->id);
return;
}
@@ -508,17 +511,17 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb)
dst_q_data->bytesperline[i] = ctx->picinfo.buf_w;
}
- mtk_v4l2_debug(2, "[%d] vdec_if_init() OK wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x",
- ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx->picinfo.pic_w,
- ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data->sizeimage[1]);
+ mtk_v4l2_vdec_dbg(2, ctx, "[%d] init OK wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x",
+ ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx->picinfo.pic_w,
+ ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data->sizeimage[1]);
ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize);
if (dpbsize == 0)
- mtk_v4l2_err("[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, ret);
+ mtk_v4l2_vdec_err(ctx, "[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, ret);
ctx->dpb_size = dpbsize;
ctx->state = MTK_STATE_HEADER;
- mtk_v4l2_debug(1, "[%d] dpbsize=%d", ctx->id, ctx->dpb_size);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] dpbsize=%d", ctx->id, ctx->dpb_size);
mtk_vdec_queue_res_chg_event(ctx);
}
@@ -533,7 +536,7 @@ static int mtk_vdec_g_v_ctrl(struct v4l2_ctrl *ctrl)
if (ctx->state >= MTK_STATE_HEADER) {
ctrl->val = ctx->dpb_size;
} else {
- mtk_v4l2_debug(0, "Seqinfo not ready");
+ mtk_v4l2_vdec_dbg(0, ctx, "Seqinfo not ready");
ctrl->val = 0;
}
break;
@@ -570,7 +573,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx)
V4L2_MPEG_VIDEO_H264_PROFILE_MAIN);
if (ctx->ctrl_hdl.error) {
- mtk_v4l2_err("Adding control failed %d", ctx->ctrl_hdl.error);
+ mtk_v4l2_vdec_err(ctx, "Adding control failed %d", ctx->ctrl_hdl.error);
return ctx->ctrl_hdl.error;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
index db1e14a1bd6c..ffe05ff31dd1 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
@@ -232,10 +232,10 @@ static void mtk_vdec_stateless_cap_to_disp(struct mtk_vcodec_ctx *ctx, int error
vb2_dst = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx);
if (vb2_dst) {
v4l2_m2m_buf_done(vb2_dst, state);
- mtk_v4l2_debug(2, "free frame buffer id:%d to done list",
- vb2_dst->vb2_buf.index);
+ mtk_v4l2_vdec_dbg(2, ctx, "free frame buffer id:%d to done list",
+ vb2_dst->vb2_buf.index);
} else {
- mtk_v4l2_err("dst buffer is NULL");
+ mtk_v4l2_vdec_err(ctx, "dst buffer is NULL");
}
if (src_buf_req)
@@ -251,7 +251,7 @@ static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx)
vb2_v4l2 = v4l2_m2m_next_dst_buf(ctx->m2m_ctx);
if (!vb2_v4l2) {
- mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id);
return NULL;
}
@@ -269,9 +269,10 @@ static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx)
vb2_dma_contig_plane_dma_addr(dst_buf, 1);
pfb->base_c.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[1];
}
- mtk_v4l2_debug(1, "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx frame_count = %d",
- dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr,
- &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt);
+ mtk_v4l2_vdec_dbg(1, ctx,
+ "id=%d Framebuf pfb=%p VA=%p Y/C_DMA=%pad_%pad Sz=%zx frame_count = %d",
+ dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr,
+ &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt);
return pfb;
}
@@ -300,7 +301,7 @@ static void mtk_vdec_worker(struct work_struct *work)
vb2_v4l2_src = v4l2_m2m_next_src_buf(ctx->m2m_ctx);
if (!vb2_v4l2_src) {
v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx);
- mtk_v4l2_debug(1, "[%d] no available source buffer", ctx->id);
+ mtk_v4l2_vdec_dbg(1, ctx, "[%d] no available source buffer", ctx->id);
return;
}
@@ -309,33 +310,34 @@ static void mtk_vdec_worker(struct work_struct *work)
m2m_buf.vb);
bs_src = &dec_buf_src->bs_buffer;
- mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id,
- vb2_src->vb2_queue->type, vb2_src->index, vb2_src);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id,
+ vb2_src->vb2_queue->type, vb2_src->index, vb2_src);
bs_src->va = vb2_plane_vaddr(vb2_src, 0);
bs_src->dma_addr = vb2_dma_contig_plane_dma_addr(vb2_src, 0);
bs_src->size = (size_t)vb2_src->planes[0].bytesused;
if (!bs_src->va) {
v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx);
- mtk_v4l2_err("[%d] id=%d source buffer is NULL", ctx->id,
- vb2_src->index);
+ mtk_v4l2_vdec_err(ctx, "[%d] id=%d source buffer is NULL", ctx->id,
+ vb2_src->index);
return;
}
- mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p",
- ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p",
+ ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src);
/* Apply request controls. */
src_buf_req = vb2_src->req_obj.req;
if (src_buf_req)
v4l2_ctrl_request_setup(src_buf_req, &ctx->ctrl_hdl);
else
- mtk_v4l2_err("vb2 buffer media request is NULL");
+ mtk_v4l2_vdec_err(ctx, "vb2 buffer media request is NULL");
ret = vdec_if_decode(ctx, bs_src, NULL, &res_chg);
if (ret && ret != -EAGAIN) {
- mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu vdec_if_decode() ret=%d res_chg=%d===>",
- ctx->id, vb2_src->index, bs_src->size,
- vb2_src->timestamp, ret, res_chg);
+ mtk_v4l2_vdec_err(ctx,
+ "[%d] decode src_buf[%d] sz=0x%zx pts=%llu ret=%d res_chg=%d",
+ ctx->id, vb2_src->index, bs_src->size,
+ vb2_src->timestamp, ret, res_chg);
if (ret == -EIO) {
mutex_lock(&ctx->lock);
dec_buf_src->error = true;
@@ -363,7 +365,8 @@ static void vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb)
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
struct vb2_v4l2_buffer *vb2_v4l2 = to_vb2_v4l2_buffer(vb);
- mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, vb->vb2_queue->type, vb->index, vb);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, vb->vb2_queue->type,
+ vb->index, vb);
mutex_lock(&ctx->lock);
v4l2_m2m_buf_queue(ctx->m2m_ctx, vb2_v4l2);
@@ -374,9 +377,9 @@ static void vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb)
/* If an OUTPUT buffer, we may need to update the state */
if (ctx->state == MTK_STATE_INIT) {
ctx->state = MTK_STATE_HEADER;
- mtk_v4l2_debug(1, "Init driver from init to header.");
+ mtk_v4l2_vdec_dbg(1, ctx, "Init driver from init to header.");
} else {
- mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id, ctx->state);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, ctx->state);
}
}
@@ -393,7 +396,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx)
v4l2_ctrl_handler_init(&ctx->ctrl_hdl, NUM_CTRLS);
if (ctx->ctrl_hdl.error) {
- mtk_v4l2_err("v4l2_ctrl_handler_init failed\n");
+ mtk_v4l2_vdec_err(ctx, "v4l2_ctrl_handler_init failed\n");
return ctx->ctrl_hdl.error;
}
@@ -402,7 +405,8 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx)
v4l2_ctrl_new_custom(&ctx->ctrl_hdl, &cfg, NULL);
if (ctx->ctrl_hdl.error) {
- mtk_v4l2_err("Adding control %d failed %d", i, ctx->ctrl_hdl.error);
+ mtk_v4l2_vdec_err(ctx, "Adding control %d failed %d", i,
+ ctx->ctrl_hdl.error);
return ctx->ctrl_hdl.error;
}
}
@@ -421,11 +425,11 @@ static int fops_media_request_validate(struct media_request *mreq)
/* We expect exactly one buffer with the request */
break;
case 0:
- mtk_v4l2_debug(1, "No buffer provided with the request");
+ pr_debug("[MTK VCODEC] No buffer provided with the request");
return -ENOENT;
default:
- mtk_v4l2_debug(1, "Too many buffers (%d) provided with the request",
- buffer_cnt);
+ pr_debug("[MTK VCODEC] Too many buffers (%d) provided with the request",
+ buffer_cnt);
return -EINVAL;
}
@@ -470,13 +474,13 @@ static void mtk_vcodec_add_formats(unsigned int fourcc,
mtk_video_formats[count_formats].num_planes = 2;
break;
default:
- mtk_v4l2_err("Can not add unsupported format type");
+ mtk_v4l2_vdec_err(ctx, "Can not add unsupported format type");
return;
}
num_formats++;
- mtk_v4l2_debug(3, "num_formats: %d dec_capability: 0x%x",
- count_formats, ctx->dev->dec_capability);
+ mtk_v4l2_vdec_dbg(3, ctx, "num_formats: %d dec_capability: 0x%x",
+ count_formats, ctx->dev->dec_capability);
}
static void mtk_vcodec_get_supported_formats(struct mtk_vcodec_ctx *ctx)
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
index 9ff439a50f53..276da79d98e7 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
@@ -51,63 +51,53 @@ static int vidioc_venc_s_ctrl(struct v4l2_ctrl *ctrl)
switch (ctrl->id) {
case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE_MODE val= %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_BITRATE_MODE val= %d", ctrl->val);
if (ctrl->val != V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) {
- mtk_v4l2_err("Unsupported bitrate mode =%d", ctrl->val);
+ mtk_v4l2_venc_err(ctx, "Unsupported bitrate mode =%d", ctrl->val);
ret = -EINVAL;
}
break;
case V4L2_CID_MPEG_VIDEO_BITRATE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_BITRATE val = %d", ctrl->val);
p->bitrate = ctrl->val;
ctx->param_change |= MTK_ENCODE_PARAM_BITRATE;
break;
case V4L2_CID_MPEG_VIDEO_B_FRAMES:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_B_FRAMES val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_B_FRAMES val = %d", ctrl->val);
p->num_b_frame = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE val = %d",
+ ctrl->val);
p->rc_frame = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_H264_MAX_QP:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_MAX_QP val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_MAX_QP val = %d", ctrl->val);
p->h264_max_qp = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_HEADER_MODE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_HEADER_MODE val = %d", ctrl->val);
p->seq_hdr_mode = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE val = %d", ctrl->val);
p->rc_mb = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_PROFILE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_PROFILE val = %d", ctrl->val);
p->h264_profile = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_LEVEL val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_LEVEL val = %d", ctrl->val);
p->h264_level = ctrl->val;
break;
case V4L2_CID_MPEG_VIDEO_H264_I_PERIOD:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD val = %d", ctrl->val);
p->intra_period = ctrl->val;
ctx->param_change |= MTK_ENCODE_PARAM_INTRA_PERIOD;
break;
case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_GOP_SIZE val = %d",
- ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_GOP_SIZE val = %d", ctrl->val);
p->gop_size = ctrl->val;
ctx->param_change |= MTK_ENCODE_PARAM_GOP_SIZE;
break;
@@ -116,10 +106,10 @@ static int vidioc_venc_s_ctrl(struct v4l2_ctrl *ctrl)
* FIXME - what vp8 profiles are actually supported?
* The ctrl is added (with only profile 0 supported) for now.
*/
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_VP8_PROFILE val = %d", ctrl->val);
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_VP8_PROFILE val = %d", ctrl->val);
break;
case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME:
- mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME");
+ mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME");
p->force_intra = 1;
ctx->param_change |= MTK_ENCODE_PARAM_FORCE_INTRA;
break;
@@ -341,11 +331,12 @@ static int vidioc_try_fmt_out(struct mtk_vcodec_ctx *ctx, struct v4l2_format *f,
if (pix_fmt_mp->height < tmp_h && (pix_fmt_mp->height + 32) <= max_height)
pix_fmt_mp->height += 32;
- mtk_v4l2_debug(0, "before resize w=%d, h=%d, after resize w=%d, h=%d, sizeimage=%d %d",
- tmp_w, tmp_h, pix_fmt_mp->width,
- pix_fmt_mp->height,
- pix_fmt_mp->plane_fmt[0].sizeimage,
- pix_fmt_mp->plane_fmt[1].sizeimage);
+ mtk_v4l2_venc_dbg(0, ctx,
+ "before resize wxh=%dx%d, after resize wxh=%dx%d, sizeimage=%d %d",
+ tmp_w, tmp_h, pix_fmt_mp->width,
+ pix_fmt_mp->height,
+ pix_fmt_mp->plane_fmt[0].sizeimage,
+ pix_fmt_mp->plane_fmt[1].sizeimage);
pix_fmt_mp->num_planes = fmt->num_planes;
pix_fmt_mp->plane_fmt[0].sizeimage =
@@ -396,7 +387,7 @@ static void mtk_venc_set_param(struct mtk_vcodec_ctx *ctx,
param->input_yuv_fmt = VENC_YUV_FORMAT_NV21;
break;
default:
- mtk_v4l2_err("Unsupported fourcc =%d", q_data_src->fmt->fourcc);
+ mtk_v4l2_venc_err(ctx, "Unsupported fourcc =%d", q_data_src->fmt->fourcc);
break;
}
param->h264_profile = enc_params->h264_profile;
@@ -414,13 +405,13 @@ static void mtk_venc_set_param(struct mtk_vcodec_ctx *ctx,
param->gop_size = enc_params->gop_size;
param->bitrate = enc_params->bitrate;
- mtk_v4l2_debug(0,
- "fmt 0x%x, P/L %d/%d, w/h %d/%d, buf %d/%d, fps/bps %d/%d, gop %d, i_period %d",
- param->input_yuv_fmt, param->h264_profile,
- param->h264_level, param->width, param->height,
- param->buf_width, param->buf_height,
- param->frm_rate, param->bitrate,
- param->gop_size, param->intra_period);
+ mtk_v4l2_venc_dbg(0, ctx,
+ "fmt 0x%x, P/L %d/%d w/h %d/%d buf %d/%d fps/bps %d/%d gop %d i_per %d",
+ param->input_yuv_fmt, param->h264_profile,
+ param->h264_level, param->width, param->height,
+ param->buf_width, param->buf_height,
+ param->frm_rate, param->bitrate,
+ param->gop_size, param->intra_period);
}
static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
@@ -435,12 +426,12 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
if (!vq) {
- mtk_v4l2_err("fail to get vq");
+ mtk_v4l2_venc_err(ctx, "fail to get vq");
return -EINVAL;
}
if (vb2_is_busy(vq)) {
- mtk_v4l2_err("queue busy");
+ mtk_v4l2_venc_err(ctx, "queue busy");
return -EBUSY;
}
@@ -468,8 +459,8 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
if (ctx->state == MTK_STATE_FREE) {
ret = venc_if_init(ctx, q_data->fmt->fourcc);
if (ret) {
- mtk_v4l2_err("venc_if_init failed=%d, codec type=%x",
- ret, q_data->fmt->fourcc);
+ mtk_v4l2_venc_err(ctx, "venc_if_init failed=%d, codec type=%x",
+ ret, q_data->fmt->fourcc);
return -EBUSY;
}
ctx->state = MTK_STATE_INIT;
@@ -490,12 +481,12 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
if (!vq) {
- mtk_v4l2_err("fail to get vq");
+ mtk_v4l2_venc_err(ctx, "fail to get vq");
return -EINVAL;
}
if (vb2_is_busy(vq)) {
- mtk_v4l2_err("queue busy");
+ mtk_v4l2_venc_err(ctx, "queue busy");
return -EBUSY;
}
@@ -670,8 +661,8 @@ static int vidioc_venc_qbuf(struct file *file, void *priv,
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
if (ctx->state == MTK_STATE_ABORT) {
- mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error",
- ctx->id);
+ mtk_v4l2_venc_err(ctx, "[%d] Call on QBUF after unrecoverable error",
+ ctx->id);
return -EIO;
}
@@ -685,8 +676,8 @@ static int vidioc_venc_dqbuf(struct file *file, void *priv,
int ret;
if (ctx->state == MTK_STATE_ABORT) {
- mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error",
- ctx->id);
+ mtk_v4l2_venc_err(ctx, "[%d] Call on QBUF after unrecoverable error",
+ ctx->id);
return -EIO;
}
@@ -724,8 +715,8 @@ static int vidioc_encoder_cmd(struct file *file, void *priv,
int ret;
if (ctx->state == MTK_STATE_ABORT) {
- mtk_v4l2_err("[%d] Call to CMD after unrecoverable error",
- ctx->id);
+ mtk_v4l2_venc_err(ctx, "[%d] Call to CMD after unrecoverable error",
+ ctx->id);
return -EIO;
}
@@ -737,7 +728,7 @@ static int vidioc_encoder_cmd(struct file *file, void *priv,
if (ctx->is_flushing)
return -EBUSY;
- mtk_v4l2_debug(1, "encoder cmd=%u", cmd->cmd);
+ mtk_v4l2_venc_dbg(1, ctx, "encoder cmd=%u", cmd->cmd);
dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
@@ -746,11 +737,11 @@ static int vidioc_encoder_cmd(struct file *file, void *priv,
src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
if (!vb2_is_streaming(src_vq)) {
- mtk_v4l2_debug(1, "Output stream is off. No need to flush.");
+ mtk_v4l2_venc_dbg(1, ctx, "Output stream is off. No need to flush.");
return 0;
}
if (!vb2_is_streaming(dst_vq)) {
- mtk_v4l2_debug(1, "Capture stream is off. No need to flush.");
+ mtk_v4l2_venc_dbg(1, ctx, "Capture stream is off. No need to flush.");
return 0;
}
ctx->is_flushing = true;
@@ -841,9 +832,8 @@ static int vb2ops_venc_buf_prepare(struct vb2_buffer *vb)
for (i = 0; i < q_data->fmt->num_planes; i++) {
if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) {
- mtk_v4l2_err("data will not fit into plane %d (%lu < %d)",
- i, vb2_plane_size(vb, i),
- q_data->sizeimage[i]);
+ mtk_v4l2_venc_err(ctx, "data will not fit into plane %d (%lu < %d)",
+ i, vb2_plane_size(vb, i), q_data->sizeimage[i]);
return -EINVAL;
}
}
@@ -863,10 +853,8 @@ static void vb2ops_venc_buf_queue(struct vb2_buffer *vb)
if ((vb->vb2_queue->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) &&
(ctx->param_change != MTK_ENCODE_PARAM_NONE)) {
- mtk_v4l2_debug(1, "[%d] Before id=%d encode parameter change %x",
- ctx->id,
- vb2_v4l2->vb2_buf.index,
- ctx->param_change);
+ mtk_v4l2_venc_dbg(1, ctx, "[%d] Before id=%d encode parameter change %x",
+ ctx->id, vb2_v4l2->vb2_buf.index, ctx->param_change);
mtk_buf->param_change = ctx->param_change;
mtk_buf->enc_params = ctx->enc_params;
ctx->param_change = MTK_ENCODE_PARAM_NONE;
@@ -901,14 +889,14 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
ret = pm_runtime_resume_and_get(&ctx->dev->plat_dev->dev);
if (ret < 0) {
- mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret);
+ mtk_v4l2_venc_err(ctx, "pm_runtime_resume_and_get fail %d", ret);
goto err_start_stream;
}
mtk_venc_set_param(ctx, ¶m);
ret = venc_if_set_param(ctx, VENC_SET_PARAM_ENC, ¶m);
if (ret) {
- mtk_v4l2_err("venc_if_set_param failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_set_param failed=%d", ret);
ctx->state = MTK_STATE_ABORT;
goto err_set_param;
}
@@ -921,7 +909,7 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
VENC_SET_PARAM_PREPEND_HEADER,
NULL);
if (ret) {
- mtk_v4l2_err("venc_if_set_param failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_set_param failed=%d", ret);
ctx->state = MTK_STATE_ABORT;
goto err_set_param;
}
@@ -933,7 +921,7 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
err_set_param:
pm_ret = pm_runtime_put(&ctx->dev->plat_dev->dev);
if (pm_ret < 0)
- mtk_v4l2_err("pm_runtime_put fail %d", pm_ret);
+ mtk_v4l2_venc_err(ctx, "pm_runtime_put fail %d", pm_ret);
err_start_stream:
for (i = 0; i < q->num_buffers; ++i) {
@@ -944,9 +932,8 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
* can be marked as done.
*/
if (buf && buf->state == VB2_BUF_STATE_ACTIVE) {
- mtk_v4l2_debug(0, "[%d] id=%d, type=%d, %d -> VB2_BUF_STATE_QUEUED",
- ctx->id, i, q->type,
- (int)buf->state);
+ mtk_v4l2_venc_dbg(0, ctx, "[%d] id=%d, type=%d, %d->VB2_BUF_STATE_QUEUED",
+ ctx->id, i, q->type, (int)buf->state);
v4l2_m2m_buf_done(to_vb2_v4l2_buffer(buf),
VB2_BUF_STATE_QUEUED);
}
@@ -961,7 +948,7 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q)
struct vb2_v4l2_buffer *src_buf, *dst_buf;
int ret;
- mtk_v4l2_debug(2, "[%d]-> type=%d", ctx->id, q->type);
+ mtk_v4l2_venc_dbg(2, ctx, "[%d]-> type=%d", ctx->id, q->type);
if (q->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
while ((dst_buf = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx))) {
@@ -972,7 +959,7 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q)
if (ctx->is_flushing) {
struct v4l2_m2m_buffer *b, *n;
- mtk_v4l2_debug(1, "STREAMOFF called while flushing");
+ mtk_v4l2_venc_dbg(1, ctx, "STREAMOFF called while flushing");
/*
* STREAMOFF could be called before the flush buffer is
* dequeued. Check whether empty flush buf is still in
@@ -1006,21 +993,21 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q)
vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q)) ||
(q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE &&
vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q))) {
- mtk_v4l2_debug(1, "[%d]-> q type %d out=%d cap=%d",
- ctx->id, q->type,
- vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q),
- vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q));
+ mtk_v4l2_venc_dbg(1, ctx, "[%d]-> q type %d out=%d cap=%d",
+ ctx->id, q->type,
+ vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q),
+ vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q));
return;
}
/* Release the encoder if both streams are stopped. */
ret = venc_if_deinit(ctx);
if (ret)
- mtk_v4l2_err("venc_if_deinit failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_deinit failed=%d", ret);
ret = pm_runtime_put(&ctx->dev->plat_dev->dev);
if (ret < 0)
- mtk_v4l2_err("pm_runtime_put fail %d", ret);
+ mtk_v4l2_venc_err(ctx, "pm_runtime_put fail %d", ret);
ctx->state = MTK_STATE_FREE;
}
@@ -1054,7 +1041,7 @@ static int mtk_venc_encode_header(void *priv)
dst_buf = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx);
if (!dst_buf) {
- mtk_v4l2_debug(1, "No dst buffer");
+ mtk_v4l2_venc_dbg(1, ctx, "No dst buffer");
return -EINVAL;
}
@@ -1062,12 +1049,10 @@ static int mtk_venc_encode_header(void *priv)
bs_buf.dma_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0);
bs_buf.size = (size_t)dst_buf->vb2_buf.planes[0].length;
- mtk_v4l2_debug(1,
- "[%d] buf id=%d va=0x%p dma_addr=0x%llx size=%zu",
- ctx->id,
- dst_buf->vb2_buf.index, bs_buf.va,
- (u64)bs_buf.dma_addr,
- bs_buf.size);
+ mtk_v4l2_venc_dbg(1, ctx,
+ "[%d] buf id=%d va=0x%p dma_addr=0x%llx size=%zu",
+ ctx->id, dst_buf->vb2_buf.index, bs_buf.va,
+ (u64)bs_buf.dma_addr, bs_buf.size);
ret = venc_if_encode(ctx,
VENC_START_OPT_ENCODE_SEQUENCE_HEADER,
@@ -1077,7 +1062,7 @@ static int mtk_venc_encode_header(void *priv)
vb2_set_plane_payload(&dst_buf->vb2_buf, 0, 0);
ctx->state = MTK_STATE_ABORT;
v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_ERROR);
- mtk_v4l2_err("venc_if_encode failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_encode failed=%d", ret);
return -EINVAL;
}
src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx);
@@ -1085,7 +1070,7 @@ static int mtk_venc_encode_header(void *priv)
dst_buf->vb2_buf.timestamp = src_buf->vb2_buf.timestamp;
dst_buf->timecode = src_buf->timecode;
} else {
- mtk_v4l2_err("No timestamp for the header buffer.");
+ mtk_v4l2_venc_err(ctx, "No timestamp for the header buffer.");
}
ctx->state = MTK_STATE_HEADER;
@@ -1114,10 +1099,8 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx)
if (mtk_buf->param_change & MTK_ENCODE_PARAM_BITRATE) {
enc_prm.bitrate = mtk_buf->enc_params.bitrate;
- mtk_v4l2_debug(1, "[%d] id=%d, change param br=%d",
- ctx->id,
- vb2_v4l2->vb2_buf.index,
- enc_prm.bitrate);
+ mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param br=%d",
+ ctx->id, vb2_v4l2->vb2_buf.index, enc_prm.bitrate);
ret |= venc_if_set_param(ctx,
VENC_SET_PARAM_ADJUST_BITRATE,
&enc_prm);
@@ -1125,27 +1108,23 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx)
if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_FRAMERATE) {
enc_prm.frm_rate = mtk_buf->enc_params.framerate_num /
mtk_buf->enc_params.framerate_denom;
- mtk_v4l2_debug(1, "[%d] id=%d, change param fr=%d",
- ctx->id,
- vb2_v4l2->vb2_buf.index,
- enc_prm.frm_rate);
+ mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param fr=%d",
+ ctx->id, vb2_v4l2->vb2_buf.index, enc_prm.frm_rate);
ret |= venc_if_set_param(ctx,
VENC_SET_PARAM_ADJUST_FRAMERATE,
&enc_prm);
}
if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_GOP_SIZE) {
enc_prm.gop_size = mtk_buf->enc_params.gop_size;
- mtk_v4l2_debug(1, "change param intra period=%d",
- enc_prm.gop_size);
+ mtk_v4l2_venc_dbg(1, ctx, "change param intra period=%d", enc_prm.gop_size);
ret |= venc_if_set_param(ctx,
VENC_SET_PARAM_GOP_SIZE,
&enc_prm);
}
if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_FORCE_INTRA) {
- mtk_v4l2_debug(1, "[%d] id=%d, change param force I=%d",
- ctx->id,
- vb2_v4l2->vb2_buf.index,
- mtk_buf->enc_params.force_intra);
+ mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param force I=%d",
+ ctx->id, vb2_v4l2->vb2_buf.index,
+ mtk_buf->enc_params.force_intra);
if (mtk_buf->enc_params.force_intra)
ret |= venc_if_set_param(ctx,
VENC_SET_PARAM_FORCE_INTRA,
@@ -1156,8 +1135,8 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx)
if (ret) {
ctx->state = MTK_STATE_ABORT;
- mtk_v4l2_err("venc_if_set_param %d failed=%d",
- mtk_buf->param_change, ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_set_param %d failed=%d",
+ mtk_buf->param_change, ret);
return -1;
}
@@ -1218,14 +1197,11 @@ static void mtk_venc_worker(struct work_struct *work)
bs_buf.dma_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0);
bs_buf.size = (size_t)dst_buf->vb2_buf.planes[0].length;
- mtk_v4l2_debug(2,
- "Framebuf PA=%llx Size=0x%zx;PA=0x%llx Size=0x%zx;PA=0x%llx Size=%zu",
- (u64)frm_buf.fb_addr[0].dma_addr,
- frm_buf.fb_addr[0].size,
- (u64)frm_buf.fb_addr[1].dma_addr,
- frm_buf.fb_addr[1].size,
- (u64)frm_buf.fb_addr[2].dma_addr,
- frm_buf.fb_addr[2].size);
+ mtk_v4l2_venc_dbg(2, ctx,
+ "Framebuf PA=%llx Size=0x%zx;PA=0x%llx Size=0x%zx;PA=0x%llx Size=%zu",
+ (u64)frm_buf.fb_addr[0].dma_addr, frm_buf.fb_addr[0].size,
+ (u64)frm_buf.fb_addr[1].dma_addr, frm_buf.fb_addr[1].size,
+ (u64)frm_buf.fb_addr[2].dma_addr, frm_buf.fb_addr[2].size);
ret = venc_if_encode(ctx, VENC_START_OPT_ENCODE_FRAME,
&frm_buf, &bs_buf, &enc_result);
@@ -1240,20 +1216,19 @@ static void mtk_venc_worker(struct work_struct *work)
v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR);
vb2_set_plane_payload(&dst_buf->vb2_buf, 0, 0);
v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_ERROR);
- mtk_v4l2_err("venc_if_encode failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_encode failed=%d", ret);
} else {
v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
vb2_set_plane_payload(&dst_buf->vb2_buf, 0, enc_result.bs_size);
v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_DONE);
- mtk_v4l2_debug(2, "venc_if_encode bs size=%d",
- enc_result.bs_size);
+ mtk_v4l2_venc_dbg(2, ctx, "venc_if_encode bs size=%d",
+ enc_result.bs_size);
}
v4l2_m2m_job_finish(ctx->dev->m2m_dev_enc, ctx->m2m_ctx);
- mtk_v4l2_debug(1, "<=== src_buf[%d] dst_buf[%d] venc_if_encode ret=%d Size=%u===>",
- src_buf->vb2_buf.index, dst_buf->vb2_buf.index, ret,
- enc_result.bs_size);
+ mtk_v4l2_venc_dbg(1, ctx, "<=== src_buf[%d] dst_buf[%d] venc_if_encode ret=%d Size=%u===>",
+ src_buf->vb2_buf.index, dst_buf->vb2_buf.index, ret, enc_result.bs_size);
}
static void m2mops_venc_device_run(void *priv)
@@ -1277,8 +1252,7 @@ static int m2mops_venc_job_ready(void *m2m_priv)
struct mtk_vcodec_ctx *ctx = m2m_priv;
if (ctx->state == MTK_STATE_ABORT || ctx->state == MTK_STATE_FREE) {
- mtk_v4l2_debug(3, "[%d]Not ready: state=0x%x.",
- ctx->id, ctx->state);
+ mtk_v4l2_venc_dbg(3, ctx, "[%d]Not ready: state=0x%x.", ctx->id, ctx->state);
return 0;
}
@@ -1413,8 +1387,7 @@ int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx)
if (handler->error) {
- mtk_v4l2_err("Init control handler fail %d",
- handler->error);
+ mtk_v4l2_venc_err(ctx, "Init control handler fail %d", handler->error);
return handler->error;
}
@@ -1482,7 +1455,7 @@ void mtk_vcodec_enc_release(struct mtk_vcodec_ctx *ctx)
int ret = venc_if_deinit(ctx);
if (ret)
- mtk_v4l2_err("venc_if_deinit failed=%d", ret);
+ mtk_v4l2_venc_err(ctx, "venc_if_deinit failed=%d", ret);
ctx->state = MTK_STATE_FREE;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
index 0db81e150b18..cb1dcbcb16bb 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
@@ -97,12 +97,11 @@ static irqreturn_t mtk_vcodec_enc_irq_handler(int irq, void *priv)
core_id = dev->venc_pdata->core_id;
if (core_id < 0 || core_id >= NUM_MAX_VCODEC_REG_BASE) {
- mtk_v4l2_err("Invalid core id: %d, ctx id: %d",
- core_id, ctx->id);
+ mtk_v4l2_venc_err(ctx, "Invalid core id: %d, ctx id: %d", core_id, ctx->id);
return IRQ_HANDLED;
}
- mtk_v4l2_debug(1, "id: %d, core id: %d", ctx->id, core_id);
+ mtk_v4l2_venc_dbg(1, ctx, "id: %d, core id: %d", ctx->id, core_id);
addr = dev->reg_base[core_id] + MTK_VENC_IRQ_ACK_OFFSET;
@@ -143,16 +142,14 @@ static int fops_vcodec_open(struct file *file)
ctx->type = MTK_INST_ENCODER;
ret = mtk_vcodec_enc_ctrls_setup(ctx);
if (ret) {
- mtk_v4l2_err("Failed to setup controls() (%d)",
- ret);
+ mtk_v4l2_venc_err(ctx, "Failed to setup controls() (%d)", ret);
goto err_ctrls_setup;
}
ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_enc, ctx,
&mtk_vcodec_enc_queue_init);
if (IS_ERR((__force void *)ctx->m2m_ctx)) {
ret = PTR_ERR((__force void *)ctx->m2m_ctx);
- mtk_v4l2_err("Failed to v4l2_m2m_ctx_init() (%d)",
- ret);
+ mtk_v4l2_venc_err(ctx, "Failed to v4l2_m2m_ctx_init() (%d)", ret);
goto err_m2m_ctx_init;
}
src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
@@ -171,23 +168,23 @@ static int fops_vcodec_open(struct file *file)
* Return 0 if downloading firmware successfully,
* otherwise it is failed
*/
- mtk_v4l2_err("vpu_load_firmware failed!");
+ mtk_v4l2_venc_err(ctx, "vpu_load_firmware failed!");
goto err_load_fw;
}
dev->enc_capability =
mtk_vcodec_fw_get_venc_capa(dev->fw_handler);
- mtk_v4l2_debug(0, "encoder capability %x", dev->enc_capability);
+ mtk_v4l2_venc_dbg(0, ctx, "encoder capability %x", dev->enc_capability);
}
- mtk_v4l2_debug(2, "Create instance [%d]@%p m2m_ctx=%p ",
- ctx->id, ctx, ctx->m2m_ctx);
+ mtk_v4l2_venc_dbg(2, ctx, "Create instance [%d]@%p m2m_ctx=%p ",
+ ctx->id, ctx, ctx->m2m_ctx);
list_add(&ctx->list, &dev->ctx_list);
mutex_unlock(&dev->dev_mutex);
- mtk_v4l2_debug(0, "%s encoder [%d]", dev_name(&dev->plat_dev->dev),
- ctx->id);
+ mtk_v4l2_venc_dbg(0, ctx, "%s encoder [%d]", dev_name(&dev->plat_dev->dev),
+ ctx->id);
return ret;
/* Deinit when failure occurred */
@@ -209,7 +206,7 @@ static int fops_vcodec_release(struct file *file)
struct mtk_vcodec_dev *dev = video_drvdata(file);
struct mtk_vcodec_ctx *ctx = fh_to_ctx(file->private_data);
- mtk_v4l2_debug(1, "[%d] encoder", ctx->id);
+ mtk_v4l2_venc_dbg(1, ctx, "[%d] encoder", ctx->id);
mutex_lock(&dev->dev_mutex);
v4l2_m2m_ctx_release(ctx->m2m_ctx);
@@ -255,7 +252,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
&rproc_phandle)) {
fw_type = SCP;
} else {
- mtk_v4l2_err("Could not get venc IPI device");
+ dev_err(&pdev->dev, "[MTK VCODEC] Could not get venc IPI device");
return -ENODEV;
}
dma_set_max_seg_size(&pdev->dev, UINT_MAX);
@@ -267,7 +264,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
dev->venc_pdata = of_device_get_match_data(&pdev->dev);
ret = mtk_vcodec_init_enc_clk(dev);
if (ret < 0) {
- dev_err(&pdev->dev, "Failed to get mtk vcodec clock source!");
+ dev_err(&pdev->dev, "[MTK VCODEC] Failed to get mtk vcodec clock source!");
goto err_enc_pm;
}
@@ -292,7 +289,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
0, pdev->name, dev);
if (ret) {
dev_err(&pdev->dev,
- "Failed to install dev->enc_irq %d (%d) core_id (%d)",
+ "[MTK VCODEC] Failed to install dev->enc_irq %d (%d) core_id (%d)",
dev->enc_irq, ret, dev->venc_pdata->core_id);
ret = -EINVAL;
goto err_res;
@@ -307,14 +304,14 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev);
if (ret) {
- mtk_v4l2_err("v4l2_device_register err=%d", ret);
+ dev_err(&pdev->dev, "[MTK VCODEC] v4l2_device_register err=%d", ret);
goto err_res;
}
/* allocate video device for encoder and register it */
vfd_enc = video_device_alloc();
if (!vfd_enc) {
- mtk_v4l2_err("Failed to allocate video device");
+ dev_err(&pdev->dev, "[MTK VCODEC] Failed to allocate video device");
ret = -ENOMEM;
goto err_enc_alloc;
}
@@ -335,7 +332,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
dev->m2m_dev_enc = v4l2_m2m_init(&mtk_venc_m2m_ops);
if (IS_ERR((__force void *)dev->m2m_dev_enc)) {
- mtk_v4l2_err("Failed to init mem2mem enc device");
+ dev_err(&pdev->dev, "[MTK VCODEC] Failed to init mem2mem enc device");
ret = PTR_ERR((__force void *)dev->m2m_dev_enc);
goto err_enc_mem_init;
}
@@ -345,20 +342,20 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
WQ_MEM_RECLAIM |
WQ_FREEZABLE);
if (!dev->encode_workqueue) {
- mtk_v4l2_err("Failed to create encode workqueue");
+ dev_err(&pdev->dev, "[MTK VCODEC] Failed to create encode workqueue");
ret = -EINVAL;
goto err_event_workq;
}
ret = video_register_device(vfd_enc, VFL_TYPE_VIDEO, -1);
if (ret) {
- mtk_v4l2_err("Failed to register video device");
+ dev_err(&pdev->dev, "[MTK VCODEC] Failed to register video device");
goto err_enc_reg;
}
mtk_vcodec_dbgfs_init(dev, true);
- mtk_v4l2_debug(0, "encoder %d registered as /dev/video%d",
- dev->venc_pdata->core_id, vfd_enc->num);
+ dev_dbg(&pdev->dev, "[MTK VCODEC] encoder %d registered as /dev/video%d",
+ dev->venc_pdata->core_id, vfd_enc->num);
return 0;
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c
index 7055954eb2af..3165e114b221 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c
@@ -35,7 +35,7 @@ int mtk_vcodec_init_enc_clk(struct mtk_vcodec_dev *mtkdev)
if (!enc_clk->clk_info)
return -ENOMEM;
} else {
- mtk_v4l2_err("Failed to get venc clock count");
+ dev_err(pm->dev, "[MTK VCODEC] Failed to get venc clock count");
return -EINVAL;
}
@@ -44,13 +44,13 @@ int mtk_vcodec_init_enc_clk(struct mtk_vcodec_dev *mtkdev)
ret = of_property_read_string_index(pdev->dev.of_node,
"clock-names", i, &clk_info->clk_name);
if (ret) {
- mtk_v4l2_err("venc failed to get clk name %d", i);
+ dev_err(pm->dev, "[MTK VCODEC] venc failed to get clk name %d", i);
return ret;
}
clk_info->vcodec_clk = devm_clk_get(&pdev->dev,
clk_info->clk_name);
if (IS_ERR(clk_info->vcodec_clk)) {
- mtk_v4l2_err("venc devm_clk_get (%d)%s fail", i,
+ dev_err(pm->dev, "[MTK VCODEC] venc devm_clk_get (%d)%s fail", i,
clk_info->clk_name);
return PTR_ERR(clk_info->vcodec_clk);
}
@@ -67,7 +67,7 @@ void mtk_vcodec_enc_clock_on(struct mtk_vcodec_pm *pm)
for (i = 0; i < enc_clk->clk_num; i++) {
ret = clk_prepare_enable(enc_clk->clk_info[i].vcodec_clk);
if (ret) {
- mtk_v4l2_err("venc clk_prepare_enable %d %s fail %d", i,
+ dev_err(pm->dev, "[MTK VCODEC] venc clk_prepare_enable %d %s fail %d", i,
enc_clk->clk_info[i].clk_name, ret);
goto clkerr;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c
index be9159acacf8..623dd916d09e 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c
@@ -14,7 +14,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_select(void *priv, enum mtk_vcodec_fw_type t
case SCP:
return mtk_vcodec_fw_scp_init(priv, fw_use);
default:
- mtk_v4l2_err("invalid vcodec fw type");
+ pr_err("invalid vcodec fw type");
return ERR_PTR(-EINVAL);
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c
index 9a2472442c6f..71ff1a6ae872 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c
@@ -63,7 +63,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_scp_init(void *priv, enum mtk_vcodec_fw_use
plat_dev = dev->plat_dev;
scp = scp_get(plat_dev);
if (!scp) {
- mtk_v4l2_err("could not get vdec scp handle");
+ dev_err(&dev->plat_dev->dev, "could not get vdec scp handle");
return ERR_PTR(-EPROBE_DEFER);
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c
index 46a028031133..ee6846886dd6 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c
@@ -56,13 +56,12 @@ static void mtk_vcodec_vpu_reset_handler(void *priv)
struct mtk_vcodec_dev *dev = priv;
struct mtk_vcodec_ctx *ctx;
- mtk_v4l2_err("Watchdog timeout!!");
+ dev_err(&dev->plat_dev->dev, "Watchdog timeout!!");
mutex_lock(&dev->dev_mutex);
list_for_each_entry(ctx, &dev->ctx_list, list) {
ctx->state = MTK_STATE_ABORT;
- mtk_v4l2_debug(0, "[%d] Change to state MTK_STATE_ABORT",
- ctx->id);
+ mtk_v4l2_vdec_dbg(0, ctx, "[%d] Change to state MTK_STATE_ABORT", ctx->id);
}
mutex_unlock(&dev->dev_mutex);
}
@@ -98,7 +97,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_vpu_init(void *priv, enum mtk_vcodec_fw_use
plat_dev = dev->plat_dev;
fw_pdev = vpu_get_plat_device(plat_dev);
if (!fw_pdev) {
- mtk_v4l2_err("firmware device is not ready");
+ dev_err(&dev->plat_dev->dev, "firmware device is not ready");
return ERR_PTR(-EINVAL);
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c
index daa44f635727..5a06be55915b 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c
@@ -33,14 +33,14 @@ int mtk_vcodec_wait_for_done_ctx(void *priv, int command, unsigned int timeout_m
if (!ret) {
status = -1; /* timeout */
- mtk_v4l2_err("[%d] cmd=%d, type=%d, dec timeout=%ums (%d %d)",
- ctx_id, command, ctx_type, timeout_ms,
- ctx_int_cond[hw_id], ctx_int_type[hw_id]);
+ dev_err(&ctx->dev->plat_dev->dev, "[%d] cmd=%d, type=%d, dec timeout=%ums (%d %d)",
+ ctx_id, command, ctx_type, timeout_ms,
+ ctx_int_cond[hw_id], ctx_int_type[hw_id]);
} else if (-ERESTARTSYS == ret) {
status = -1;
- mtk_v4l2_err("[%d] cmd=%d, type=%d, dec inter fail (%d %d)",
- ctx_id, command, ctx_type,
- ctx_int_cond[hw_id], ctx_int_type[hw_id]);
+ dev_err(&ctx->dev->plat_dev->dev, "[%d] cmd=%d, type=%d, dec inter fail (%d %d)",
+ ctx_id, command, ctx_type,
+ ctx_int_cond[hw_id], ctx_int_type[hw_id]);
}
ctx_int_cond[hw_id] = 0;
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c
index 847e321f4fcc..4e524594df4a 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c
@@ -24,7 +24,7 @@ EXPORT_SYMBOL(mtk_v4l2_dbg_level);
void __iomem *mtk_vcodec_get_reg_addr(void __iomem **reg_base, unsigned int reg_idx)
{
if (reg_idx >= NUM_MAX_VCODEC_REG_BASE) {
- mtk_v4l2_err("Invalid arguments, reg_idx=%d", reg_idx);
+ pr_err("Invalid arguments, reg_idx=%d", reg_idx);
return NULL;
}
return reg_base[reg_idx];
@@ -39,15 +39,14 @@ int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem)
mem->va = dma_alloc_coherent(dev, size, &mem->dma_addr, GFP_KERNEL);
if (!mem->va) {
- mtk_v4l2_err("%s dma_alloc size=%ld failed!", dev_name(dev),
- size);
+ mtk_v4l2_vdec_err(ctx, "%s dma_alloc size=%ld failed!", dev_name(dev), size);
return -ENOMEM;
}
- mtk_v4l2_debug(3, "[%d] - va = %p", ctx->id, mem->va);
- mtk_v4l2_debug(3, "[%d] - dma = 0x%lx", ctx->id,
- (unsigned long)mem->dma_addr);
- mtk_v4l2_debug(3, "[%d] size = 0x%lx", ctx->id, size);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] - va = %p", ctx->id, mem->va);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] - dma = 0x%lx", ctx->id,
+ (unsigned long)mem->dma_addr);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] size = 0x%lx", ctx->id, size);
return 0;
}
@@ -60,15 +59,14 @@ void mtk_vcodec_mem_free(void *priv, struct mtk_vcodec_mem *mem)
struct device *dev = &ctx->dev->plat_dev->dev;
if (!mem->va) {
- mtk_v4l2_err("%s dma_free size=%ld failed!", dev_name(dev),
- size);
+ mtk_v4l2_vdec_err(ctx, "%s dma_free size=%ld failed!", dev_name(dev), size);
return;
}
- mtk_v4l2_debug(3, "[%d] - va = %p", ctx->id, mem->va);
- mtk_v4l2_debug(3, "[%d] - dma = 0x%lx", ctx->id,
- (unsigned long)mem->dma_addr);
- mtk_v4l2_debug(3, "[%d] size = 0x%lx", ctx->id, size);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] - va = %p", ctx->id, mem->va);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] - dma = 0x%lx", ctx->id,
+ (unsigned long)mem->dma_addr);
+ mtk_v4l2_vdec_dbg(3, ctx, "[%d] size = 0x%lx", ctx->id, size);
dma_free_coherent(dev, size, mem->va, mem->dma_addr);
mem->va = NULL;
@@ -80,7 +78,7 @@ EXPORT_SYMBOL(mtk_vcodec_mem_free);
void *mtk_vcodec_get_hw_dev(struct mtk_vcodec_dev *dev, int hw_idx)
{
if (hw_idx >= MTK_VDEC_HW_MAX || hw_idx < 0 || !dev->subdev_dev[hw_idx]) {
- mtk_v4l2_err("hw idx is out of range:%d", hw_idx);
+ dev_err(&dev->plat_dev->dev, "hw idx is out of range:%d", hw_idx);
return NULL;
}
@@ -98,7 +96,7 @@ void mtk_vcodec_set_curr_ctx(struct mtk_vcodec_dev *vdec_dev,
if (vdec_dev->vdec_pdata->is_subdev_supported) {
subdev_dev = mtk_vcodec_get_hw_dev(vdec_dev, hw_idx);
if (!subdev_dev) {
- mtk_v4l2_err("Failed to get hw dev");
+ dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev");
spin_unlock_irqrestore(&vdec_dev->irqlock, flags);
return;
}
@@ -121,7 +119,7 @@ struct mtk_vcodec_ctx *mtk_vcodec_get_curr_ctx(struct mtk_vcodec_dev *vdec_dev,
if (vdec_dev->vdec_pdata->is_subdev_supported) {
subdev_dev = mtk_vcodec_get_hw_dev(vdec_dev, hw_idx);
if (!subdev_dev) {
- mtk_v4l2_err("Failed to get hw dev");
+ dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev");
spin_unlock_irqrestore(&vdec_dev->irqlock, flags);
return NULL;
}
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h
index a684a7e4ab6e..e68323ce8eeb 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h
@@ -28,8 +28,8 @@ struct mtk_vcodec_dev;
#undef pr_fmt
#define pr_fmt(fmt) "%s(),%d: " fmt, __func__, __LINE__
-#define mtk_v4l2_err(fmt, args...) \
- pr_err("[MTK_V4L2][ERROR] " fmt "\n", ##args)
+#define mtk_v4l2_err(plat_dev, fmt, args...) \
+ dev_err(&(plat_dev)->dev, "[MTK_V4L2][ERROR] " fmt "\n", ##args)
#define mtk_vcodec_err(inst_id, plat_dev, fmt, args...) \
dev_err(&(plat_dev)->dev, "[MTK_VCODEC][ERROR][%d]: " fmt "\n", inst_id, ##args)
@@ -38,11 +38,11 @@ struct mtk_vcodec_dev;
extern int mtk_v4l2_dbg_level;
extern int mtk_vcodec_dbg;
-#define mtk_v4l2_debug(level, fmt, args...) \
- do { \
- if (mtk_v4l2_dbg_level >= (level)) \
- pr_debug("[MTK_V4L2] %s, %d: " fmt "\n", \
- __func__, __LINE__, ##args); \
+#define mtk_v4l2_debug(plat_dev, level, fmt, args...) \
+ do { \
+ if (mtk_v4l2_dbg_level >= (level)) \
+ dev_dbg(&(plat_dev)->dev, "[MTK_V4L2] %s, %d: " fmt "\n", \
+ __func__, __LINE__, ##args); \
} while (0)
#define mtk_vcodec_debug(inst_id, plat_dev, fmt, args...) \
@@ -70,6 +70,16 @@ extern int mtk_vcodec_dbg;
#define mtk_venc_debug(ctx, fmt, args...) \
mtk_vcodec_debug((ctx)->id, (ctx)->dev->plat_dev, fmt, ##args)
+#define mtk_v4l2_vdec_err(ctx, fmt, args...) mtk_v4l2_err((ctx)->dev->plat_dev, fmt, ##args)
+
+#define mtk_v4l2_vdec_dbg(level, ctx, fmt, args...) \
+ mtk_v4l2_debug((ctx)->dev->plat_dev, level, fmt, ##args)
+
+#define mtk_v4l2_venc_err(ctx, fmt, args...) mtk_v4l2_err((ctx)->dev->plat_dev, fmt, ##args)
+
+#define mtk_v4l2_venc_dbg(level, ctx, fmt, args...) \
+ mtk_v4l2_debug((ctx)->dev->plat_dev, level, fmt, ##args)
+
void __iomem *mtk_vcodec_get_reg_addr(void __iomem **reg_base, unsigned int reg_idx);
int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem);
void mtk_vcodec_mem_free(void *priv, struct mtk_vcodec_mem *mem);
diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c
index dfed8fe7f54c..fcfc673ca58b 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c
@@ -861,8 +861,8 @@ static void vdec_av1_slice_decrease_ref_count(struct vdec_av1_slice_slot *slots,
frame_info[fb_idx].ref_count--;
if (frame_info[fb_idx].ref_count < 0) {
frame_info[fb_idx].ref_count = 0;
- mtk_v4l2_err("av1_error: %s() fb_idx %d decrease ref_count error\n",
- __func__, fb_idx);
+ pr_err("av1_error: %s() fb_idx %d decrease ref_count error\n",
+ __func__, fb_idx);
}
vdec_av1_slice_clear_fb(&frame_info[fb_idx]);
@@ -910,7 +910,7 @@ static void vdec_av1_slice_setup_slot(struct vdec_av1_slice_instance *instance,
vsi->slot_id = vdec_av1_slice_get_new_slot(vsi);
if (vsi->slot_id == AV1_INVALID_IDX) {
- mtk_v4l2_err("warning:av1 get invalid index slot\n");
+ mtk_v4l2_vdec_err(instance->ctx, "warning:av1 get invalid index slot\n");
vsi->slot_id = 0;
}
cur_frame_info = &vsi->slots.frame_info[vsi->slot_id];
@@ -1504,8 +1504,8 @@ static void vdec_av1_slice_setup_ref(struct vdec_av1_slice_pfc *pfc,
slot_id = frame->ref_frame_map[ref_idx];
frame_info = &slots->frame_info[slot_id];
if (slot_id == AV1_INVALID_IDX) {
- mtk_v4l2_err("cannot match reference[%d] 0x%llx\n", i,
- ctrl_fh->reference_frame_ts[ref_idx]);
+ pr_err("cannot match reference[%d] 0x%llx\n", i,
+ ctrl_fh->reference_frame_ts[ref_idx]);
frame->order_hints[i] = 0;
frame->ref_frame_valid[i] = 0;
continue;
diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
index 250746db366b..bdff1d2feb1c 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
@@ -187,7 +187,7 @@ static int alloc_mv_buf(struct vdec_h264_slice_inst *inst,
struct mtk_vcodec_mem *mem = NULL;
unsigned int buf_sz = mtk_vdec_h264_get_mv_buf_size(pic->buf_w, pic->buf_h);
- mtk_v4l2_debug(3, "size = 0x%x", buf_sz);
+ mtk_v4l2_vdec_dbg(3, inst->ctx, "size = 0x%x", buf_sz);
for (i = 0; i < H264_MAX_MV_NUM; i++) {
mem = &inst->mv_buf[i];
if (mem->va)
@@ -243,12 +243,12 @@ static void get_pic_info(struct vdec_h264_slice_inst *inst,
ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h)
inst->vsi_ctx.dec.realloc_mv_buf = true;
- mtk_v4l2_debug(1, "ResChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
- inst->vsi_ctx.dec.resolution_changed,
- inst->vsi_ctx.dec.realloc_mv_buf,
- ctx->last_decoded_picinfo.pic_w,
- ctx->last_decoded_picinfo.pic_h,
- ctx->picinfo.pic_w, ctx->picinfo.pic_h);
+ mtk_v4l2_vdec_dbg(1, inst->ctx, "ResChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
+ inst->vsi_ctx.dec.resolution_changed,
+ inst->vsi_ctx.dec.realloc_mv_buf,
+ ctx->last_decoded_picinfo.pic_w,
+ ctx->last_decoded_picinfo.pic_h,
+ ctx->picinfo.pic_w, ctx->picinfo.pic_h);
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c
index 2a160dcb5296..1c2389e63e4c 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c
@@ -294,7 +294,7 @@ static void vdec_h264_slice_fill_decode_reflist(struct vdec_h264_slice_inst *ins
mtk_vdec_h264_fill_dpb_info(inst->ctx, &slice_param->decode_params,
slice_param->h264_dpb_info);
- mtk_v4l2_debug(3, "cur poc = %d\n", dec_params->bottom_field_order_cnt);
+ mtk_v4l2_vdec_dbg(3, inst->ctx, "cur poc = %d\n", dec_params->bottom_field_order_cnt);
/* Build the reference lists */
v4l2_h264_init_reflist_builder(&reflist_builder, dec_params, sps,
inst->dpb);
@@ -314,7 +314,7 @@ static int vdec_h264_slice_alloc_mv_buf(struct vdec_h264_slice_inst *inst,
struct mtk_vcodec_mem *mem;
int i, err;
- mtk_v4l2_debug(3, "size = 0x%x", buf_sz);
+ mtk_v4l2_vdec_dbg(3, inst->ctx, "size = 0x%x", buf_sz);
for (i = 0; i < H264_MAX_MV_NUM; i++) {
mem = &inst->mv_buf[i];
if (mem->va)
@@ -372,12 +372,12 @@ static void vdec_h264_slice_get_pic_info(struct vdec_h264_slice_inst *inst)
ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h)
inst->realloc_mv_buf = true;
- mtk_v4l2_debug(1, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
- inst->resolution_changed,
- inst->realloc_mv_buf,
- ctx->last_decoded_picinfo.pic_w,
- ctx->last_decoded_picinfo.pic_h,
- ctx->picinfo.pic_w, ctx->picinfo.pic_h);
+ mtk_v4l2_vdec_dbg(1, inst->ctx, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
+ inst->resolution_changed,
+ inst->realloc_mv_buf,
+ ctx->last_decoded_picinfo.pic_w,
+ ctx->last_decoded_picinfo.pic_h,
+ ctx->picinfo.pic_w, ctx->picinfo.pic_h);
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c
index 5a864bcfe7ba..aa32b7cbf6f1 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c
@@ -649,7 +649,7 @@ static int vdec_hevc_slice_alloc_mv_buf(struct vdec_hevc_slice_inst *inst,
struct mtk_vcodec_mem *mem;
int i, err;
- mtk_v4l2_debug(3, "allocate mv buffer size = 0x%x", buf_sz);
+ mtk_v4l2_vdec_dbg(3, inst->ctx, "allocate mv buffer size = 0x%x", buf_sz);
for (i = 0; i < HEVC_MAX_MV_NUM; i++) {
mem = &inst->mv_buf[i];
if (mem->va)
@@ -707,12 +707,12 @@ static void vdec_hevc_slice_get_pic_info(struct vdec_hevc_slice_inst *inst)
ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h)
inst->realloc_mv_buf = true;
- mtk_v4l2_debug(1, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
- inst->resolution_changed,
- inst->realloc_mv_buf,
- ctx->last_decoded_picinfo.pic_w,
- ctx->last_decoded_picinfo.pic_h,
- ctx->picinfo.pic_w, ctx->picinfo.pic_h);
+ mtk_v4l2_vdec_dbg(1, inst->ctx, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)",
+ inst->resolution_changed,
+ inst->realloc_mv_buf,
+ ctx->last_decoded_picinfo.pic_w,
+ ctx->last_decoded_picinfo.pic_h,
+ ctx->picinfo.pic_w, ctx->picinfo.pic_h);
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c b/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c
index 06d393174cc2..e66faf50892b 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c
@@ -75,7 +75,7 @@ int vdec_if_decode(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_mem *bs,
if (bs) {
if ((bs->dma_addr & 63) != 0) {
- mtk_v4l2_err("bs dma_addr should 64 byte align");
+ mtk_v4l2_vdec_err(ctx, "bs dma_addr should 64 byte align");
return -EINVAL;
}
}
@@ -83,7 +83,7 @@ int vdec_if_decode(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_mem *bs,
if (fb) {
if (((fb->base_y.dma_addr & 511) != 0) ||
((fb->base_c.dma_addr & 511) != 0)) {
- mtk_v4l2_err("frame buffer dma_addr should 512 byte align");
+ mtk_v4l2_vdec_err(ctx, "frame buffer dma_addr should 512 byte align");
return -EINVAL;
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c
index f555341ae708..1b2d01b15032 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c
@@ -77,7 +77,7 @@ int vdec_msg_queue_qbuf(struct vdec_msg_queue_ctx *msg_ctx, struct vdec_lat_buf
head = vdec_get_buf_list(msg_ctx->hardware_index, buf);
if (!head) {
- mtk_v4l2_err("fail to qbuf: %d", msg_ctx->hardware_index);
+ mtk_v4l2_vdec_err(buf->ctx, "fail to qbuf: %d", msg_ctx->hardware_index);
return -EINVAL;
}
@@ -95,8 +95,8 @@ int vdec_msg_queue_qbuf(struct vdec_msg_queue_ctx *msg_ctx, struct vdec_lat_buf
}
}
- mtk_v4l2_debug(3, "enqueue buf type: %d addr: 0x%p num: %d",
- msg_ctx->hardware_index, buf, msg_ctx->ready_num);
+ mtk_v4l2_vdec_dbg(3, buf->ctx, "enqueue buf type: %d addr: 0x%p num: %d",
+ msg_ctx->hardware_index, buf, msg_ctx->ready_num);
spin_unlock(&msg_ctx->ready_lock);
return 0;
@@ -123,8 +123,6 @@ struct vdec_lat_buf *vdec_msg_queue_dqbuf(struct vdec_msg_queue_ctx *msg_ctx)
spin_lock(&msg_ctx->ready_lock);
if (list_empty(&msg_ctx->ready_queue)) {
- mtk_v4l2_debug(3, "queue is NULL, type:%d num: %d",
- msg_ctx->hardware_index, msg_ctx->ready_num);
spin_unlock(&msg_ctx->ready_lock);
if (msg_ctx->hardware_index == MTK_VDEC_CORE)
@@ -146,15 +144,15 @@ struct vdec_lat_buf *vdec_msg_queue_dqbuf(struct vdec_msg_queue_ctx *msg_ctx)
head = vdec_get_buf_list(msg_ctx->hardware_index, buf);
if (!head) {
spin_unlock(&msg_ctx->ready_lock);
- mtk_v4l2_err("fail to dqbuf: %d", msg_ctx->hardware_index);
+ mtk_v4l2_vdec_err(buf->ctx, "fail to dqbuf: %d", msg_ctx->hardware_index);
return NULL;
}
list_del(head);
vdec_msg_queue_dec(&buf->ctx->msg_queue, msg_ctx->hardware_index);
msg_ctx->ready_num--;
- mtk_v4l2_debug(3, "dqueue buf type:%d addr: 0x%p num: %d",
- msg_ctx->hardware_index, buf, msg_ctx->ready_num);
+ mtk_v4l2_vdec_dbg(3, buf->ctx, "dqueue buf type:%d addr: 0x%p num: %d",
+ msg_ctx->hardware_index, buf, msg_ctx->ready_num);
spin_unlock(&msg_ctx->ready_lock);
return buf;
@@ -164,7 +162,7 @@ void vdec_msg_queue_update_ube_rptr(struct vdec_msg_queue *msg_queue, uint64_t u
{
spin_lock(&msg_queue->lat_ctx.ready_lock);
msg_queue->wdma_rptr_addr = ube_rptr;
- mtk_v4l2_debug(3, "update ube rprt (0x%llx)", ube_rptr);
+ mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "update ube rprt (0x%llx)", ube_rptr);
spin_unlock(&msg_queue->lat_ctx.ready_lock);
}
@@ -172,20 +170,19 @@ void vdec_msg_queue_update_ube_wptr(struct vdec_msg_queue *msg_queue, uint64_t u
{
spin_lock(&msg_queue->lat_ctx.ready_lock);
msg_queue->wdma_wptr_addr = ube_wptr;
- mtk_v4l2_debug(3, "update ube wprt: (0x%llx 0x%llx) offset: 0x%llx",
- msg_queue->wdma_rptr_addr, msg_queue->wdma_wptr_addr,
- ube_wptr);
+ mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "update ube wprt: (0x%llx 0x%llx) offset: 0x%llx",
+ msg_queue->wdma_rptr_addr, msg_queue->wdma_wptr_addr,
+ ube_wptr);
spin_unlock(&msg_queue->lat_ctx.ready_lock);
}
bool vdec_msg_queue_wait_lat_buf_full(struct vdec_msg_queue *msg_queue)
{
if (atomic_read(&msg_queue->lat_list_cnt) == NUM_BUFFER_COUNT) {
- mtk_v4l2_debug(3, "wait buf full: list(%d %d) ready_num:%d status:%d",
- atomic_read(&msg_queue->lat_list_cnt),
- atomic_read(&msg_queue->core_list_cnt),
- msg_queue->lat_ctx.ready_num,
- msg_queue->status);
+ mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "wait buf full: (%d %d) ready:%d status:%d",
+ atomic_read(&msg_queue->lat_list_cnt),
+ atomic_read(&msg_queue->core_list_cnt),
+ msg_queue->lat_ctx.ready_num, msg_queue->status);
return true;
}
@@ -193,10 +190,10 @@ bool vdec_msg_queue_wait_lat_buf_full(struct vdec_msg_queue *msg_queue)
vdec_msg_queue_qbuf(&msg_queue->core_ctx, &msg_queue->empty_lat_buf);
wait_event(msg_queue->core_dec_done, msg_queue->flush_done);
- mtk_v4l2_debug(3, "flush done => ready_num:%d status:%d list(%d %d)",
- msg_queue->lat_ctx.ready_num, msg_queue->status,
- atomic_read(&msg_queue->lat_list_cnt),
- atomic_read(&msg_queue->core_list_cnt));
+ mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "flush done => ready_num:%d status:%d list(%d %d)",
+ msg_queue->lat_ctx.ready_num, msg_queue->status,
+ atomic_read(&msg_queue->lat_list_cnt),
+ atomic_read(&msg_queue->core_list_cnt));
return false;
}
@@ -305,7 +302,7 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue,
ctx->picinfo.buf_h);
err = mtk_vcodec_mem_alloc(ctx, &msg_queue->wdma_addr);
if (err) {
- mtk_v4l2_err("failed to allocate wdma_addr buf");
+ mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_addr buf");
return -ENOMEM;
}
msg_queue->wdma_rptr_addr = msg_queue->wdma_addr.dma_addr;
@@ -315,20 +312,21 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue,
msg_queue->empty_lat_buf.core_decode = NULL;
msg_queue->empty_lat_buf.is_last_frame = true;
+ msg_queue->ctx = ctx;
for (i = 0; i < NUM_BUFFER_COUNT; i++) {
lat_buf = &msg_queue->lat_buf[i];
lat_buf->wdma_err_addr.size = VDEC_ERR_MAP_SZ_AVC;
err = mtk_vcodec_mem_alloc(ctx, &lat_buf->wdma_err_addr);
if (err) {
- mtk_v4l2_err("failed to allocate wdma_err_addr buf[%d]", i);
+ mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_err_addr buf[%d]", i);
goto mem_alloc_err;
}
lat_buf->slice_bc_addr.size = VDEC_LAT_SLICE_HEADER_SZ;
err = mtk_vcodec_mem_alloc(ctx, &lat_buf->slice_bc_addr);
if (err) {
- mtk_v4l2_err("failed to allocate wdma_addr buf[%d]", i);
+ mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_addr buf[%d]", i);
goto mem_alloc_err;
}
@@ -336,14 +334,14 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue,
lat_buf->rd_mv_addr.size = VDEC_RD_MV_BUFFER_SZ;
err = mtk_vcodec_mem_alloc(ctx, &lat_buf->rd_mv_addr);
if (err) {
- mtk_v4l2_err("failed to allocate rd_mv_addr buf[%d]", i);
+ mtk_v4l2_vdec_err(ctx, "failed to allocate rd_mv_addr buf[%d]", i);
return -ENOMEM;
}
lat_buf->tile_addr.size = VDEC_LAT_TILE_SZ;
err = mtk_vcodec_mem_alloc(ctx, &lat_buf->tile_addr);
if (err) {
- mtk_v4l2_err("failed to allocate tile_addr buf[%d]", i);
+ mtk_v4l2_vdec_err(ctx, "failed to allocate tile_addr buf[%d]", i);
return -ENOMEM;
}
}
@@ -359,7 +357,7 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue,
lat_buf->is_last_frame = false;
err = vdec_msg_queue_qbuf(&msg_queue->lat_ctx, lat_buf);
if (err) {
- mtk_v4l2_err("failed to qbuf buf[%d]", i);
+ mtk_v4l2_vdec_err(ctx, "failed to qbuf buf[%d]", i);
goto mem_alloc_err;
}
}
diff --git a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h
index 2a745e902ad1..2f82cc08caa3 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h
+++ b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h
@@ -100,6 +100,7 @@ struct vdec_lat_buf {
* @empty_lat_buf: the last lat buf used to flush decode
* @core_dec_done: core work queue decode done event
* @status: current context decode status for core hardware
+ * @ctx: mtk vcodec context information
*/
struct vdec_msg_queue {
struct vdec_lat_buf lat_buf[NUM_BUFFER_COUNT];
@@ -118,6 +119,7 @@ struct vdec_msg_queue {
struct vdec_lat_buf empty_lat_buf;
wait_queue_head_t core_dec_done;
int status;
+ struct mtk_vcodec_ctx *ctx;
};
/**
diff --git a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
index ab15ee6e2005..d82391411ba1 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
@@ -91,7 +91,7 @@ static void vpu_dec_ipi_handler(void *data, unsigned int len, void *priv)
(unsigned long)msg->ap_inst_addr;
if (!vpu) {
- mtk_v4l2_err("ap_inst_addr is NULL, did the SCP hang or crash?");
+ mtk_v4l2_vdec_err(vpu->ctx, "ap_inst_addr is NULL, did the SCP hang or crash?");
return;
}
--
2.18.0
Le lundi 26 juin 2023 à 11:53 +0800, Yunfei Dong a écrit : > Adding different macro mtk_v4l2_vdec_dbg and mtk_v4l2_venc_dbg for > encoder and decoder. Then calling the common marco mtk_v4l2_debug to > print debug message. > > Replace pr_err with dev_err for 'mtk_v4l2_err' debug message. > Replace pr_debug with dev_dbg for 'mtk_v4l2_debug' debug message. > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > --- > .../platform/mediatek/vcodec/mtk_vcodec_dec.c | 116 +++++----- > .../mediatek/vcodec/mtk_vcodec_dec_drv.c | 53 ++--- > .../mediatek/vcodec/mtk_vcodec_dec_hw.c | 7 +- > .../mediatek/vcodec/mtk_vcodec_dec_pm.c | 19 +- > .../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 143 ++++++------ > .../vcodec/mtk_vcodec_dec_stateless.c | 62 ++--- > .../platform/mediatek/vcodec/mtk_vcodec_enc.c | 211 ++++++++---------- > .../mediatek/vcodec/mtk_vcodec_enc_drv.c | 45 ++-- > .../mediatek/vcodec/mtk_vcodec_enc_pm.c | 8 +- > .../platform/mediatek/vcodec/mtk_vcodec_fw.c | 2 +- > .../mediatek/vcodec/mtk_vcodec_fw_scp.c | 2 +- > .../mediatek/vcodec/mtk_vcodec_fw_vpu.c | 7 +- > .../mediatek/vcodec/mtk_vcodec_intr.c | 12 +- > .../mediatek/vcodec/mtk_vcodec_util.c | 30 ++- > .../mediatek/vcodec/mtk_vcodec_util.h | 24 +- > .../vcodec/vdec/vdec_av1_req_lat_if.c | 10 +- > .../mediatek/vcodec/vdec/vdec_h264_req_if.c | 14 +- > .../vcodec/vdec/vdec_h264_req_multi_if.c | 16 +- > .../vcodec/vdec/vdec_hevc_req_multi_if.c | 14 +- > .../platform/mediatek/vcodec/vdec_drv_if.c | 4 +- > .../platform/mediatek/vcodec/vdec_msg_queue.c | 52 +++-- > .../platform/mediatek/vcodec/vdec_msg_queue.h | 2 + > .../platform/mediatek/vcodec/vdec_vpu_if.c | 2 +- > 23 files changed, 413 insertions(+), 442 deletions(-) > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > index 93fcea821001..269f90fe0a1a 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > @@ -82,7 +82,7 @@ static int vidioc_decoder_cmd(struct file *file, void *priv, > if (ret) > return ret; > > - mtk_v4l2_debug(1, "decoder cmd=%u", cmd->cmd); > + mtk_v4l2_vdec_dbg(1, ctx, "decoder cmd=%u", cmd->cmd); > dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); > switch (cmd->cmd) { > @@ -90,11 +90,11 @@ static int vidioc_decoder_cmd(struct file *file, void *priv, > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE); > if (!vb2_is_streaming(src_vq)) { > - mtk_v4l2_debug(1, "Output stream is off. No need to flush."); > + mtk_v4l2_vdec_dbg(1, ctx, "Output stream is off. No need to flush."); > return 0; > } > if (!vb2_is_streaming(dst_vq)) { > - mtk_v4l2_debug(1, "Capture stream is off. No need to flush."); > + mtk_v4l2_vdec_dbg(1, ctx, "Capture stream is off. No need to flush."); > return 0; > } > v4l2_m2m_buf_queue(ctx->m2m_ctx, &ctx->empty_flush_buf.vb); > @@ -172,8 +172,7 @@ static int vidioc_vdec_qbuf(struct file *file, void *priv, > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > > if (ctx->state == MTK_STATE_ABORT) { > - mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error", > - ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d] Call on QBUF after unrecoverable error", ctx->id); > return -EIO; > } > > @@ -186,8 +185,7 @@ static int vidioc_vdec_dqbuf(struct file *file, void *priv, > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > > if (ctx->state == MTK_STATE_ABORT) { > - mtk_v4l2_err("[%d] Call on DQBUF after unrecoverable error", > - ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d] Call on DQBUF after unrecoverable error", ctx->id); > return -EIO; > } > > @@ -288,11 +286,10 @@ static int vidioc_try_fmt(struct mtk_vcodec_ctx *ctx, struct v4l2_format *f, > (pix_fmt_mp->height + 64) <= frmsize->max_height) > pix_fmt_mp->height += 64; > > - mtk_v4l2_debug(0, > - "before resize width=%d, height=%d, after resize width=%d, height=%d, sizeimage=%d", > - tmp_w, tmp_h, pix_fmt_mp->width, > - pix_fmt_mp->height, > - pix_fmt_mp->width * pix_fmt_mp->height); > + mtk_v4l2_vdec_dbg(0, ctx, > + "before resize wxh=%dx%d, after resize wxh=%dx%d, sizeimage=%d", > + tmp_w, tmp_h, pix_fmt_mp->width, pix_fmt_mp->height, > + pix_fmt_mp->width * pix_fmt_mp->height); > > pix_fmt_mp->num_planes = fmt->num_planes; > pix_fmt_mp->plane_fmt[0].sizeimage = > @@ -344,7 +341,7 @@ static int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, > } > > if (pix_fmt_mp->plane_fmt[0].sizeimage == 0) { > - mtk_v4l2_err("sizeimage of output format must be given"); > + mtk_v4l2_vdec_err(ctx, "sizeimage of output format must be given"); > return -EINVAL; > } > > @@ -432,7 +429,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > const struct mtk_video_fmt *fmt; > const struct mtk_vcodec_dec_pdata *dec_pdata = ctx->dev->vdec_pdata; > > - mtk_v4l2_debug(3, "[%d]", ctx->id); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > q_data = mtk_vdec_get_q_data(ctx, f->type); > if (!q_data) > @@ -446,7 +443,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > if (!dec_pdata->uses_stateless_api && > f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && > vb2_is_busy(&ctx->m2m_ctx->out_q_ctx.q)) { > - mtk_v4l2_err("out_q_ctx buffers already requested"); > + mtk_v4l2_vdec_err(ctx, "out_q_ctx buffers already requested"); > ret = -EBUSY; > } > > @@ -456,7 +453,7 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > */ > if ((f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) && > vb2_is_busy(&ctx->m2m_ctx->cap_q_ctx.q)) { > - mtk_v4l2_err("cap_q_ctx buffers already requested"); > + mtk_v4l2_vdec_err(ctx, "cap_q_ctx buffers already requested"); > ret = -EBUSY; > } > > @@ -491,8 +488,8 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > if (ctx->state == MTK_STATE_FREE) { > ret = vdec_if_init(ctx, q_data->fmt->fourcc); > if (ret) { > - mtk_v4l2_err("[%d]: vdec_if_init() fail ret=%d", > - ctx->id, ret); > + mtk_v4l2_vdec_err(ctx, "[%d]: vdec_if_init() fail ret=%d", > + ctx->id, ret); > return -EINVAL; > } > ctx->state = MTK_STATE_INIT; > @@ -515,8 +512,8 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > */ > ret = vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo); > if (ret) { > - mtk_v4l2_err("[%d]Error!! Get GET_PARAM_PICTURE_INFO Fail", > - ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d]Error!! Get GET_PARAM_PICTURE_INFO Fail", > + ctx->id); > } > > ctx->last_decoded_picinfo = ctx->picinfo; > @@ -540,11 +537,13 @@ static int vidioc_vdec_s_fmt(struct file *file, void *priv, > > ctx->q_data[MTK_Q_DATA_DST].coded_width = ctx->picinfo.buf_w; > ctx->q_data[MTK_Q_DATA_DST].coded_height = ctx->picinfo.buf_h; > - mtk_v4l2_debug(2, "[%d] vdec_if_init() num_plane = %d wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x", > - ctx->id, pix_mp->num_planes, ctx->picinfo.buf_w, ctx->picinfo.buf_h, > - ctx->picinfo.pic_w, ctx->picinfo.pic_h, > - ctx->q_data[MTK_Q_DATA_DST].sizeimage[0], > - ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]); > + mtk_v4l2_vdec_dbg(2, ctx, > + "[%d] init() plane:%d wxh=%dx%d pic wxh=%dx%d sz=0x%x_0x%x", > + ctx->id, pix_mp->num_planes, > + ctx->picinfo.buf_w, ctx->picinfo.buf_h, > + ctx->picinfo.pic_w, ctx->picinfo.pic_h, > + ctx->q_data[MTK_Q_DATA_DST].sizeimage[0], > + ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]); > } > return 0; > } > @@ -570,14 +569,11 @@ static int vidioc_enum_framesizes(struct file *file, void *priv, > fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; > fsize->stepwise = dec_pdata->vdec_formats[i].frmsize; > > - mtk_v4l2_debug(1, "%x, %d %d %d %d %d %d", > - ctx->dev->dec_capability, > - fsize->stepwise.min_width, > - fsize->stepwise.max_width, > - fsize->stepwise.step_width, > - fsize->stepwise.min_height, > - fsize->stepwise.max_height, > - fsize->stepwise.step_height); > + mtk_v4l2_vdec_dbg(1, ctx, "%x, %d %d %d %d %d %d", > + ctx->dev->dec_capability, fsize->stepwise.min_width, > + fsize->stepwise.max_width, fsize->stepwise.step_width, > + fsize->stepwise.min_height, fsize->stepwise.max_height, > + fsize->stepwise.step_height); > > return 0; > } > @@ -641,7 +637,7 @@ static int vidioc_vdec_g_fmt(struct file *file, void *priv, > > vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type); > if (!vq) { > - mtk_v4l2_err("no vb2 queue for type=%d", f->type); > + mtk_v4l2_vdec_err(ctx, "no vb2 queue for type=%d", f->type); > return -EINVAL; > } > > @@ -712,8 +708,8 @@ static int vidioc_vdec_g_fmt(struct file *file, void *priv, > pix_mp->plane_fmt[1].bytesperline = q_data->bytesperline[1]; > pix_mp->plane_fmt[1].sizeimage = q_data->sizeimage[1]; > > - mtk_v4l2_debug(1, "[%d] type=%d state=%d Format information could not be read, not ready yet!", > - ctx->id, f->type, ctx->state); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] type=%d state=%d Format information not ready!", > + ctx->id, f->type, ctx->state); > } > > return 0; > @@ -730,7 +726,7 @@ int vb2ops_vdec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, > q_data = mtk_vdec_get_q_data(ctx, vq->type); > > if (q_data == NULL) { > - mtk_v4l2_err("vq->type=%d err\n", vq->type); > + mtk_v4l2_vdec_err(ctx, "vq->type=%d err\n", vq->type); > return -EINVAL; > } > > @@ -756,10 +752,9 @@ int vb2ops_vdec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, > sizes[i] = q_data->sizeimage[i]; > } > > - mtk_v4l2_debug(1, > - "[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x 0x%x ", > - ctx->id, vq->type, *nplanes, *nbuffers, > - sizes[0], sizes[1]); > + mtk_v4l2_vdec_dbg(1, ctx, > + "[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x 0x%x ", > + ctx->id, vq->type, *nplanes, *nbuffers, sizes[0], sizes[1]); > > return 0; > } > @@ -770,16 +765,15 @@ int vb2ops_vdec_buf_prepare(struct vb2_buffer *vb) > struct mtk_q_data *q_data; > int i; > > - mtk_v4l2_debug(3, "[%d] (%d) id=%d", > - ctx->id, vb->vb2_queue->type, vb->index); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d", > + ctx->id, vb->vb2_queue->type, vb->index); > > q_data = mtk_vdec_get_q_data(ctx, vb->vb2_queue->type); > > for (i = 0; i < q_data->fmt->num_planes; i++) { > if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) { > - mtk_v4l2_err("data will not fit into plane %d (%lu < %d)", > - i, vb2_plane_size(vb, i), > - q_data->sizeimage[i]); > + mtk_v4l2_vdec_err(ctx, "data will not fit into plane %d (%lu < %d)", > + i, vb2_plane_size(vb, i), q_data->sizeimage[i]); > return -EINVAL; > } > if (!V4L2_TYPE_IS_OUTPUT(vb->type)) > @@ -807,7 +801,7 @@ void vb2ops_vdec_buf_finish(struct vb2_buffer *vb) > mutex_unlock(&ctx->lock); > > if (buf_error) { > - mtk_v4l2_err("Unrecoverable error on buffer."); > + mtk_v4l2_vdec_err(ctx, "Unrecoverable error on buffer."); > ctx->state = MTK_STATE_ABORT; > } > } > @@ -843,8 +837,8 @@ void vb2ops_vdec_stop_streaming(struct vb2_queue *q) > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(q); > int ret; > > - mtk_v4l2_debug(3, "[%d] (%d) state=(%x) ctx->decoded_frame_cnt=%d", > - ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) state=(%x) ctx->decoded_frame_cnt=%d", > + ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt); > > if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { > while ((src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx))) { > @@ -870,17 +864,17 @@ void vb2ops_vdec_stop_streaming(struct vb2_queue *q) > */ > ctx->picinfo = ctx->last_decoded_picinfo; > > - mtk_v4l2_debug(2, > - "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", > - ctx->id, ctx->last_decoded_picinfo.pic_w, > - ctx->last_decoded_picinfo.pic_h, > - ctx->picinfo.pic_w, ctx->picinfo.pic_h, > - ctx->last_decoded_picinfo.buf_w, > - ctx->last_decoded_picinfo.buf_h); > + mtk_v4l2_vdec_dbg(2, ctx, > + "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", > + ctx->id, ctx->last_decoded_picinfo.pic_w, > + ctx->last_decoded_picinfo.pic_h, > + ctx->picinfo.pic_w, ctx->picinfo.pic_h, > + ctx->last_decoded_picinfo.buf_w, > + ctx->last_decoded_picinfo.buf_h); > > ret = ctx->dev->vdec_pdata->flush_decoder(ctx); > if (ret) > - mtk_v4l2_err("DecodeFinal failed, ret=%d", ret); > + mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret); > } > ctx->state = MTK_STATE_FLUSH; > > @@ -905,7 +899,7 @@ static int m2mops_vdec_job_ready(void *m2m_priv) > { > struct mtk_vcodec_ctx *ctx = m2m_priv; > > - mtk_v4l2_debug(3, "[%d]", ctx->id); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > if (ctx->state == MTK_STATE_ABORT) > return 0; > @@ -973,7 +967,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq, > struct mtk_vcodec_ctx *ctx = priv; > int ret = 0; > > - mtk_v4l2_debug(3, "[%d]", ctx->id); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; > src_vq->io_modes = VB2_DMABUF | VB2_MMAP; > @@ -988,7 +982,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq, > > ret = vb2_queue_init(src_vq); > if (ret) { > - mtk_v4l2_err("Failed to initialize videobuf2 queue(output)"); > + mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 queue(output)"); > return ret; > } > dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; > @@ -1004,7 +998,7 @@ int mtk_vcodec_dec_queue_init(void *priv, struct vb2_queue *src_vq, > > ret = vb2_queue_init(dst_vq); > if (ret) > - mtk_v4l2_err("Failed to initialize videobuf2 queue(capture)"); > + mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 queue(capture)"); > > return ret; > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > index 03721eda2769..4469c2411f40 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > @@ -25,7 +25,7 @@ > #include "mtk_vcodec_util.h" > #include "mtk_vcodec_fw.h" > > -static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dev *dev) > +static int mtk_vcodec_get_hw_count(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_dev *dev) > { > switch (dev->vdec_pdata->hw_arch) { > case MTK_VDEC_PURE_SINGLE_CORE: > @@ -33,7 +33,7 @@ static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dev *dev) > case MTK_VDEC_LAT_SINGLE_CORE: > return MTK_VDEC_ONE_LAT_ONE_CORE; > default: > - mtk_v4l2_err("hw arch %d not supported", dev->vdec_pdata->hw_arch); > + mtk_v4l2_vdec_err(ctx, "hw arch %d not supported", dev->vdec_pdata->hw_arch); > return MTK_VDEC_NO_HW; > } > } > @@ -52,8 +52,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv) > /* check if HW active or not */ > cg_status = readl(dev->reg_base[0]); > if ((cg_status & VDEC_HW_ACTIVE) != 0) { > - mtk_v4l2_err("DEC ISR, VDEC active is not 0x0 (0x%08x)", > - cg_status); > + mtk_v4l2_vdec_err(ctx, "DEC ISR, VDEC active is not 0x0 (0x%08x)", cg_status); > return IRQ_HANDLED; > } > > @@ -71,9 +70,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv) > > wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, 0); > > - mtk_v4l2_debug(3, > - "mtk_vcodec_dec_irq_handler :wake up ctx %d, dec_done_status=%x", > - ctx->id, dec_done_status); > + mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x", ctx->id, dec_done_status); > > return IRQ_HANDLED; > } > @@ -96,7 +93,7 @@ static int mtk_vcodec_get_reg_bases(struct mtk_vcodec_dev *dev) > if (IS_ERR(dev->reg_base[i])) > return PTR_ERR(dev->reg_base[i]); > > - mtk_v4l2_debug(2, "reg[%d] base=%p", i, dev->reg_base[i]); > + dev_dbg(&pdev->dev, "reg[%d] base=%p", i, dev->reg_base[i]); > } > > return 0; > @@ -156,7 +153,7 @@ static int fops_vcodec_open(struct file *file) > INIT_LIST_HEAD(&ctx->list); > ctx->dev = dev; > if (ctx->dev->vdec_pdata->is_subdev_supported) { > - hw_count = mtk_vcodec_get_hw_count(dev); > + hw_count = mtk_vcodec_get_hw_count(ctx, dev); > if (!hw_count || !dev->subdev_prob_done) { > ret = -EINVAL; > goto err_ctrls_setup; > @@ -176,15 +173,14 @@ static int fops_vcodec_open(struct file *file) > ctx->type = MTK_INST_DECODER; > ret = dev->vdec_pdata->ctrls_setup(ctx); > if (ret) { > - mtk_v4l2_err("Failed to setup mt vcodec controls"); > + mtk_v4l2_vdec_err(ctx, "Failed to setup mt vcodec controls"); > goto err_ctrls_setup; > } > ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_dec, ctx, > &mtk_vcodec_dec_queue_init); > if (IS_ERR((__force void *)ctx->m2m_ctx)) { > ret = PTR_ERR((__force void *)ctx->m2m_ctx); > - mtk_v4l2_err("Failed to v4l2_m2m_ctx_init() (%d)", > - ret); > + mtk_v4l2_vdec_err(ctx, "Failed to v4l2_m2m_ctx_init() (%d)", ret); > goto err_m2m_ctx_init; > } > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > @@ -202,14 +198,14 @@ static int fops_vcodec_open(struct file *file) > * Return 0 if downloading firmware successfully, > * otherwise it is failed > */ > - mtk_v4l2_err("failed to load firmware!"); > + mtk_v4l2_vdec_err(ctx, "failed to load firmware!"); > goto err_load_fw; > } > > dev->dec_capability = > mtk_vcodec_fw_get_vdec_capa(dev->fw_handler); > > - mtk_v4l2_debug(0, "decoder capability %x", dev->dec_capability); > + mtk_v4l2_vdec_dbg(0, ctx, "decoder capability %x", dev->dec_capability); > } > > ctx->dev->vdec_pdata->init_vdec_params(ctx); > @@ -218,8 +214,7 @@ static int fops_vcodec_open(struct file *file) > mtk_vcodec_dbgfs_create(ctx); > > mutex_unlock(&dev->dev_mutex); > - mtk_v4l2_debug(0, "%s decoder [%d]", dev_name(&dev->plat_dev->dev), > - ctx->id); > + mtk_v4l2_vdec_dbg(0, ctx, "%s decoder [%d]", dev_name(&dev->plat_dev->dev), ctx->id); > return ret; > > /* Deinit when failure occurred */ > @@ -241,7 +236,7 @@ static int fops_vcodec_release(struct file *file) > struct mtk_vcodec_dev *dev = video_drvdata(file); > struct mtk_vcodec_ctx *ctx = fh_to_ctx(file->private_data); > > - mtk_v4l2_debug(0, "[%d] decoder", ctx->id); > + mtk_v4l2_vdec_dbg(0, ctx, "[%d] decoder", ctx->id); > mutex_lock(&dev->dev_mutex); > > /* > @@ -296,7 +291,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > &rproc_phandle)) { > fw_type = SCP; > } else { > - mtk_v4l2_err("Could not get vdec IPI device"); > + dev_dbg(&pdev->dev, "Could not get vdec IPI device"); > return -ENODEV; > } > dma_set_max_seg_size(&pdev->dev, UINT_MAX); > @@ -316,7 +311,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > alloc_ordered_workqueue("core-decoder", > WQ_MEM_RECLAIM | WQ_FREEZABLE); > if (!dev->core_workqueue) { > - mtk_v4l2_err("Failed to create core workqueue"); > + dev_dbg(&pdev->dev, "Failed to create core workqueue"); > ret = -EINVAL; > goto err_res; > } > @@ -332,13 +327,13 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > > ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev); > if (ret) { > - mtk_v4l2_err("v4l2_device_register err=%d", ret); > + dev_err(&pdev->dev, "v4l2_device_register err=%d", ret); > goto err_core_workq; > } > > vfd_dec = video_device_alloc(); > if (!vfd_dec) { > - mtk_v4l2_err("Failed to allocate video device"); > + dev_err(&pdev->dev, "Failed to allocate video device"); > ret = -ENOMEM; > goto err_dec_alloc; > } > @@ -359,7 +354,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > > dev->m2m_dev_dec = v4l2_m2m_init(&mtk_vdec_m2m_ops); > if (IS_ERR((__force void *)dev->m2m_dev_dec)) { > - mtk_v4l2_err("Failed to init mem2mem dec device"); > + dev_err(&pdev->dev, "Failed to init mem2mem dec device"); > ret = PTR_ERR((__force void *)dev->m2m_dev_dec); > goto err_dec_alloc; > } > @@ -368,7 +363,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > alloc_ordered_workqueue(MTK_VCODEC_DEC_NAME, > WQ_MEM_RECLAIM | WQ_FREEZABLE); > if (!dev->decode_workqueue) { > - mtk_v4l2_err("Failed to create decode workqueue"); > + dev_err(&pdev->dev, "Failed to create decode workqueue"); > ret = -EINVAL; > goto err_event_workq; > } > @@ -377,7 +372,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, > &pdev->dev); > if (ret) { > - mtk_v4l2_err("Main device of_platform_populate failed."); > + dev_err(&pdev->dev, "Main device of_platform_populate failed."); > goto err_reg_cont; > } > } else { > @@ -390,7 +385,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > > ret = video_register_device(vfd_dec, VFL_TYPE_VIDEO, -1); > if (ret) { > - mtk_v4l2_err("Failed to register video device"); > + dev_err(&pdev->dev, "Failed to register video device"); > goto err_reg_cont; > } > > @@ -409,21 +404,21 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > ret = v4l2_m2m_register_media_controller(dev->m2m_dev_dec, dev->vfd_dec, > MEDIA_ENT_F_PROC_VIDEO_DECODER); > if (ret) { > - mtk_v4l2_err("Failed to register media controller"); > + dev_err(&pdev->dev, "Failed to register media controller"); > goto err_dec_mem_init; > } > > ret = media_device_register(&dev->mdev_dec); > if (ret) { > - mtk_v4l2_err("Failed to register media device"); > + dev_err(&pdev->dev, "Failed to register media device"); > goto err_media_reg; > } > > - mtk_v4l2_debug(0, "media registered as /dev/media%d", vfd_dec->minor); > + dev_dbg(&pdev->dev, "media registered as /dev/media%d", vfd_dec->minor); > } > > mtk_vcodec_dbgfs_init(dev, false); > - mtk_v4l2_debug(0, "decoder registered as /dev/video%d", vfd_dec->minor); > + dev_dbg(&pdev->dev, "decoder registered as /dev/video%d", vfd_dec->minor); > > return 0; > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > index e1cb2f8dca33..7c4d8ec201e3 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > @@ -77,8 +77,7 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int irq, void *priv) > /* check if HW active or not */ > cg_status = readl(dev->reg_base[VDEC_HW_SYS]); > if (cg_status & VDEC_HW_ACTIVE) { > - mtk_v4l2_err("vdec active is not 0x0 (0x%08x)", > - cg_status); > + mtk_v4l2_vdec_err(ctx, "vdec active is not 0x0 (0x%08x)", cg_status); > return IRQ_HANDLED; > } > > @@ -93,8 +92,8 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int irq, void *priv) > > wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, dev->hw_idx); > > - mtk_v4l2_debug(3, "wake up ctx %d, dec_done_status=%x", > - ctx->id, dec_done_status); > + mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x", > + ctx->id, dec_done_status); > > return IRQ_HANDLED; > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > index 777d445999e9..3ab996705b97 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > @@ -32,7 +32,7 @@ int mtk_vcodec_init_dec_clk(struct platform_device *pdev, struct mtk_vcodec_pm * > if (!dec_clk->clk_info) > return -ENOMEM; > } else { > - mtk_v4l2_err("Failed to get vdec clock count"); > + dev_err(&pdev->dev, "Failed to get vdec clock count"); > return -EINVAL; > } > > @@ -41,14 +41,13 @@ int mtk_vcodec_init_dec_clk(struct platform_device *pdev, struct mtk_vcodec_pm * > ret = of_property_read_string_index(pdev->dev.of_node, > "clock-names", i, &clk_info->clk_name); > if (ret) { > - mtk_v4l2_err("Failed to get clock name id = %d", i); > + dev_err(&pdev->dev, "Failed to get clock name id = %d", i); > return ret; > } > clk_info->vcodec_clk = devm_clk_get(&pdev->dev, > clk_info->clk_name); > if (IS_ERR(clk_info->vcodec_clk)) { > - mtk_v4l2_err("devm_clk_get (%d)%s fail", i, > - clk_info->clk_name); > + dev_err(&pdev->dev, "devm_clk_get (%d)%s fail", i, clk_info->clk_name); > return PTR_ERR(clk_info->vcodec_clk); > } > } > @@ -63,7 +62,7 @@ static int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) > > ret = pm_runtime_resume_and_get(pm->dev); > if (ret) > - mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret); > + dev_err(pm->dev, "pm_runtime_resume_and_get fail %d", ret); > > return ret; > } > @@ -74,7 +73,7 @@ static void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) > > ret = pm_runtime_put(pm->dev); > if (ret && ret != -EAGAIN) > - mtk_v4l2_err("pm_runtime_put fail %d", ret); > + dev_err(pm->dev, "pm_runtime_put fail %d", ret); > } > > static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > @@ -86,7 +85,7 @@ static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > for (i = 0; i < dec_clk->clk_num; i++) { > ret = clk_prepare_enable(dec_clk->clk_info[i].vcodec_clk); > if (ret) { > - mtk_v4l2_err("clk_prepare_enable %d %s fail %d", i, > + dev_err(pm->dev, "clk_prepare_enable %d %s fail %d", i, > dec_clk->clk_info[i].clk_name, ret); > goto error; > } > @@ -120,7 +119,7 @@ static void mtk_vcodec_dec_enable_irq(struct mtk_vcodec_dev *vdec_dev, int hw_id > if (subdev_dev) > enable_irq(subdev_dev->dec_irq); > else > - mtk_v4l2_err("Failed to get hw dev\n"); > + dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > } else { > enable_irq(vdec_dev->dec_irq); > } > @@ -138,7 +137,7 @@ static void mtk_vcodec_dec_disable_irq(struct mtk_vcodec_dev *vdec_dev, int hw_i > if (subdev_dev) > disable_irq(subdev_dev->dec_irq); > else > - mtk_v4l2_err("Failed to get hw dev\n"); > + dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > } else { > disable_irq(vdec_dev->dec_irq); > } > @@ -185,7 +184,7 @@ static struct mtk_vcodec_pm *mtk_vcodec_dec_get_pm(struct mtk_vcodec_dev *vdec_d > if (subdev_dev) > return &subdev_dev->pm; > > - mtk_v4l2_err("Failed to get hw dev\n"); > + dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > return NULL; > } > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > index 0fbd030026c7..3c289b08bc87 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > @@ -61,15 +61,16 @@ static struct vb2_buffer *get_display_buffer(struct mtk_vcodec_ctx *ctx) > struct mtk_video_dec_buf *dstbuf; > struct vb2_v4l2_buffer *vb; > > - mtk_v4l2_debug(3, "[%d]", ctx->id); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > if (vdec_if_get_param(ctx, GET_PARAM_DISP_FRAME_BUFFER, > &disp_frame_buffer)) { > - mtk_v4l2_err("[%d]Cannot get param : GET_PARAM_DISP_FRAME_BUFFER", ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d]Cannot get param : GET_PARAM_DISP_FRAME_BUFFER", > + ctx->id); > return NULL; > } > > if (!disp_frame_buffer) { > - mtk_v4l2_debug(3, "No display frame buffer"); > + mtk_v4l2_vdec_dbg(3, ctx, "No display frame buffer"); > return NULL; > } > > @@ -78,9 +79,9 @@ static struct vb2_buffer *get_display_buffer(struct mtk_vcodec_ctx *ctx) > vb = &dstbuf->m2m_buf.vb; > mutex_lock(&ctx->lock); > if (dstbuf->used) { > - mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to done_list %d", > - ctx->id, disp_frame_buffer->status, > - vb->vb2_buf.index, dstbuf->queued_in_vb2); > + mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to done_list %d", > + ctx->id, disp_frame_buffer->status, > + vb->vb2_buf.index, dstbuf->queued_in_vb2); > > v4l2_m2m_buf_done(vb, VB2_BUF_STATE_DONE); > ctx->decoded_frame_cnt++; > @@ -105,16 +106,16 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx) > > if (vdec_if_get_param(ctx, GET_PARAM_FREE_FRAME_BUFFER, > &free_frame_buffer)) { > - mtk_v4l2_err("[%d] Error!! Cannot get param", ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d] Error!! Cannot get param", ctx->id); > return NULL; > } > if (!free_frame_buffer) { > - mtk_v4l2_debug(3, " No free frame buffer"); > + mtk_v4l2_vdec_dbg(3, ctx, " No free frame buffer"); > return NULL; > } > > - mtk_v4l2_debug(3, "[%d] tmp_frame_addr = 0x%p", ctx->id, > - free_frame_buffer); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] tmp_frame_addr = 0x%p", ctx->id, > + free_frame_buffer); > > dstbuf = container_of(free_frame_buffer, struct mtk_video_dec_buf, > frame_buffer); > @@ -131,9 +132,9 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx) > * This reduce overheads that dq/q unused capture > * buffer. In this case, queued_in_vb2 = true. > */ > - mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to rdy_queue %d", > - ctx->id, free_frame_buffer->status, > - vb->vb2_buf.index, dstbuf->queued_in_vb2); > + mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to rdy_queue %d", > + ctx->id, free_frame_buffer->status, > + vb->vb2_buf.index, dstbuf->queued_in_vb2); > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb); > } else if (!dstbuf->queued_in_vb2 && dstbuf->queued_in_v4l2) { > /* > @@ -146,10 +147,10 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx) > * means this buffer is not from previous decode > * output. > */ > - mtk_v4l2_debug(2, > - "[%d]status=%x queue id=%d to rdy_queue", > - ctx->id, free_frame_buffer->status, > - vb->vb2_buf.index); > + mtk_v4l2_vdec_dbg(2, ctx, > + "[%d]status=%x queue id=%d to rdy_queue", > + ctx->id, free_frame_buffer->status, > + vb->vb2_buf.index); > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb); > dstbuf->queued_in_vb2 = true; > } else { > @@ -161,10 +162,10 @@ static struct vb2_buffer *get_free_buffer(struct mtk_vcodec_ctx *ctx) > * When this buffer q from user space, it could > * directly q to vb2 buffer > */ > - mtk_v4l2_debug(3, "[%d]status=%x err queue id=%d %d %d", > - ctx->id, free_frame_buffer->status, > - vb->vb2_buf.index, dstbuf->queued_in_vb2, > - dstbuf->queued_in_v4l2); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d]status=%x err queue id=%d %d %d", > + ctx->id, free_frame_buffer->status, > + vb->vb2_buf.index, dstbuf->queued_in_vb2, > + dstbuf->queued_in_v4l2); > } > dstbuf->used = false; > } > @@ -191,7 +192,7 @@ static void mtk_vdec_queue_res_chg_event(struct mtk_vcodec_ctx *ctx) > .u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION, > }; > > - mtk_v4l2_debug(1, "[%d]", ctx->id); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d]", ctx->id); > v4l2_event_queue_fh(&ctx->fh, &ev_src_ch); > } > > @@ -202,7 +203,7 @@ static int mtk_vdec_flush_decoder(struct mtk_vcodec_ctx *ctx) > > ret = vdec_if_decode(ctx, NULL, NULL, &res_chg); > if (ret) > - mtk_v4l2_err("DecodeFinal failed, ret=%d", ret); > + mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret); > > clean_display_buffer(ctx); > clean_free_buffer(ctx); > @@ -221,14 +222,14 @@ static void mtk_vdec_update_fmt(struct mtk_vcodec_ctx *ctx, > for (k = 0; k < num_supported_formats; k++) { > fmt = &mtk_video_formats[k]; > if (fmt->fourcc == pixelformat) { > - mtk_v4l2_debug(1, "Update cap fourcc(%d -> %d)", > - dst_q_data->fmt->fourcc, pixelformat); > + mtk_v4l2_vdec_dbg(1, ctx, "Update cap fourcc(%d -> %d)", > + dst_q_data->fmt->fourcc, pixelformat); > dst_q_data->fmt = fmt; > return; > } > } > > - mtk_v4l2_err("Cannot get fourcc(%d), using init value", pixelformat); > + mtk_v4l2_vdec_err(ctx, "Cannot get fourcc(%d), using init value", pixelformat); > } > > static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx) > @@ -238,7 +239,8 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx) > > if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, > &ctx->last_decoded_picinfo)) { > - mtk_v4l2_err("[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", > + ctx->id); > return -EINVAL; > } > > @@ -246,7 +248,7 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx) > ctx->last_decoded_picinfo.pic_h == 0 || > ctx->last_decoded_picinfo.buf_w == 0 || > ctx->last_decoded_picinfo.buf_h == 0) { > - mtk_v4l2_err("Cannot get correct pic info"); > + mtk_v4l2_vdec_err(ctx, "Cannot get correct pic info"); > return -EINVAL; > } > > @@ -258,15 +260,15 @@ static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx) > ctx->last_decoded_picinfo.pic_h == ctx->picinfo.pic_h) > return 0; > > - mtk_v4l2_debug(1, "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", ctx->id, > - ctx->last_decoded_picinfo.pic_w, > - ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w, > - ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w, > - ctx->last_decoded_picinfo.buf_h); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", ctx->id, > + ctx->last_decoded_picinfo.pic_w, > + ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w, > + ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w, > + ctx->last_decoded_picinfo.buf_h); > > ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize); > if (dpbsize == 0) > - mtk_v4l2_err("Incorrect dpb size, ret=%d", ret); > + mtk_v4l2_vdec_err(ctx, "Incorrect dpb size, ret=%d", ret); > > ctx->dpb_size = dpbsize; > > @@ -288,14 +290,14 @@ static void mtk_vdec_worker(struct work_struct *work) > src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > if (!src_buf) { > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > - mtk_v4l2_debug(1, "[%d] src_buf empty!!", ctx->id); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] src_buf empty!!", ctx->id); > return; > } > > dst_buf = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); > if (!dst_buf) { > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > - mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id); > return; > } > > @@ -313,15 +315,15 @@ static void mtk_vdec_worker(struct work_struct *work) > vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 1); > pfb->base_c.size = ctx->picinfo.fb_sz[1]; > pfb->status = 0; > - mtk_v4l2_debug(3, "===>[%d] vdec_if_decode() ===>", ctx->id); > + mtk_v4l2_vdec_dbg(3, ctx, "===>[%d] vdec_if_decode() ===>", ctx->id); > > - mtk_v4l2_debug(3, > - "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx", > - dst_buf->vb2_buf.index, pfb, pfb->base_y.va, > - &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb->base_y.size); > + mtk_v4l2_vdec_dbg(3, ctx, > + "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx", > + dst_buf->vb2_buf.index, pfb, pfb->base_y.va, > + &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb->base_y.size); > > if (src_buf == &ctx->empty_flush_buf.vb) { > - mtk_v4l2_debug(1, "Got empty flush input buffer."); > + mtk_v4l2_vdec_dbg(1, ctx, "Got empty flush input buffer."); > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > > /* update dst buf status */ > @@ -350,12 +352,12 @@ static void mtk_vdec_worker(struct work_struct *work) > buf.size = (size_t)src_buf->vb2_buf.planes[0].bytesused; > if (!buf.va) { > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > - mtk_v4l2_err("[%d] id=%d src_addr is NULL!!", ctx->id, > - src_buf->vb2_buf.index); > + mtk_v4l2_vdec_err(ctx, "[%d] id=%d src_addr is NULL!!", ctx->id, > + src_buf->vb2_buf.index); > return; > } > - mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > - ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > + ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf); > dst_buf->vb2_buf.timestamp = src_buf->vb2_buf.timestamp; > dst_buf->timecode = src_buf->timecode; > mutex_lock(&ctx->lock); > @@ -366,9 +368,10 @@ static void mtk_vdec_worker(struct work_struct *work) > ret = vdec_if_decode(ctx, &buf, pfb, &res_chg); > > if (ret) { > - mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu dst_buf[%d] vdec_if_decode() ret=%d res_chg=%d===>", > - ctx->id, src_buf->vb2_buf.index, buf.size, > - src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, res_chg); > + mtk_v4l2_vdec_err(ctx, > + "[%d] decode src[%d] sz=0x%zx pts=%llu dst[%d] ret=%d res_chg=%d", > + ctx->id, src_buf->vb2_buf.index, buf.size, > + src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, res_chg); > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > if (ret == -EIO) { > mutex_lock(&ctx->lock); > @@ -421,8 +424,8 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > struct vb2_v4l2_buffer *vb2_v4l2; > struct mtk_q_data *dst_q_data; > > - mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, > - vb->vb2_queue->type, vb->index, vb); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, > + vb->vb2_queue->type, vb->index, vb); > /* > * check if this buffer is ready to be used after decode > */ > @@ -448,20 +451,19 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > v4l2_m2m_buf_queue(ctx->m2m_ctx, to_vb2_v4l2_buffer(vb)); > > if (ctx->state != MTK_STATE_INIT) { > - mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id, > - ctx->state); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, ctx->state); > return; > } > > src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > if (!src_buf) { > - mtk_v4l2_err("No src buffer"); > + mtk_v4l2_vdec_err(ctx, "No src buffer"); > return; > } > > if (src_buf == &ctx->empty_flush_buf.vb) { > /* This shouldn't happen. Just in case. */ > - mtk_v4l2_err("Invalid flush buffer."); > + mtk_v4l2_vdec_err(ctx, "Invalid flush buffer."); > v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > return; > } > @@ -469,9 +471,8 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > src_mem.va = vb2_plane_vaddr(&src_buf->vb2_buf, 0); > src_mem.dma_addr = vb2_dma_contig_plane_dma_addr(&src_buf->vb2_buf, 0); > src_mem.size = (size_t)src_buf->vb2_buf.planes[0].bytesused; > - mtk_v4l2_debug(2, "[%d] buf id=%d va=%p dma=%pad size=%zx", ctx->id, > - src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr, > - src_mem.size); > + mtk_v4l2_vdec_dbg(2, ctx, "[%d] buf id=%d va=%p dma=%pad size=%zx", ctx->id, > + src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr, src_mem.size); > > ret = vdec_if_decode(ctx, &src_mem, NULL, &res_chg); > if (ret || !res_chg) { > @@ -484,20 +485,22 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > if (ret == -EIO) { > - mtk_v4l2_err("[%d] Unrecoverable error in vdec_if_decode.", ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d] Unrecoverable error in vdec_if_decode.", > + ctx->id); > ctx->state = MTK_STATE_ABORT; > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR); > } else { > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE); > } > - mtk_v4l2_debug(ret ? 0 : 1, > - "[%d] vdec_if_decode() src_buf=%d, size=%zu, fail=%d, res_chg=%d", > - ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, res_chg); > + mtk_v4l2_vdec_dbg(ret ? 0 : 1, ctx, > + "[%d] decode() src_buf=%d, size=%zu, fail=%d, res_chg=%d", > + ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, res_chg); > return; > } > > if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo)) { > - mtk_v4l2_err("[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", ctx->id); > + mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR", > + ctx->id); > return; > } > > @@ -508,17 +511,17 @@ static void vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > dst_q_data->bytesperline[i] = ctx->picinfo.buf_w; > } > > - mtk_v4l2_debug(2, "[%d] vdec_if_init() OK wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x", > - ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx->picinfo.pic_w, > - ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data->sizeimage[1]); > + mtk_v4l2_vdec_dbg(2, ctx, "[%d] init OK wxh=%dx%d pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x", > + ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx->picinfo.pic_w, > + ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data->sizeimage[1]); > > ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize); > if (dpbsize == 0) > - mtk_v4l2_err("[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, ret); > + mtk_v4l2_vdec_err(ctx, "[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, ret); > > ctx->dpb_size = dpbsize; > ctx->state = MTK_STATE_HEADER; > - mtk_v4l2_debug(1, "[%d] dpbsize=%d", ctx->id, ctx->dpb_size); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] dpbsize=%d", ctx->id, ctx->dpb_size); > > mtk_vdec_queue_res_chg_event(ctx); > } > @@ -533,7 +536,7 @@ static int mtk_vdec_g_v_ctrl(struct v4l2_ctrl *ctrl) > if (ctx->state >= MTK_STATE_HEADER) { > ctrl->val = ctx->dpb_size; > } else { > - mtk_v4l2_debug(0, "Seqinfo not ready"); > + mtk_v4l2_vdec_dbg(0, ctx, "Seqinfo not ready"); > ctrl->val = 0; > } > break; > @@ -570,7 +573,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx) > V4L2_MPEG_VIDEO_H264_PROFILE_MAIN); > > if (ctx->ctrl_hdl.error) { > - mtk_v4l2_err("Adding control failed %d", ctx->ctrl_hdl.error); > + mtk_v4l2_vdec_err(ctx, "Adding control failed %d", ctx->ctrl_hdl.error); > return ctx->ctrl_hdl.error; > } > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > index db1e14a1bd6c..ffe05ff31dd1 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > @@ -232,10 +232,10 @@ static void mtk_vdec_stateless_cap_to_disp(struct mtk_vcodec_ctx *ctx, int error > vb2_dst = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx); > if (vb2_dst) { > v4l2_m2m_buf_done(vb2_dst, state); > - mtk_v4l2_debug(2, "free frame buffer id:%d to done list", > - vb2_dst->vb2_buf.index); > + mtk_v4l2_vdec_dbg(2, ctx, "free frame buffer id:%d to done list", > + vb2_dst->vb2_buf.index); > } else { > - mtk_v4l2_err("dst buffer is NULL"); > + mtk_v4l2_vdec_err(ctx, "dst buffer is NULL"); > } > > if (src_buf_req) > @@ -251,7 +251,7 @@ static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx) > > vb2_v4l2 = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); > if (!vb2_v4l2) { > - mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id); > return NULL; > } > > @@ -269,9 +269,10 @@ static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx) > vb2_dma_contig_plane_dma_addr(dst_buf, 1); > pfb->base_c.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]; > } > - mtk_v4l2_debug(1, "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx frame_count = %d", > - dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr, > - &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt); > + mtk_v4l2_vdec_dbg(1, ctx, > + "id=%d Framebuf pfb=%p VA=%p Y/C_DMA=%pad_%pad Sz=%zx frame_count = %d", > + dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr, > + &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt); > > return pfb; > } > @@ -300,7 +301,7 @@ static void mtk_vdec_worker(struct work_struct *work) > vb2_v4l2_src = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > if (!vb2_v4l2_src) { > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > - mtk_v4l2_debug(1, "[%d] no available source buffer", ctx->id); > + mtk_v4l2_vdec_dbg(1, ctx, "[%d] no available source buffer", ctx->id); > return; > } > > @@ -309,33 +310,34 @@ static void mtk_vdec_worker(struct work_struct *work) > m2m_buf.vb); > bs_src = &dec_buf_src->bs_buffer; > > - mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, > - vb2_src->vb2_queue->type, vb2_src->index, vb2_src); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, > + vb2_src->vb2_queue->type, vb2_src->index, vb2_src); > > bs_src->va = vb2_plane_vaddr(vb2_src, 0); > bs_src->dma_addr = vb2_dma_contig_plane_dma_addr(vb2_src, 0); > bs_src->size = (size_t)vb2_src->planes[0].bytesused; > if (!bs_src->va) { > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > - mtk_v4l2_err("[%d] id=%d source buffer is NULL", ctx->id, > - vb2_src->index); > + mtk_v4l2_vdec_err(ctx, "[%d] id=%d source buffer is NULL", ctx->id, > + vb2_src->index); > return; > } > > - mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > - ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > + ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src); > /* Apply request controls. */ > src_buf_req = vb2_src->req_obj.req; > if (src_buf_req) > v4l2_ctrl_request_setup(src_buf_req, &ctx->ctrl_hdl); > else > - mtk_v4l2_err("vb2 buffer media request is NULL"); > + mtk_v4l2_vdec_err(ctx, "vb2 buffer media request is NULL"); > > ret = vdec_if_decode(ctx, bs_src, NULL, &res_chg); > if (ret && ret != -EAGAIN) { > - mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu vdec_if_decode() ret=%d res_chg=%d===>", > - ctx->id, vb2_src->index, bs_src->size, > - vb2_src->timestamp, ret, res_chg); > + mtk_v4l2_vdec_err(ctx, > + "[%d] decode src_buf[%d] sz=0x%zx pts=%llu ret=%d res_chg=%d", > + ctx->id, vb2_src->index, bs_src->size, > + vb2_src->timestamp, ret, res_chg); > if (ret == -EIO) { > mutex_lock(&ctx->lock); > dec_buf_src->error = true; > @@ -363,7 +365,8 @@ static void vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb) > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); > struct vb2_v4l2_buffer *vb2_v4l2 = to_vb2_v4l2_buffer(vb); > > - mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, vb->vb2_queue->type, vb->index, vb); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, vb->vb2_queue->type, > + vb->index, vb); > > mutex_lock(&ctx->lock); > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb2_v4l2); > @@ -374,9 +377,9 @@ static void vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb) > /* If an OUTPUT buffer, we may need to update the state */ > if (ctx->state == MTK_STATE_INIT) { > ctx->state = MTK_STATE_HEADER; > - mtk_v4l2_debug(1, "Init driver from init to header."); > + mtk_v4l2_vdec_dbg(1, ctx, "Init driver from init to header."); > } else { > - mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id, ctx->state); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, ctx->state); > } > } > > @@ -393,7 +396,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx) > > v4l2_ctrl_handler_init(&ctx->ctrl_hdl, NUM_CTRLS); > if (ctx->ctrl_hdl.error) { > - mtk_v4l2_err("v4l2_ctrl_handler_init failed\n"); > + mtk_v4l2_vdec_err(ctx, "v4l2_ctrl_handler_init failed\n"); > return ctx->ctrl_hdl.error; > } > > @@ -402,7 +405,8 @@ static int mtk_vcodec_dec_ctrls_setup(struct mtk_vcodec_ctx *ctx) > > v4l2_ctrl_new_custom(&ctx->ctrl_hdl, &cfg, NULL); > if (ctx->ctrl_hdl.error) { > - mtk_v4l2_err("Adding control %d failed %d", i, ctx->ctrl_hdl.error); > + mtk_v4l2_vdec_err(ctx, "Adding control %d failed %d", i, > + ctx->ctrl_hdl.error); > return ctx->ctrl_hdl.error; > } > } > @@ -421,11 +425,11 @@ static int fops_media_request_validate(struct media_request *mreq) > /* We expect exactly one buffer with the request */ > break; > case 0: > - mtk_v4l2_debug(1, "No buffer provided with the request"); > + pr_debug("[MTK VCODEC] No buffer provided with the request"); > I suggest following the same format as the macro, "<devname>: [MTK_V4L2][ERROR]", you can probably have a macro for that formatting. This would ensure consitency for all the trace without context. Some of the trace don't even name anything MTK/VCODEC, like av1_error: prefix. I'd like to see these fixed. pr_debug(MTK_DBG_STR "No buffer provided with..."); Or add ...no_ctx() debug macro, prepending the string ? This would be up to your preference. regards, Nicolas > > return -ENOENT; > default: > - mtk_v4l2_debug(1, "Too many buffers (%d) provided with the request", > - buffer_cnt); > + pr_debug("[MTK VCODEC] Too many buffers (%d) provided with the request", > + buffer_cnt); > return -EINVAL; > } > > @@ -470,13 +474,13 @@ static void mtk_vcodec_add_formats(unsigned int fourcc, > mtk_video_formats[count_formats].num_planes = 2; > break; > default: > - mtk_v4l2_err("Can not add unsupported format type"); > + mtk_v4l2_vdec_err(ctx, "Can not add unsupported format type"); > return; > } > > num_formats++; > - mtk_v4l2_debug(3, "num_formats: %d dec_capability: 0x%x", > - count_formats, ctx->dev->dec_capability); > + mtk_v4l2_vdec_dbg(3, ctx, "num_formats: %d dec_capability: 0x%x", > + count_formats, ctx->dev->dec_capability); > } > > static void mtk_vcodec_get_supported_formats(struct mtk_vcodec_ctx *ctx) > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c > index 9ff439a50f53..276da79d98e7 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c > @@ -51,63 +51,53 @@ static int vidioc_venc_s_ctrl(struct v4l2_ctrl *ctrl) > > switch (ctrl->id) { > case V4L2_CID_MPEG_VIDEO_BITRATE_MODE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE_MODE val= %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_BITRATE_MODE val= %d", ctrl->val); > if (ctrl->val != V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) { > - mtk_v4l2_err("Unsupported bitrate mode =%d", ctrl->val); > + mtk_v4l2_venc_err(ctx, "Unsupported bitrate mode =%d", ctrl->val); > ret = -EINVAL; > } > break; > case V4L2_CID_MPEG_VIDEO_BITRATE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_BITRATE val = %d", ctrl->val); > p->bitrate = ctrl->val; > ctx->param_change |= MTK_ENCODE_PARAM_BITRATE; > break; > case V4L2_CID_MPEG_VIDEO_B_FRAMES: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_B_FRAMES val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_B_FRAMES val = %d", ctrl->val); > p->num_b_frame = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE val = %d", > + ctrl->val); > p->rc_frame = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_H264_MAX_QP: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_MAX_QP val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_MAX_QP val = %d", ctrl->val); > p->h264_max_qp = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_HEADER_MODE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_HEADER_MODE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_HEADER_MODE val = %d", ctrl->val); > p->seq_hdr_mode = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE val = %d", ctrl->val); > p->rc_mb = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_H264_PROFILE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_PROFILE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_PROFILE val = %d", ctrl->val); > p->h264_profile = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_H264_LEVEL: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_LEVEL val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_LEVEL val = %d", ctrl->val); > p->h264_level = ctrl->val; > break; > case V4L2_CID_MPEG_VIDEO_H264_I_PERIOD: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD val = %d", ctrl->val); > p->intra_period = ctrl->val; > ctx->param_change |= MTK_ENCODE_PARAM_INTRA_PERIOD; > break; > case V4L2_CID_MPEG_VIDEO_GOP_SIZE: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_GOP_SIZE val = %d", > - ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_GOP_SIZE val = %d", ctrl->val); > p->gop_size = ctrl->val; > ctx->param_change |= MTK_ENCODE_PARAM_GOP_SIZE; > break; > @@ -116,10 +106,10 @@ static int vidioc_venc_s_ctrl(struct v4l2_ctrl *ctrl) > * FIXME - what vp8 profiles are actually supported? > * The ctrl is added (with only profile 0 supported) for now. > */ > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_VP8_PROFILE val = %d", ctrl->val); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_VP8_PROFILE val = %d", ctrl->val); > break; > case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: > - mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME"); > + mtk_v4l2_venc_dbg(2, ctx, "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME"); > p->force_intra = 1; > ctx->param_change |= MTK_ENCODE_PARAM_FORCE_INTRA; > break; > @@ -341,11 +331,12 @@ static int vidioc_try_fmt_out(struct mtk_vcodec_ctx *ctx, struct v4l2_format *f, > if (pix_fmt_mp->height < tmp_h && (pix_fmt_mp->height + 32) <= max_height) > pix_fmt_mp->height += 32; > > - mtk_v4l2_debug(0, "before resize w=%d, h=%d, after resize w=%d, h=%d, sizeimage=%d %d", > - tmp_w, tmp_h, pix_fmt_mp->width, > - pix_fmt_mp->height, > - pix_fmt_mp->plane_fmt[0].sizeimage, > - pix_fmt_mp->plane_fmt[1].sizeimage); > + mtk_v4l2_venc_dbg(0, ctx, > + "before resize wxh=%dx%d, after resize wxh=%dx%d, sizeimage=%d %d", > + tmp_w, tmp_h, pix_fmt_mp->width, > + pix_fmt_mp->height, > + pix_fmt_mp->plane_fmt[0].sizeimage, > + pix_fmt_mp->plane_fmt[1].sizeimage); > > pix_fmt_mp->num_planes = fmt->num_planes; > pix_fmt_mp->plane_fmt[0].sizeimage = > @@ -396,7 +387,7 @@ static void mtk_venc_set_param(struct mtk_vcodec_ctx *ctx, > param->input_yuv_fmt = VENC_YUV_FORMAT_NV21; > break; > default: > - mtk_v4l2_err("Unsupported fourcc =%d", q_data_src->fmt->fourcc); > + mtk_v4l2_venc_err(ctx, "Unsupported fourcc =%d", q_data_src->fmt->fourcc); > break; > } > param->h264_profile = enc_params->h264_profile; > @@ -414,13 +405,13 @@ static void mtk_venc_set_param(struct mtk_vcodec_ctx *ctx, > param->gop_size = enc_params->gop_size; > param->bitrate = enc_params->bitrate; > > - mtk_v4l2_debug(0, > - "fmt 0x%x, P/L %d/%d, w/h %d/%d, buf %d/%d, fps/bps %d/%d, gop %d, i_period %d", > - param->input_yuv_fmt, param->h264_profile, > - param->h264_level, param->width, param->height, > - param->buf_width, param->buf_height, > - param->frm_rate, param->bitrate, > - param->gop_size, param->intra_period); > + mtk_v4l2_venc_dbg(0, ctx, > + "fmt 0x%x, P/L %d/%d w/h %d/%d buf %d/%d fps/bps %d/%d gop %d i_per %d", > + param->input_yuv_fmt, param->h264_profile, > + param->h264_level, param->width, param->height, > + param->buf_width, param->buf_height, > + param->frm_rate, param->bitrate, > + param->gop_size, param->intra_period); > } > > static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, > @@ -435,12 +426,12 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, > > vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type); > if (!vq) { > - mtk_v4l2_err("fail to get vq"); > + mtk_v4l2_venc_err(ctx, "fail to get vq"); > return -EINVAL; > } > > if (vb2_is_busy(vq)) { > - mtk_v4l2_err("queue busy"); > + mtk_v4l2_venc_err(ctx, "queue busy"); > return -EBUSY; > } > > @@ -468,8 +459,8 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, > if (ctx->state == MTK_STATE_FREE) { > ret = venc_if_init(ctx, q_data->fmt->fourcc); > if (ret) { > - mtk_v4l2_err("venc_if_init failed=%d, codec type=%x", > - ret, q_data->fmt->fourcc); > + mtk_v4l2_venc_err(ctx, "venc_if_init failed=%d, codec type=%x", > + ret, q_data->fmt->fourcc); > return -EBUSY; > } > ctx->state = MTK_STATE_INIT; > @@ -490,12 +481,12 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv, > > vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type); > if (!vq) { > - mtk_v4l2_err("fail to get vq"); > + mtk_v4l2_venc_err(ctx, "fail to get vq"); > return -EINVAL; > } > > if (vb2_is_busy(vq)) { > - mtk_v4l2_err("queue busy"); > + mtk_v4l2_venc_err(ctx, "queue busy"); > return -EBUSY; > } > > @@ -670,8 +661,8 @@ static int vidioc_venc_qbuf(struct file *file, void *priv, > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > > if (ctx->state == MTK_STATE_ABORT) { > - mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error", > - ctx->id); > + mtk_v4l2_venc_err(ctx, "[%d] Call on QBUF after unrecoverable error", > + ctx->id); > return -EIO; > } > > @@ -685,8 +676,8 @@ static int vidioc_venc_dqbuf(struct file *file, void *priv, > int ret; > > if (ctx->state == MTK_STATE_ABORT) { > - mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error", > - ctx->id); > + mtk_v4l2_venc_err(ctx, "[%d] Call on QBUF after unrecoverable error", > + ctx->id); > return -EIO; > } > > @@ -724,8 +715,8 @@ static int vidioc_encoder_cmd(struct file *file, void *priv, > int ret; > > if (ctx->state == MTK_STATE_ABORT) { > - mtk_v4l2_err("[%d] Call to CMD after unrecoverable error", > - ctx->id); > + mtk_v4l2_venc_err(ctx, "[%d] Call to CMD after unrecoverable error", > + ctx->id); > return -EIO; > } > > @@ -737,7 +728,7 @@ static int vidioc_encoder_cmd(struct file *file, void *priv, > if (ctx->is_flushing) > return -EBUSY; > > - mtk_v4l2_debug(1, "encoder cmd=%u", cmd->cmd); > + mtk_v4l2_venc_dbg(1, ctx, "encoder cmd=%u", cmd->cmd); > > dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); > @@ -746,11 +737,11 @@ static int vidioc_encoder_cmd(struct file *file, void *priv, > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE); > if (!vb2_is_streaming(src_vq)) { > - mtk_v4l2_debug(1, "Output stream is off. No need to flush."); > + mtk_v4l2_venc_dbg(1, ctx, "Output stream is off. No need to flush."); > return 0; > } > if (!vb2_is_streaming(dst_vq)) { > - mtk_v4l2_debug(1, "Capture stream is off. No need to flush."); > + mtk_v4l2_venc_dbg(1, ctx, "Capture stream is off. No need to flush."); > return 0; > } > ctx->is_flushing = true; > @@ -841,9 +832,8 @@ static int vb2ops_venc_buf_prepare(struct vb2_buffer *vb) > > for (i = 0; i < q_data->fmt->num_planes; i++) { > if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) { > - mtk_v4l2_err("data will not fit into plane %d (%lu < %d)", > - i, vb2_plane_size(vb, i), > - q_data->sizeimage[i]); > + mtk_v4l2_venc_err(ctx, "data will not fit into plane %d (%lu < %d)", > + i, vb2_plane_size(vb, i), q_data->sizeimage[i]); > return -EINVAL; > } > } > @@ -863,10 +853,8 @@ static void vb2ops_venc_buf_queue(struct vb2_buffer *vb) > > if ((vb->vb2_queue->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) && > (ctx->param_change != MTK_ENCODE_PARAM_NONE)) { > - mtk_v4l2_debug(1, "[%d] Before id=%d encode parameter change %x", > - ctx->id, > - vb2_v4l2->vb2_buf.index, > - ctx->param_change); > + mtk_v4l2_venc_dbg(1, ctx, "[%d] Before id=%d encode parameter change %x", > + ctx->id, vb2_v4l2->vb2_buf.index, ctx->param_change); > mtk_buf->param_change = ctx->param_change; > mtk_buf->enc_params = ctx->enc_params; > ctx->param_change = MTK_ENCODE_PARAM_NONE; > @@ -901,14 +889,14 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count) > > ret = pm_runtime_resume_and_get(&ctx->dev->plat_dev->dev); > if (ret < 0) { > - mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret); > + mtk_v4l2_venc_err(ctx, "pm_runtime_resume_and_get fail %d", ret); > goto err_start_stream; > } > > mtk_venc_set_param(ctx, ¶m); > ret = venc_if_set_param(ctx, VENC_SET_PARAM_ENC, ¶m); > if (ret) { > - mtk_v4l2_err("venc_if_set_param failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_set_param failed=%d", ret); > ctx->state = MTK_STATE_ABORT; > goto err_set_param; > } > @@ -921,7 +909,7 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count) > VENC_SET_PARAM_PREPEND_HEADER, > NULL); > if (ret) { > - mtk_v4l2_err("venc_if_set_param failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_set_param failed=%d", ret); > ctx->state = MTK_STATE_ABORT; > goto err_set_param; > } > @@ -933,7 +921,7 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count) > err_set_param: > pm_ret = pm_runtime_put(&ctx->dev->plat_dev->dev); > if (pm_ret < 0) > - mtk_v4l2_err("pm_runtime_put fail %d", pm_ret); > + mtk_v4l2_venc_err(ctx, "pm_runtime_put fail %d", pm_ret); > > err_start_stream: > for (i = 0; i < q->num_buffers; ++i) { > @@ -944,9 +932,8 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count) > * can be marked as done. > */ > if (buf && buf->state == VB2_BUF_STATE_ACTIVE) { > - mtk_v4l2_debug(0, "[%d] id=%d, type=%d, %d -> VB2_BUF_STATE_QUEUED", > - ctx->id, i, q->type, > - (int)buf->state); > + mtk_v4l2_venc_dbg(0, ctx, "[%d] id=%d, type=%d, %d->VB2_BUF_STATE_QUEUED", > + ctx->id, i, q->type, (int)buf->state); > v4l2_m2m_buf_done(to_vb2_v4l2_buffer(buf), > VB2_BUF_STATE_QUEUED); > } > @@ -961,7 +948,7 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q) > struct vb2_v4l2_buffer *src_buf, *dst_buf; > int ret; > > - mtk_v4l2_debug(2, "[%d]-> type=%d", ctx->id, q->type); > + mtk_v4l2_venc_dbg(2, ctx, "[%d]-> type=%d", ctx->id, q->type); > > if (q->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { > while ((dst_buf = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx))) { > @@ -972,7 +959,7 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q) > if (ctx->is_flushing) { > struct v4l2_m2m_buffer *b, *n; > > - mtk_v4l2_debug(1, "STREAMOFF called while flushing"); > + mtk_v4l2_venc_dbg(1, ctx, "STREAMOFF called while flushing"); > /* > * STREAMOFF could be called before the flush buffer is > * dequeued. Check whether empty flush buf is still in > @@ -1006,21 +993,21 @@ static void vb2ops_venc_stop_streaming(struct vb2_queue *q) > vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q)) || > (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && > vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q))) { > - mtk_v4l2_debug(1, "[%d]-> q type %d out=%d cap=%d", > - ctx->id, q->type, > - vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q), > - vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q)); > + mtk_v4l2_venc_dbg(1, ctx, "[%d]-> q type %d out=%d cap=%d", > + ctx->id, q->type, > + vb2_is_streaming(&ctx->m2m_ctx->out_q_ctx.q), > + vb2_is_streaming(&ctx->m2m_ctx->cap_q_ctx.q)); > return; > } > > /* Release the encoder if both streams are stopped. */ > ret = venc_if_deinit(ctx); > if (ret) > - mtk_v4l2_err("venc_if_deinit failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_deinit failed=%d", ret); > > ret = pm_runtime_put(&ctx->dev->plat_dev->dev); > if (ret < 0) > - mtk_v4l2_err("pm_runtime_put fail %d", ret); > + mtk_v4l2_venc_err(ctx, "pm_runtime_put fail %d", ret); > > ctx->state = MTK_STATE_FREE; > } > @@ -1054,7 +1041,7 @@ static int mtk_venc_encode_header(void *priv) > > dst_buf = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx); > if (!dst_buf) { > - mtk_v4l2_debug(1, "No dst buffer"); > + mtk_v4l2_venc_dbg(1, ctx, "No dst buffer"); > return -EINVAL; > } > > @@ -1062,12 +1049,10 @@ static int mtk_venc_encode_header(void *priv) > bs_buf.dma_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0); > bs_buf.size = (size_t)dst_buf->vb2_buf.planes[0].length; > > - mtk_v4l2_debug(1, > - "[%d] buf id=%d va=0x%p dma_addr=0x%llx size=%zu", > - ctx->id, > - dst_buf->vb2_buf.index, bs_buf.va, > - (u64)bs_buf.dma_addr, > - bs_buf.size); > + mtk_v4l2_venc_dbg(1, ctx, > + "[%d] buf id=%d va=0x%p dma_addr=0x%llx size=%zu", > + ctx->id, dst_buf->vb2_buf.index, bs_buf.va, > + (u64)bs_buf.dma_addr, bs_buf.size); > > ret = venc_if_encode(ctx, > VENC_START_OPT_ENCODE_SEQUENCE_HEADER, > @@ -1077,7 +1062,7 @@ static int mtk_venc_encode_header(void *priv) > vb2_set_plane_payload(&dst_buf->vb2_buf, 0, 0); > ctx->state = MTK_STATE_ABORT; > v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_ERROR); > - mtk_v4l2_err("venc_if_encode failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_encode failed=%d", ret); > return -EINVAL; > } > src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > @@ -1085,7 +1070,7 @@ static int mtk_venc_encode_header(void *priv) > dst_buf->vb2_buf.timestamp = src_buf->vb2_buf.timestamp; > dst_buf->timecode = src_buf->timecode; > } else { > - mtk_v4l2_err("No timestamp for the header buffer."); > + mtk_v4l2_venc_err(ctx, "No timestamp for the header buffer."); > } > > ctx->state = MTK_STATE_HEADER; > @@ -1114,10 +1099,8 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx) > > if (mtk_buf->param_change & MTK_ENCODE_PARAM_BITRATE) { > enc_prm.bitrate = mtk_buf->enc_params.bitrate; > - mtk_v4l2_debug(1, "[%d] id=%d, change param br=%d", > - ctx->id, > - vb2_v4l2->vb2_buf.index, > - enc_prm.bitrate); > + mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param br=%d", > + ctx->id, vb2_v4l2->vb2_buf.index, enc_prm.bitrate); > ret |= venc_if_set_param(ctx, > VENC_SET_PARAM_ADJUST_BITRATE, > &enc_prm); > @@ -1125,27 +1108,23 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx) > if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_FRAMERATE) { > enc_prm.frm_rate = mtk_buf->enc_params.framerate_num / > mtk_buf->enc_params.framerate_denom; > - mtk_v4l2_debug(1, "[%d] id=%d, change param fr=%d", > - ctx->id, > - vb2_v4l2->vb2_buf.index, > - enc_prm.frm_rate); > + mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param fr=%d", > + ctx->id, vb2_v4l2->vb2_buf.index, enc_prm.frm_rate); > ret |= venc_if_set_param(ctx, > VENC_SET_PARAM_ADJUST_FRAMERATE, > &enc_prm); > } > if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_GOP_SIZE) { > enc_prm.gop_size = mtk_buf->enc_params.gop_size; > - mtk_v4l2_debug(1, "change param intra period=%d", > - enc_prm.gop_size); > + mtk_v4l2_venc_dbg(1, ctx, "change param intra period=%d", enc_prm.gop_size); > ret |= venc_if_set_param(ctx, > VENC_SET_PARAM_GOP_SIZE, > &enc_prm); > } > if (!ret && mtk_buf->param_change & MTK_ENCODE_PARAM_FORCE_INTRA) { > - mtk_v4l2_debug(1, "[%d] id=%d, change param force I=%d", > - ctx->id, > - vb2_v4l2->vb2_buf.index, > - mtk_buf->enc_params.force_intra); > + mtk_v4l2_venc_dbg(1, ctx, "[%d] id=%d, change param force I=%d", > + ctx->id, vb2_v4l2->vb2_buf.index, > + mtk_buf->enc_params.force_intra); > if (mtk_buf->enc_params.force_intra) > ret |= venc_if_set_param(ctx, > VENC_SET_PARAM_FORCE_INTRA, > @@ -1156,8 +1135,8 @@ static int mtk_venc_param_change(struct mtk_vcodec_ctx *ctx) > > if (ret) { > ctx->state = MTK_STATE_ABORT; > - mtk_v4l2_err("venc_if_set_param %d failed=%d", > - mtk_buf->param_change, ret); > + mtk_v4l2_venc_err(ctx, "venc_if_set_param %d failed=%d", > + mtk_buf->param_change, ret); > return -1; > } > > @@ -1218,14 +1197,11 @@ static void mtk_venc_worker(struct work_struct *work) > bs_buf.dma_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0); > bs_buf.size = (size_t)dst_buf->vb2_buf.planes[0].length; > > - mtk_v4l2_debug(2, > - "Framebuf PA=%llx Size=0x%zx;PA=0x%llx Size=0x%zx;PA=0x%llx Size=%zu", > - (u64)frm_buf.fb_addr[0].dma_addr, > - frm_buf.fb_addr[0].size, > - (u64)frm_buf.fb_addr[1].dma_addr, > - frm_buf.fb_addr[1].size, > - (u64)frm_buf.fb_addr[2].dma_addr, > - frm_buf.fb_addr[2].size); > + mtk_v4l2_venc_dbg(2, ctx, > + "Framebuf PA=%llx Size=0x%zx;PA=0x%llx Size=0x%zx;PA=0x%llx Size=%zu", > + (u64)frm_buf.fb_addr[0].dma_addr, frm_buf.fb_addr[0].size, > + (u64)frm_buf.fb_addr[1].dma_addr, frm_buf.fb_addr[1].size, > + (u64)frm_buf.fb_addr[2].dma_addr, frm_buf.fb_addr[2].size); > > ret = venc_if_encode(ctx, VENC_START_OPT_ENCODE_FRAME, > &frm_buf, &bs_buf, &enc_result); > @@ -1240,20 +1216,19 @@ static void mtk_venc_worker(struct work_struct *work) > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR); > vb2_set_plane_payload(&dst_buf->vb2_buf, 0, 0); > v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_ERROR); > - mtk_v4l2_err("venc_if_encode failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_encode failed=%d", ret); > } else { > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE); > vb2_set_plane_payload(&dst_buf->vb2_buf, 0, enc_result.bs_size); > v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_DONE); > - mtk_v4l2_debug(2, "venc_if_encode bs size=%d", > - enc_result.bs_size); > + mtk_v4l2_venc_dbg(2, ctx, "venc_if_encode bs size=%d", > + enc_result.bs_size); > } > > v4l2_m2m_job_finish(ctx->dev->m2m_dev_enc, ctx->m2m_ctx); > > - mtk_v4l2_debug(1, "<=== src_buf[%d] dst_buf[%d] venc_if_encode ret=%d Size=%u===>", > - src_buf->vb2_buf.index, dst_buf->vb2_buf.index, ret, > - enc_result.bs_size); > + mtk_v4l2_venc_dbg(1, ctx, "<=== src_buf[%d] dst_buf[%d] venc_if_encode ret=%d Size=%u===>", > + src_buf->vb2_buf.index, dst_buf->vb2_buf.index, ret, enc_result.bs_size); > } > > static void m2mops_venc_device_run(void *priv) > @@ -1277,8 +1252,7 @@ static int m2mops_venc_job_ready(void *m2m_priv) > struct mtk_vcodec_ctx *ctx = m2m_priv; > > if (ctx->state == MTK_STATE_ABORT || ctx->state == MTK_STATE_FREE) { > - mtk_v4l2_debug(3, "[%d]Not ready: state=0x%x.", > - ctx->id, ctx->state); > + mtk_v4l2_venc_dbg(3, ctx, "[%d]Not ready: state=0x%x.", ctx->id, ctx->state); > return 0; > } > > @@ -1413,8 +1387,7 @@ int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx) > > > if (handler->error) { > - mtk_v4l2_err("Init control handler fail %d", > - handler->error); > + mtk_v4l2_venc_err(ctx, "Init control handler fail %d", handler->error); > return handler->error; > } > > @@ -1482,7 +1455,7 @@ void mtk_vcodec_enc_release(struct mtk_vcodec_ctx *ctx) > int ret = venc_if_deinit(ctx); > > if (ret) > - mtk_v4l2_err("venc_if_deinit failed=%d", ret); > + mtk_v4l2_venc_err(ctx, "venc_if_deinit failed=%d", ret); > > ctx->state = MTK_STATE_FREE; > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c > index 0db81e150b18..cb1dcbcb16bb 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c > @@ -97,12 +97,11 @@ static irqreturn_t mtk_vcodec_enc_irq_handler(int irq, void *priv) > > core_id = dev->venc_pdata->core_id; > if (core_id < 0 || core_id >= NUM_MAX_VCODEC_REG_BASE) { > - mtk_v4l2_err("Invalid core id: %d, ctx id: %d", > - core_id, ctx->id); > + mtk_v4l2_venc_err(ctx, "Invalid core id: %d, ctx id: %d", core_id, ctx->id); > return IRQ_HANDLED; > } > > - mtk_v4l2_debug(1, "id: %d, core id: %d", ctx->id, core_id); > + mtk_v4l2_venc_dbg(1, ctx, "id: %d, core id: %d", ctx->id, core_id); > > addr = dev->reg_base[core_id] + MTK_VENC_IRQ_ACK_OFFSET; > > @@ -143,16 +142,14 @@ static int fops_vcodec_open(struct file *file) > ctx->type = MTK_INST_ENCODER; > ret = mtk_vcodec_enc_ctrls_setup(ctx); > if (ret) { > - mtk_v4l2_err("Failed to setup controls() (%d)", > - ret); > + mtk_v4l2_venc_err(ctx, "Failed to setup controls() (%d)", ret); > goto err_ctrls_setup; > } > ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_enc, ctx, > &mtk_vcodec_enc_queue_init); > if (IS_ERR((__force void *)ctx->m2m_ctx)) { > ret = PTR_ERR((__force void *)ctx->m2m_ctx); > - mtk_v4l2_err("Failed to v4l2_m2m_ctx_init() (%d)", > - ret); > + mtk_v4l2_venc_err(ctx, "Failed to v4l2_m2m_ctx_init() (%d)", ret); > goto err_m2m_ctx_init; > } > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > @@ -171,23 +168,23 @@ static int fops_vcodec_open(struct file *file) > * Return 0 if downloading firmware successfully, > * otherwise it is failed > */ > - mtk_v4l2_err("vpu_load_firmware failed!"); > + mtk_v4l2_venc_err(ctx, "vpu_load_firmware failed!"); > goto err_load_fw; > } > > dev->enc_capability = > mtk_vcodec_fw_get_venc_capa(dev->fw_handler); > - mtk_v4l2_debug(0, "encoder capability %x", dev->enc_capability); > + mtk_v4l2_venc_dbg(0, ctx, "encoder capability %x", dev->enc_capability); > } > > - mtk_v4l2_debug(2, "Create instance [%d]@%p m2m_ctx=%p ", > - ctx->id, ctx, ctx->m2m_ctx); > + mtk_v4l2_venc_dbg(2, ctx, "Create instance [%d]@%p m2m_ctx=%p ", > + ctx->id, ctx, ctx->m2m_ctx); > > list_add(&ctx->list, &dev->ctx_list); > > mutex_unlock(&dev->dev_mutex); > - mtk_v4l2_debug(0, "%s encoder [%d]", dev_name(&dev->plat_dev->dev), > - ctx->id); > + mtk_v4l2_venc_dbg(0, ctx, "%s encoder [%d]", dev_name(&dev->plat_dev->dev), > + ctx->id); > return ret; > > /* Deinit when failure occurred */ > @@ -209,7 +206,7 @@ static int fops_vcodec_release(struct file *file) > struct mtk_vcodec_dev *dev = video_drvdata(file); > struct mtk_vcodec_ctx *ctx = fh_to_ctx(file->private_data); > > - mtk_v4l2_debug(1, "[%d] encoder", ctx->id); > + mtk_v4l2_venc_dbg(1, ctx, "[%d] encoder", ctx->id); > mutex_lock(&dev->dev_mutex); > > v4l2_m2m_ctx_release(ctx->m2m_ctx); > @@ -255,7 +252,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > &rproc_phandle)) { > fw_type = SCP; > } else { > - mtk_v4l2_err("Could not get venc IPI device"); > + dev_err(&pdev->dev, "[MTK VCODEC] Could not get venc IPI device"); > return -ENODEV; > } > dma_set_max_seg_size(&pdev->dev, UINT_MAX); > @@ -267,7 +264,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > dev->venc_pdata = of_device_get_match_data(&pdev->dev); > ret = mtk_vcodec_init_enc_clk(dev); > if (ret < 0) { > - dev_err(&pdev->dev, "Failed to get mtk vcodec clock source!"); > + dev_err(&pdev->dev, "[MTK VCODEC] Failed to get mtk vcodec clock source!"); > goto err_enc_pm; > } > > @@ -292,7 +289,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > 0, pdev->name, dev); > if (ret) { > dev_err(&pdev->dev, > - "Failed to install dev->enc_irq %d (%d) core_id (%d)", > + "[MTK VCODEC] Failed to install dev->enc_irq %d (%d) core_id (%d)", > dev->enc_irq, ret, dev->venc_pdata->core_id); > ret = -EINVAL; > goto err_res; > @@ -307,14 +304,14 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > > ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev); > if (ret) { > - mtk_v4l2_err("v4l2_device_register err=%d", ret); > + dev_err(&pdev->dev, "[MTK VCODEC] v4l2_device_register err=%d", ret); > goto err_res; > } > > /* allocate video device for encoder and register it */ > vfd_enc = video_device_alloc(); > if (!vfd_enc) { > - mtk_v4l2_err("Failed to allocate video device"); > + dev_err(&pdev->dev, "[MTK VCODEC] Failed to allocate video device"); > ret = -ENOMEM; > goto err_enc_alloc; > } > @@ -335,7 +332,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > > dev->m2m_dev_enc = v4l2_m2m_init(&mtk_venc_m2m_ops); > if (IS_ERR((__force void *)dev->m2m_dev_enc)) { > - mtk_v4l2_err("Failed to init mem2mem enc device"); > + dev_err(&pdev->dev, "[MTK VCODEC] Failed to init mem2mem enc device"); > ret = PTR_ERR((__force void *)dev->m2m_dev_enc); > goto err_enc_mem_init; > } > @@ -345,20 +342,20 @@ static int mtk_vcodec_probe(struct platform_device *pdev) > WQ_MEM_RECLAIM | > WQ_FREEZABLE); > if (!dev->encode_workqueue) { > - mtk_v4l2_err("Failed to create encode workqueue"); > + dev_err(&pdev->dev, "[MTK VCODEC] Failed to create encode workqueue"); > ret = -EINVAL; > goto err_event_workq; > } > > ret = video_register_device(vfd_enc, VFL_TYPE_VIDEO, -1); > if (ret) { > - mtk_v4l2_err("Failed to register video device"); > + dev_err(&pdev->dev, "[MTK VCODEC] Failed to register video device"); > goto err_enc_reg; > } > > mtk_vcodec_dbgfs_init(dev, true); > - mtk_v4l2_debug(0, "encoder %d registered as /dev/video%d", > - dev->venc_pdata->core_id, vfd_enc->num); > + dev_dbg(&pdev->dev, "[MTK VCODEC] encoder %d registered as /dev/video%d", > + dev->venc_pdata->core_id, vfd_enc->num); > > return 0; > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c > index 7055954eb2af..3165e114b221 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_pm.c > @@ -35,7 +35,7 @@ int mtk_vcodec_init_enc_clk(struct mtk_vcodec_dev *mtkdev) > if (!enc_clk->clk_info) > return -ENOMEM; > } else { > - mtk_v4l2_err("Failed to get venc clock count"); > + dev_err(pm->dev, "[MTK VCODEC] Failed to get venc clock count"); > return -EINVAL; > } > > @@ -44,13 +44,13 @@ int mtk_vcodec_init_enc_clk(struct mtk_vcodec_dev *mtkdev) > ret = of_property_read_string_index(pdev->dev.of_node, > "clock-names", i, &clk_info->clk_name); > if (ret) { > - mtk_v4l2_err("venc failed to get clk name %d", i); > + dev_err(pm->dev, "[MTK VCODEC] venc failed to get clk name %d", i); > return ret; > } > clk_info->vcodec_clk = devm_clk_get(&pdev->dev, > clk_info->clk_name); > if (IS_ERR(clk_info->vcodec_clk)) { > - mtk_v4l2_err("venc devm_clk_get (%d)%s fail", i, > + dev_err(pm->dev, "[MTK VCODEC] venc devm_clk_get (%d)%s fail", i, > clk_info->clk_name); > return PTR_ERR(clk_info->vcodec_clk); > } > @@ -67,7 +67,7 @@ void mtk_vcodec_enc_clock_on(struct mtk_vcodec_pm *pm) > for (i = 0; i < enc_clk->clk_num; i++) { > ret = clk_prepare_enable(enc_clk->clk_info[i].vcodec_clk); > if (ret) { > - mtk_v4l2_err("venc clk_prepare_enable %d %s fail %d", i, > + dev_err(pm->dev, "[MTK VCODEC] venc clk_prepare_enable %d %s fail %d", i, > enc_clk->clk_info[i].clk_name, ret); > goto clkerr; > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c > index be9159acacf8..623dd916d09e 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw.c > @@ -14,7 +14,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_select(void *priv, enum mtk_vcodec_fw_type t > case SCP: > return mtk_vcodec_fw_scp_init(priv, fw_use); > default: > - mtk_v4l2_err("invalid vcodec fw type"); > + pr_err("invalid vcodec fw type"); > return ERR_PTR(-EINVAL); > } > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c > index 9a2472442c6f..71ff1a6ae872 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_scp.c > @@ -63,7 +63,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_scp_init(void *priv, enum mtk_vcodec_fw_use > plat_dev = dev->plat_dev; > scp = scp_get(plat_dev); > if (!scp) { > - mtk_v4l2_err("could not get vdec scp handle"); > + dev_err(&dev->plat_dev->dev, "could not get vdec scp handle"); > return ERR_PTR(-EPROBE_DEFER); > } > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c > index 46a028031133..ee6846886dd6 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_fw_vpu.c > @@ -56,13 +56,12 @@ static void mtk_vcodec_vpu_reset_handler(void *priv) > struct mtk_vcodec_dev *dev = priv; > struct mtk_vcodec_ctx *ctx; > > - mtk_v4l2_err("Watchdog timeout!!"); > + dev_err(&dev->plat_dev->dev, "Watchdog timeout!!"); > > mutex_lock(&dev->dev_mutex); > list_for_each_entry(ctx, &dev->ctx_list, list) { > ctx->state = MTK_STATE_ABORT; > - mtk_v4l2_debug(0, "[%d] Change to state MTK_STATE_ABORT", > - ctx->id); > + mtk_v4l2_vdec_dbg(0, ctx, "[%d] Change to state MTK_STATE_ABORT", ctx->id); > } > mutex_unlock(&dev->dev_mutex); > } > @@ -98,7 +97,7 @@ struct mtk_vcodec_fw *mtk_vcodec_fw_vpu_init(void *priv, enum mtk_vcodec_fw_use > plat_dev = dev->plat_dev; > fw_pdev = vpu_get_plat_device(plat_dev); > if (!fw_pdev) { > - mtk_v4l2_err("firmware device is not ready"); > + dev_err(&dev->plat_dev->dev, "firmware device is not ready"); > return ERR_PTR(-EINVAL); > } > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c > index daa44f635727..5a06be55915b 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c > @@ -33,14 +33,14 @@ int mtk_vcodec_wait_for_done_ctx(void *priv, int command, unsigned int timeout_m > > if (!ret) { > status = -1; /* timeout */ > - mtk_v4l2_err("[%d] cmd=%d, type=%d, dec timeout=%ums (%d %d)", > - ctx_id, command, ctx_type, timeout_ms, > - ctx_int_cond[hw_id], ctx_int_type[hw_id]); > + dev_err(&ctx->dev->plat_dev->dev, "[%d] cmd=%d, type=%d, dec timeout=%ums (%d %d)", > + ctx_id, command, ctx_type, timeout_ms, > + ctx_int_cond[hw_id], ctx_int_type[hw_id]); > } else if (-ERESTARTSYS == ret) { > status = -1; > - mtk_v4l2_err("[%d] cmd=%d, type=%d, dec inter fail (%d %d)", > - ctx_id, command, ctx_type, > - ctx_int_cond[hw_id], ctx_int_type[hw_id]); > + dev_err(&ctx->dev->plat_dev->dev, "[%d] cmd=%d, type=%d, dec inter fail (%d %d)", > + ctx_id, command, ctx_type, > + ctx_int_cond[hw_id], ctx_int_type[hw_id]); > } > > ctx_int_cond[hw_id] = 0; > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c > index 847e321f4fcc..4e524594df4a 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.c > @@ -24,7 +24,7 @@ EXPORT_SYMBOL(mtk_v4l2_dbg_level); > void __iomem *mtk_vcodec_get_reg_addr(void __iomem **reg_base, unsigned int reg_idx) > { > if (reg_idx >= NUM_MAX_VCODEC_REG_BASE) { > - mtk_v4l2_err("Invalid arguments, reg_idx=%d", reg_idx); > + pr_err("Invalid arguments, reg_idx=%d", reg_idx); > return NULL; > } > return reg_base[reg_idx]; > @@ -39,15 +39,14 @@ int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem) > > mem->va = dma_alloc_coherent(dev, size, &mem->dma_addr, GFP_KERNEL); > if (!mem->va) { > - mtk_v4l2_err("%s dma_alloc size=%ld failed!", dev_name(dev), > - size); > + mtk_v4l2_vdec_err(ctx, "%s dma_alloc size=%ld failed!", dev_name(dev), size); > return -ENOMEM; > } > > - mtk_v4l2_debug(3, "[%d] - va = %p", ctx->id, mem->va); > - mtk_v4l2_debug(3, "[%d] - dma = 0x%lx", ctx->id, > - (unsigned long)mem->dma_addr); > - mtk_v4l2_debug(3, "[%d] size = 0x%lx", ctx->id, size); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] - va = %p", ctx->id, mem->va); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] - dma = 0x%lx", ctx->id, > + (unsigned long)mem->dma_addr); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] size = 0x%lx", ctx->id, size); > > return 0; > } > @@ -60,15 +59,14 @@ void mtk_vcodec_mem_free(void *priv, struct mtk_vcodec_mem *mem) > struct device *dev = &ctx->dev->plat_dev->dev; > > if (!mem->va) { > - mtk_v4l2_err("%s dma_free size=%ld failed!", dev_name(dev), > - size); > + mtk_v4l2_vdec_err(ctx, "%s dma_free size=%ld failed!", dev_name(dev), size); > return; > } > > - mtk_v4l2_debug(3, "[%d] - va = %p", ctx->id, mem->va); > - mtk_v4l2_debug(3, "[%d] - dma = 0x%lx", ctx->id, > - (unsigned long)mem->dma_addr); > - mtk_v4l2_debug(3, "[%d] size = 0x%lx", ctx->id, size); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] - va = %p", ctx->id, mem->va); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] - dma = 0x%lx", ctx->id, > + (unsigned long)mem->dma_addr); > + mtk_v4l2_vdec_dbg(3, ctx, "[%d] size = 0x%lx", ctx->id, size); > > dma_free_coherent(dev, size, mem->va, mem->dma_addr); > mem->va = NULL; > @@ -80,7 +78,7 @@ EXPORT_SYMBOL(mtk_vcodec_mem_free); > void *mtk_vcodec_get_hw_dev(struct mtk_vcodec_dev *dev, int hw_idx) > { > if (hw_idx >= MTK_VDEC_HW_MAX || hw_idx < 0 || !dev->subdev_dev[hw_idx]) { > - mtk_v4l2_err("hw idx is out of range:%d", hw_idx); > + dev_err(&dev->plat_dev->dev, "hw idx is out of range:%d", hw_idx); > return NULL; > } > > @@ -98,7 +96,7 @@ void mtk_vcodec_set_curr_ctx(struct mtk_vcodec_dev *vdec_dev, > if (vdec_dev->vdec_pdata->is_subdev_supported) { > subdev_dev = mtk_vcodec_get_hw_dev(vdec_dev, hw_idx); > if (!subdev_dev) { > - mtk_v4l2_err("Failed to get hw dev"); > + dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev"); > spin_unlock_irqrestore(&vdec_dev->irqlock, flags); > return; > } > @@ -121,7 +119,7 @@ struct mtk_vcodec_ctx *mtk_vcodec_get_curr_ctx(struct mtk_vcodec_dev *vdec_dev, > if (vdec_dev->vdec_pdata->is_subdev_supported) { > subdev_dev = mtk_vcodec_get_hw_dev(vdec_dev, hw_idx); > if (!subdev_dev) { > - mtk_v4l2_err("Failed to get hw dev"); > + dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev"); > spin_unlock_irqrestore(&vdec_dev->irqlock, flags); > return NULL; > } > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h > index a684a7e4ab6e..e68323ce8eeb 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h > @@ -28,8 +28,8 @@ struct mtk_vcodec_dev; > #undef pr_fmt > #define pr_fmt(fmt) "%s(),%d: " fmt, __func__, __LINE__ > > -#define mtk_v4l2_err(fmt, args...) \ > - pr_err("[MTK_V4L2][ERROR] " fmt "\n", ##args) > +#define mtk_v4l2_err(plat_dev, fmt, args...) \ > + dev_err(&(plat_dev)->dev, "[MTK_V4L2][ERROR] " fmt "\n", ##args) > > #define mtk_vcodec_err(inst_id, plat_dev, fmt, args...) \ > dev_err(&(plat_dev)->dev, "[MTK_VCODEC][ERROR][%d]: " fmt "\n", inst_id, ##args) > @@ -38,11 +38,11 @@ struct mtk_vcodec_dev; > extern int mtk_v4l2_dbg_level; > extern int mtk_vcodec_dbg; > > -#define mtk_v4l2_debug(level, fmt, args...) \ > - do { \ > - if (mtk_v4l2_dbg_level >= (level)) \ > - pr_debug("[MTK_V4L2] %s, %d: " fmt "\n", \ > - __func__, __LINE__, ##args); \ > +#define mtk_v4l2_debug(plat_dev, level, fmt, args...) \ > + do { \ > + if (mtk_v4l2_dbg_level >= (level)) \ > + dev_dbg(&(plat_dev)->dev, "[MTK_V4L2] %s, %d: " fmt "\n", \ > + __func__, __LINE__, ##args); \ > } while (0) > > #define mtk_vcodec_debug(inst_id, plat_dev, fmt, args...) \ > @@ -70,6 +70,16 @@ extern int mtk_vcodec_dbg; > #define mtk_venc_debug(ctx, fmt, args...) \ > mtk_vcodec_debug((ctx)->id, (ctx)->dev->plat_dev, fmt, ##args) > > +#define mtk_v4l2_vdec_err(ctx, fmt, args...) mtk_v4l2_err((ctx)->dev->plat_dev, fmt, ##args) > + > +#define mtk_v4l2_vdec_dbg(level, ctx, fmt, args...) \ > + mtk_v4l2_debug((ctx)->dev->plat_dev, level, fmt, ##args) > + > +#define mtk_v4l2_venc_err(ctx, fmt, args...) mtk_v4l2_err((ctx)->dev->plat_dev, fmt, ##args) > + > +#define mtk_v4l2_venc_dbg(level, ctx, fmt, args...) \ > + mtk_v4l2_debug((ctx)->dev->plat_dev, level, fmt, ##args) > + > void __iomem *mtk_vcodec_get_reg_addr(void __iomem **reg_base, unsigned int reg_idx); > int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem); > void mtk_vcodec_mem_free(void *priv, struct mtk_vcodec_mem *mem); > diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c > index dfed8fe7f54c..fcfc673ca58b 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_av1_req_lat_if.c > @@ -861,8 +861,8 @@ static void vdec_av1_slice_decrease_ref_count(struct vdec_av1_slice_slot *slots, > frame_info[fb_idx].ref_count--; > if (frame_info[fb_idx].ref_count < 0) { > frame_info[fb_idx].ref_count = 0; > - mtk_v4l2_err("av1_error: %s() fb_idx %d decrease ref_count error\n", > - __func__, fb_idx); > + pr_err("av1_error: %s() fb_idx %d decrease ref_count error\n", > + __func__, fb_idx); > } > > vdec_av1_slice_clear_fb(&frame_info[fb_idx]); > @@ -910,7 +910,7 @@ static void vdec_av1_slice_setup_slot(struct vdec_av1_slice_instance *instance, > vsi->slot_id = vdec_av1_slice_get_new_slot(vsi); > > if (vsi->slot_id == AV1_INVALID_IDX) { > - mtk_v4l2_err("warning:av1 get invalid index slot\n"); > + mtk_v4l2_vdec_err(instance->ctx, "warning:av1 get invalid index slot\n"); > vsi->slot_id = 0; > } > cur_frame_info = &vsi->slots.frame_info[vsi->slot_id]; > @@ -1504,8 +1504,8 @@ static void vdec_av1_slice_setup_ref(struct vdec_av1_slice_pfc *pfc, > slot_id = frame->ref_frame_map[ref_idx]; > frame_info = &slots->frame_info[slot_id]; > if (slot_id == AV1_INVALID_IDX) { > - mtk_v4l2_err("cannot match reference[%d] 0x%llx\n", i, > - ctrl_fh->reference_frame_ts[ref_idx]); > + pr_err("cannot match reference[%d] 0x%llx\n", i, > + ctrl_fh->reference_frame_ts[ref_idx]); > frame->order_hints[i] = 0; > frame->ref_frame_valid[i] = 0; > continue; > diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c > index 250746db366b..bdff1d2feb1c 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c > @@ -187,7 +187,7 @@ static int alloc_mv_buf(struct vdec_h264_slice_inst *inst, > struct mtk_vcodec_mem *mem = NULL; > unsigned int buf_sz = mtk_vdec_h264_get_mv_buf_size(pic->buf_w, pic->buf_h); > > - mtk_v4l2_debug(3, "size = 0x%x", buf_sz); > + mtk_v4l2_vdec_dbg(3, inst->ctx, "size = 0x%x", buf_sz); > for (i = 0; i < H264_MAX_MV_NUM; i++) { > mem = &inst->mv_buf[i]; > if (mem->va) > @@ -243,12 +243,12 @@ static void get_pic_info(struct vdec_h264_slice_inst *inst, > ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h) > inst->vsi_ctx.dec.realloc_mv_buf = true; > > - mtk_v4l2_debug(1, "ResChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > - inst->vsi_ctx.dec.resolution_changed, > - inst->vsi_ctx.dec.realloc_mv_buf, > - ctx->last_decoded_picinfo.pic_w, > - ctx->last_decoded_picinfo.pic_h, > - ctx->picinfo.pic_w, ctx->picinfo.pic_h); > + mtk_v4l2_vdec_dbg(1, inst->ctx, "ResChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > + inst->vsi_ctx.dec.resolution_changed, > + inst->vsi_ctx.dec.realloc_mv_buf, > + ctx->last_decoded_picinfo.pic_w, > + ctx->last_decoded_picinfo.pic_h, > + ctx->picinfo.pic_w, ctx->picinfo.pic_h); > } > } > > diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c > index 2a160dcb5296..1c2389e63e4c 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c > @@ -294,7 +294,7 @@ static void vdec_h264_slice_fill_decode_reflist(struct vdec_h264_slice_inst *ins > mtk_vdec_h264_fill_dpb_info(inst->ctx, &slice_param->decode_params, > slice_param->h264_dpb_info); > > - mtk_v4l2_debug(3, "cur poc = %d\n", dec_params->bottom_field_order_cnt); > + mtk_v4l2_vdec_dbg(3, inst->ctx, "cur poc = %d\n", dec_params->bottom_field_order_cnt); > /* Build the reference lists */ > v4l2_h264_init_reflist_builder(&reflist_builder, dec_params, sps, > inst->dpb); > @@ -314,7 +314,7 @@ static int vdec_h264_slice_alloc_mv_buf(struct vdec_h264_slice_inst *inst, > struct mtk_vcodec_mem *mem; > int i, err; > > - mtk_v4l2_debug(3, "size = 0x%x", buf_sz); > + mtk_v4l2_vdec_dbg(3, inst->ctx, "size = 0x%x", buf_sz); > for (i = 0; i < H264_MAX_MV_NUM; i++) { > mem = &inst->mv_buf[i]; > if (mem->va) > @@ -372,12 +372,12 @@ static void vdec_h264_slice_get_pic_info(struct vdec_h264_slice_inst *inst) > ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h) > inst->realloc_mv_buf = true; > > - mtk_v4l2_debug(1, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > - inst->resolution_changed, > - inst->realloc_mv_buf, > - ctx->last_decoded_picinfo.pic_w, > - ctx->last_decoded_picinfo.pic_h, > - ctx->picinfo.pic_w, ctx->picinfo.pic_h); > + mtk_v4l2_vdec_dbg(1, inst->ctx, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > + inst->resolution_changed, > + inst->realloc_mv_buf, > + ctx->last_decoded_picinfo.pic_w, > + ctx->last_decoded_picinfo.pic_h, > + ctx->picinfo.pic_w, ctx->picinfo.pic_h); > } > } > > diff --git a/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c b/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c > index 5a864bcfe7ba..aa32b7cbf6f1 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c > @@ -649,7 +649,7 @@ static int vdec_hevc_slice_alloc_mv_buf(struct vdec_hevc_slice_inst *inst, > struct mtk_vcodec_mem *mem; > int i, err; > > - mtk_v4l2_debug(3, "allocate mv buffer size = 0x%x", buf_sz); > + mtk_v4l2_vdec_dbg(3, inst->ctx, "allocate mv buffer size = 0x%x", buf_sz); > for (i = 0; i < HEVC_MAX_MV_NUM; i++) { > mem = &inst->mv_buf[i]; > if (mem->va) > @@ -707,12 +707,12 @@ static void vdec_hevc_slice_get_pic_info(struct vdec_hevc_slice_inst *inst) > ctx->last_decoded_picinfo.buf_h != ctx->picinfo.buf_h) > inst->realloc_mv_buf = true; > > - mtk_v4l2_debug(1, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > - inst->resolution_changed, > - inst->realloc_mv_buf, > - ctx->last_decoded_picinfo.pic_w, > - ctx->last_decoded_picinfo.pic_h, > - ctx->picinfo.pic_w, ctx->picinfo.pic_h); > + mtk_v4l2_vdec_dbg(1, inst->ctx, "resChg: (%d %d) : old(%d, %d) -> new(%d, %d)", > + inst->resolution_changed, > + inst->realloc_mv_buf, > + ctx->last_decoded_picinfo.pic_w, > + ctx->last_decoded_picinfo.pic_h, > + ctx->picinfo.pic_w, ctx->picinfo.pic_h); > } > } > > diff --git a/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c b/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c > index 06d393174cc2..e66faf50892b 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec_drv_if.c > @@ -75,7 +75,7 @@ int vdec_if_decode(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_mem *bs, > > if (bs) { > if ((bs->dma_addr & 63) != 0) { > - mtk_v4l2_err("bs dma_addr should 64 byte align"); > + mtk_v4l2_vdec_err(ctx, "bs dma_addr should 64 byte align"); > return -EINVAL; > } > } > @@ -83,7 +83,7 @@ int vdec_if_decode(struct mtk_vcodec_ctx *ctx, struct mtk_vcodec_mem *bs, > if (fb) { > if (((fb->base_y.dma_addr & 511) != 0) || > ((fb->base_c.dma_addr & 511) != 0)) { > - mtk_v4l2_err("frame buffer dma_addr should 512 byte align"); > + mtk_v4l2_vdec_err(ctx, "frame buffer dma_addr should 512 byte align"); > return -EINVAL; > } > } > diff --git a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c > index f555341ae708..1b2d01b15032 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c > @@ -77,7 +77,7 @@ int vdec_msg_queue_qbuf(struct vdec_msg_queue_ctx *msg_ctx, struct vdec_lat_buf > > head = vdec_get_buf_list(msg_ctx->hardware_index, buf); > if (!head) { > - mtk_v4l2_err("fail to qbuf: %d", msg_ctx->hardware_index); > + mtk_v4l2_vdec_err(buf->ctx, "fail to qbuf: %d", msg_ctx->hardware_index); > return -EINVAL; > } > > @@ -95,8 +95,8 @@ int vdec_msg_queue_qbuf(struct vdec_msg_queue_ctx *msg_ctx, struct vdec_lat_buf > } > } > > - mtk_v4l2_debug(3, "enqueue buf type: %d addr: 0x%p num: %d", > - msg_ctx->hardware_index, buf, msg_ctx->ready_num); > + mtk_v4l2_vdec_dbg(3, buf->ctx, "enqueue buf type: %d addr: 0x%p num: %d", > + msg_ctx->hardware_index, buf, msg_ctx->ready_num); > spin_unlock(&msg_ctx->ready_lock); > > return 0; > @@ -123,8 +123,6 @@ struct vdec_lat_buf *vdec_msg_queue_dqbuf(struct vdec_msg_queue_ctx *msg_ctx) > > spin_lock(&msg_ctx->ready_lock); > if (list_empty(&msg_ctx->ready_queue)) { > - mtk_v4l2_debug(3, "queue is NULL, type:%d num: %d", > - msg_ctx->hardware_index, msg_ctx->ready_num); > spin_unlock(&msg_ctx->ready_lock); > > if (msg_ctx->hardware_index == MTK_VDEC_CORE) > @@ -146,15 +144,15 @@ struct vdec_lat_buf *vdec_msg_queue_dqbuf(struct vdec_msg_queue_ctx *msg_ctx) > head = vdec_get_buf_list(msg_ctx->hardware_index, buf); > if (!head) { > spin_unlock(&msg_ctx->ready_lock); > - mtk_v4l2_err("fail to dqbuf: %d", msg_ctx->hardware_index); > + mtk_v4l2_vdec_err(buf->ctx, "fail to dqbuf: %d", msg_ctx->hardware_index); > return NULL; > } > list_del(head); > vdec_msg_queue_dec(&buf->ctx->msg_queue, msg_ctx->hardware_index); > > msg_ctx->ready_num--; > - mtk_v4l2_debug(3, "dqueue buf type:%d addr: 0x%p num: %d", > - msg_ctx->hardware_index, buf, msg_ctx->ready_num); > + mtk_v4l2_vdec_dbg(3, buf->ctx, "dqueue buf type:%d addr: 0x%p num: %d", > + msg_ctx->hardware_index, buf, msg_ctx->ready_num); > spin_unlock(&msg_ctx->ready_lock); > > return buf; > @@ -164,7 +162,7 @@ void vdec_msg_queue_update_ube_rptr(struct vdec_msg_queue *msg_queue, uint64_t u > { > spin_lock(&msg_queue->lat_ctx.ready_lock); > msg_queue->wdma_rptr_addr = ube_rptr; > - mtk_v4l2_debug(3, "update ube rprt (0x%llx)", ube_rptr); > + mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "update ube rprt (0x%llx)", ube_rptr); > spin_unlock(&msg_queue->lat_ctx.ready_lock); > } > > @@ -172,20 +170,19 @@ void vdec_msg_queue_update_ube_wptr(struct vdec_msg_queue *msg_queue, uint64_t u > { > spin_lock(&msg_queue->lat_ctx.ready_lock); > msg_queue->wdma_wptr_addr = ube_wptr; > - mtk_v4l2_debug(3, "update ube wprt: (0x%llx 0x%llx) offset: 0x%llx", > - msg_queue->wdma_rptr_addr, msg_queue->wdma_wptr_addr, > - ube_wptr); > + mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "update ube wprt: (0x%llx 0x%llx) offset: 0x%llx", > + msg_queue->wdma_rptr_addr, msg_queue->wdma_wptr_addr, > + ube_wptr); > spin_unlock(&msg_queue->lat_ctx.ready_lock); > } > > bool vdec_msg_queue_wait_lat_buf_full(struct vdec_msg_queue *msg_queue) > { > if (atomic_read(&msg_queue->lat_list_cnt) == NUM_BUFFER_COUNT) { > - mtk_v4l2_debug(3, "wait buf full: list(%d %d) ready_num:%d status:%d", > - atomic_read(&msg_queue->lat_list_cnt), > - atomic_read(&msg_queue->core_list_cnt), > - msg_queue->lat_ctx.ready_num, > - msg_queue->status); > + mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "wait buf full: (%d %d) ready:%d status:%d", > + atomic_read(&msg_queue->lat_list_cnt), > + atomic_read(&msg_queue->core_list_cnt), > + msg_queue->lat_ctx.ready_num, msg_queue->status); > return true; > } > > @@ -193,10 +190,10 @@ bool vdec_msg_queue_wait_lat_buf_full(struct vdec_msg_queue *msg_queue) > vdec_msg_queue_qbuf(&msg_queue->core_ctx, &msg_queue->empty_lat_buf); > wait_event(msg_queue->core_dec_done, msg_queue->flush_done); > > - mtk_v4l2_debug(3, "flush done => ready_num:%d status:%d list(%d %d)", > - msg_queue->lat_ctx.ready_num, msg_queue->status, > - atomic_read(&msg_queue->lat_list_cnt), > - atomic_read(&msg_queue->core_list_cnt)); > + mtk_v4l2_vdec_dbg(3, msg_queue->ctx, "flush done => ready_num:%d status:%d list(%d %d)", > + msg_queue->lat_ctx.ready_num, msg_queue->status, > + atomic_read(&msg_queue->lat_list_cnt), > + atomic_read(&msg_queue->core_list_cnt)); > > return false; > } > @@ -305,7 +302,7 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue, > ctx->picinfo.buf_h); > err = mtk_vcodec_mem_alloc(ctx, &msg_queue->wdma_addr); > if (err) { > - mtk_v4l2_err("failed to allocate wdma_addr buf"); > + mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_addr buf"); > return -ENOMEM; > } > msg_queue->wdma_rptr_addr = msg_queue->wdma_addr.dma_addr; > @@ -315,20 +312,21 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue, > msg_queue->empty_lat_buf.core_decode = NULL; > msg_queue->empty_lat_buf.is_last_frame = true; > > + msg_queue->ctx = ctx; > for (i = 0; i < NUM_BUFFER_COUNT; i++) { > lat_buf = &msg_queue->lat_buf[i]; > > lat_buf->wdma_err_addr.size = VDEC_ERR_MAP_SZ_AVC; > err = mtk_vcodec_mem_alloc(ctx, &lat_buf->wdma_err_addr); > if (err) { > - mtk_v4l2_err("failed to allocate wdma_err_addr buf[%d]", i); > + mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_err_addr buf[%d]", i); > goto mem_alloc_err; > } > > lat_buf->slice_bc_addr.size = VDEC_LAT_SLICE_HEADER_SZ; > err = mtk_vcodec_mem_alloc(ctx, &lat_buf->slice_bc_addr); > if (err) { > - mtk_v4l2_err("failed to allocate wdma_addr buf[%d]", i); > + mtk_v4l2_vdec_err(ctx, "failed to allocate wdma_addr buf[%d]", i); > goto mem_alloc_err; > } > > @@ -336,14 +334,14 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue, > lat_buf->rd_mv_addr.size = VDEC_RD_MV_BUFFER_SZ; > err = mtk_vcodec_mem_alloc(ctx, &lat_buf->rd_mv_addr); > if (err) { > - mtk_v4l2_err("failed to allocate rd_mv_addr buf[%d]", i); > + mtk_v4l2_vdec_err(ctx, "failed to allocate rd_mv_addr buf[%d]", i); > return -ENOMEM; > } > > lat_buf->tile_addr.size = VDEC_LAT_TILE_SZ; > err = mtk_vcodec_mem_alloc(ctx, &lat_buf->tile_addr); > if (err) { > - mtk_v4l2_err("failed to allocate tile_addr buf[%d]", i); > + mtk_v4l2_vdec_err(ctx, "failed to allocate tile_addr buf[%d]", i); > return -ENOMEM; > } > } > @@ -359,7 +357,7 @@ int vdec_msg_queue_init(struct vdec_msg_queue *msg_queue, > lat_buf->is_last_frame = false; > err = vdec_msg_queue_qbuf(&msg_queue->lat_ctx, lat_buf); > if (err) { > - mtk_v4l2_err("failed to qbuf buf[%d]", i); > + mtk_v4l2_vdec_err(ctx, "failed to qbuf buf[%d]", i); > goto mem_alloc_err; > } > } > diff --git a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h > index 2a745e902ad1..2f82cc08caa3 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h > +++ b/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.h > @@ -100,6 +100,7 @@ struct vdec_lat_buf { > * @empty_lat_buf: the last lat buf used to flush decode > * @core_dec_done: core work queue decode done event > * @status: current context decode status for core hardware > + * @ctx: mtk vcodec context information > */ > struct vdec_msg_queue { > struct vdec_lat_buf lat_buf[NUM_BUFFER_COUNT]; > @@ -118,6 +119,7 @@ struct vdec_msg_queue { > struct vdec_lat_buf empty_lat_buf; > wait_queue_head_t core_dec_done; > int status; > + struct mtk_vcodec_ctx *ctx; > }; > > /** > diff --git a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > index ab15ee6e2005..d82391411ba1 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > @@ -91,7 +91,7 @@ static void vpu_dec_ipi_handler(void *data, unsigned int len, void *priv) > (unsigned long)msg->ap_inst_addr; > > if (!vpu) { > - mtk_v4l2_err("ap_inst_addr is NULL, did the SCP hang or crash?"); > + mtk_v4l2_vdec_err(vpu->ctx, "ap_inst_addr is NULL, did the SCP hang or crash?"); > return; > } >
Hi Nicolas, Thanks for your suggestion. On Mon, 2023-07-03 at 15:46 -0400, Nicolas Dufresne wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > Le lundi 26 juin 2023 à 11:53 +0800, Yunfei Dong a écrit : > > Adding different macro mtk_v4l2_vdec_dbg and mtk_v4l2_venc_dbg for > > encoder and decoder. Then calling the common marco mtk_v4l2_debug > to > > print debug message. > > > > Replace pr_err with dev_err for 'mtk_v4l2_err' debug message. > > Replace pr_debug with dev_dbg for 'mtk_v4l2_debug' debug message. > > > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > > --- > > .../platform/mediatek/vcodec/mtk_vcodec_dec.c | 116 +++++----- > > .../mediatek/vcodec/mtk_vcodec_dec_drv.c | 53 ++--- > > .../mediatek/vcodec/mtk_vcodec_dec_hw.c | 7 +- > > .../mediatek/vcodec/mtk_vcodec_dec_pm.c | 19 +- > > .../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 143 ++++++------ > > .../vcodec/mtk_vcodec_dec_stateless.c | 62 ++--- > > .../platform/mediatek/vcodec/mtk_vcodec_enc.c | 211 ++++++++---- > ------ > > .../mediatek/vcodec/mtk_vcodec_enc_drv.c | 45 ++-- > > .../mediatek/vcodec/mtk_vcodec_enc_pm.c | 8 +- > > .../platform/mediatek/vcodec/mtk_vcodec_fw.c | 2 +- > > .../mediatek/vcodec/mtk_vcodec_fw_scp.c | 2 +- > > .../mediatek/vcodec/mtk_vcodec_fw_vpu.c | 7 +- > > .../mediatek/vcodec/mtk_vcodec_intr.c | 12 +- > > .../mediatek/vcodec/mtk_vcodec_util.c | 30 ++- > > .../mediatek/vcodec/mtk_vcodec_util.h | 24 +- > > .../vcodec/vdec/vdec_av1_req_lat_if.c | 10 +- > > .../mediatek/vcodec/vdec/vdec_h264_req_if.c | 14 +- > > .../vcodec/vdec/vdec_h264_req_multi_if.c | 16 +- > > .../vcodec/vdec/vdec_hevc_req_multi_if.c | 14 +- > > .../platform/mediatek/vcodec/vdec_drv_if.c | 4 +- > > .../platform/mediatek/vcodec/vdec_msg_queue.c | 52 +++-- > > .../platform/mediatek/vcodec/vdec_msg_queue.h | 2 + > > .../platform/mediatek/vcodec/vdec_vpu_if.c | 2 +- > > 23 files changed, 413 insertions(+), 442 deletions(-) > > > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > > index 93fcea821001..269f90fe0a1a 100644 > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > > @@ -82,7 +82,7 @@ static int vidioc_decoder_cmd(struct file *file, > void *priv, > > if (ret) > > return ret; > > > > -mtk_v4l2_debug(1, "decoder cmd=%u", cmd->cmd); > > +mtk_v4l2_vdec_dbg(1, ctx, "decoder cmd=%u", cmd->cmd); > > dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > > V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); > > switch (cmd->cmd) { > > @@ -90,11 +90,11 @@ static int vidioc_decoder_cmd(struct file > *file, void *priv, > > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > > V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE); > > if (!vb2_is_streaming(src_vq)) { > > -mtk_v4l2_debug(1, "Output stream is off. No need to flush."); > > +mtk_v4l2_vdec_dbg(1, ctx, "Output stream is off. No need to > flush."); > > return 0; > > } > > if (!vb2_is_streaming(dst_vq)) { > > -mtk_v4l2_debug(1, "Capture stream is off. No need to flush."); > > +mtk_v4l2_vdec_dbg(1, ctx, "Capture stream is off. No need to > flush."); > > return 0; > > } > > v4l2_m2m_buf_queue(ctx->m2m_ctx, &ctx->empty_flush_buf.vb); > > @@ -172,8 +172,7 @@ static int vidioc_vdec_qbuf(struct file *file, > void *priv, > > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > > > > if (ctx->state == MTK_STATE_ABORT) { > > -mtk_v4l2_err("[%d] Call on QBUF after unrecoverable error", > > -ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d] Call on QBUF after unrecoverable > error", ctx->id); > > return -EIO; > > } > > > > @@ -186,8 +185,7 @@ static int vidioc_vdec_dqbuf(struct file *file, > void *priv, > > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > > > > if (ctx->state == MTK_STATE_ABORT) { > > -mtk_v4l2_err("[%d] Call on DQBUF after unrecoverable error", > > -ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d] Call on DQBUF after unrecoverable > error", ctx->id); > > return -EIO; > > } > > > > @@ -288,11 +286,10 @@ static int vidioc_try_fmt(struct > mtk_vcodec_ctx *ctx, struct v4l2_format *f, > > (pix_fmt_mp->height + 64) <= frmsize->max_height) > > pix_fmt_mp->height += 64; > > > > -mtk_v4l2_debug(0, > > -"before resize width=%d, height=%d, after resize width=%d, > height=%d, sizeimage=%d", > > -tmp_w, tmp_h, pix_fmt_mp->width, > > -pix_fmt_mp->height, > > -pix_fmt_mp->width * pix_fmt_mp->height); > > +mtk_v4l2_vdec_dbg(0, ctx, > > + "before resize wxh=%dx%d, after resize wxh=%dx%d, sizeimage=%d", > > + tmp_w, tmp_h, pix_fmt_mp->width, pix_fmt_mp->height, > > + pix_fmt_mp->width * pix_fmt_mp->height); > > > > pix_fmt_mp->num_planes = fmt->num_planes; > > pix_fmt_mp->plane_fmt[0].sizeimage = > > @@ -344,7 +341,7 @@ static int vidioc_try_fmt_vid_out_mplane(struct > file *file, void *priv, > > } > > > > if (pix_fmt_mp->plane_fmt[0].sizeimage == 0) { > > -mtk_v4l2_err("sizeimage of output format must be given"); > > +mtk_v4l2_vdec_err(ctx, "sizeimage of output format must be > given"); > > return -EINVAL; > > } > > > > @@ -432,7 +429,7 @@ static int vidioc_vdec_s_fmt(struct file *file, > void *priv, > > const struct mtk_video_fmt *fmt; > > const struct mtk_vcodec_dec_pdata *dec_pdata = ctx->dev- > >vdec_pdata; > > > > -mtk_v4l2_debug(3, "[%d]", ctx->id); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > > > q_data = mtk_vdec_get_q_data(ctx, f->type); > > if (!q_data) > > @@ -446,7 +443,7 @@ static int vidioc_vdec_s_fmt(struct file *file, > void *priv, > > if (!dec_pdata->uses_stateless_api && > > f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && > > vb2_is_busy(&ctx->m2m_ctx->out_q_ctx.q)) { > > -mtk_v4l2_err("out_q_ctx buffers already requested"); > > +mtk_v4l2_vdec_err(ctx, "out_q_ctx buffers already requested"); > > ret = -EBUSY; > > } > > > > @@ -456,7 +453,7 @@ static int vidioc_vdec_s_fmt(struct file *file, > void *priv, > > */ > > if ((f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) && > > vb2_is_busy(&ctx->m2m_ctx->cap_q_ctx.q)) { > > -mtk_v4l2_err("cap_q_ctx buffers already requested"); > > +mtk_v4l2_vdec_err(ctx, "cap_q_ctx buffers already requested"); > > ret = -EBUSY; > > } > > > > @@ -491,8 +488,8 @@ static int vidioc_vdec_s_fmt(struct file *file, > void *priv, > > if (ctx->state == MTK_STATE_FREE) { > > ret = vdec_if_init(ctx, q_data->fmt->fourcc); > > if (ret) { > > -mtk_v4l2_err("[%d]: vdec_if_init() fail ret=%d", > > -ctx->id, ret); > > +mtk_v4l2_vdec_err(ctx, "[%d]: vdec_if_init() fail ret=%d", > > + ctx->id, ret); > > return -EINVAL; > > } > > ctx->state = MTK_STATE_INIT; > > @@ -515,8 +512,8 @@ static int vidioc_vdec_s_fmt(struct file *file, > void *priv, > > */ > > ret = vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo); > > if (ret) { > > -mtk_v4l2_err("[%d]Error!! Get GET_PARAM_PICTURE_INFO Fail", > > - ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d]Error!! Get GET_PARAM_PICTURE_INFO > Fail", > > + ctx->id); > > } > > > > ctx->last_decoded_picinfo = ctx->picinfo; > > @@ -540,11 +537,13 @@ static int vidioc_vdec_s_fmt(struct file > *file, void *priv, > > > > ctx->q_data[MTK_Q_DATA_DST].coded_width = ctx->picinfo.buf_w; > > ctx->q_data[MTK_Q_DATA_DST].coded_height = ctx->picinfo.buf_h; > > -mtk_v4l2_debug(2, "[%d] vdec_if_init() num_plane = %d wxh=%dx%d > pic wxh=%dx%d sz[0]=0x%x sz[1]=0x%x", > > - ctx->id, pix_mp->num_planes, ctx->picinfo.buf_w, ctx- > >picinfo.buf_h, > > - ctx->picinfo.pic_w, ctx->picinfo.pic_h, > > - ctx->q_data[MTK_Q_DATA_DST].sizeimage[0], > > - ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]); > > +mtk_v4l2_vdec_dbg(2, ctx, > > + "[%d] init() plane:%d wxh=%dx%d pic wxh=%dx%d sz=0x%x_0x%x", > > + ctx->id, pix_mp->num_planes, > > + ctx->picinfo.buf_w, ctx->picinfo.buf_h, > > + ctx->picinfo.pic_w, ctx->picinfo.pic_h, > > + ctx->q_data[MTK_Q_DATA_DST].sizeimage[0], > > + ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]); > > } > > return 0; > > } > > @@ -570,14 +569,11 @@ static int vidioc_enum_framesizes(struct file > *file, void *priv, > > fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; > > fsize->stepwise = dec_pdata->vdec_formats[i].frmsize; > > > > -mtk_v4l2_debug(1, "%x, %d %d %d %d %d %d", > > -ctx->dev->dec_capability, > > -fsize->stepwise.min_width, > > -fsize->stepwise.max_width, > > -fsize->stepwise.step_width, > > -fsize->stepwise.min_height, > > -fsize->stepwise.max_height, > > -fsize->stepwise.step_height); > > +mtk_v4l2_vdec_dbg(1, ctx, "%x, %d %d %d %d %d %d", > > + ctx->dev->dec_capability, fsize->stepwise.min_width, > > + fsize->stepwise.max_width, fsize->stepwise.step_width, > > + fsize->stepwise.min_height, fsize->stepwise.max_height, > > + fsize->stepwise.step_height); > > > > return 0; > > } > > @@ -641,7 +637,7 @@ static int vidioc_vdec_g_fmt(struct file *file, > void *priv, > > > > vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type); > > if (!vq) { > > -mtk_v4l2_err("no vb2 queue for type=%d", f->type); > > +mtk_v4l2_vdec_err(ctx, "no vb2 queue for type=%d", f->type); > > return -EINVAL; > > } > > > > @@ -712,8 +708,8 @@ static int vidioc_vdec_g_fmt(struct file *file, > void *priv, > > pix_mp->plane_fmt[1].bytesperline = q_data->bytesperline[1]; > > pix_mp->plane_fmt[1].sizeimage = q_data->sizeimage[1]; > > > > -mtk_v4l2_debug(1, "[%d] type=%d state=%d Format information could > not be read, not ready yet!", > > -ctx->id, f->type, ctx->state); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] type=%d state=%d Format > information not ready!", > > + ctx->id, f->type, ctx->state); > > } > > > > return 0; > > @@ -730,7 +726,7 @@ int vb2ops_vdec_queue_setup(struct vb2_queue > *vq, unsigned int *nbuffers, > > q_data = mtk_vdec_get_q_data(ctx, vq->type); > > > > if (q_data == NULL) { > > -mtk_v4l2_err("vq->type=%d err\n", vq->type); > > +mtk_v4l2_vdec_err(ctx, "vq->type=%d err\n", vq->type); > > return -EINVAL; > > } > > > > @@ -756,10 +752,9 @@ int vb2ops_vdec_queue_setup(struct vb2_queue > *vq, unsigned int *nbuffers, > > sizes[i] = q_data->sizeimage[i]; > > } > > > > -mtk_v4l2_debug(1, > > -"[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x 0x%x > ", > > -ctx->id, vq->type, *nplanes, *nbuffers, > > -sizes[0], sizes[1]); > > +mtk_v4l2_vdec_dbg(1, ctx, > > + "[%d]\t type = %d, get %d plane(s), %d buffer(s) of size 0x%x > 0x%x ", > > + ctx->id, vq->type, *nplanes, *nbuffers, sizes[0], sizes[1]); > > > > return 0; > > } > > @@ -770,16 +765,15 @@ int vb2ops_vdec_buf_prepare(struct vb2_buffer > *vb) > > struct mtk_q_data *q_data; > > int i; > > > > -mtk_v4l2_debug(3, "[%d] (%d) id=%d", > > -ctx->id, vb->vb2_queue->type, vb->index); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d", > > + ctx->id, vb->vb2_queue->type, vb->index); > > > > q_data = mtk_vdec_get_q_data(ctx, vb->vb2_queue->type); > > > > for (i = 0; i < q_data->fmt->num_planes; i++) { > > if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) { > > -mtk_v4l2_err("data will not fit into plane %d (%lu < %d)", > > -i, vb2_plane_size(vb, i), > > -q_data->sizeimage[i]); > > +mtk_v4l2_vdec_err(ctx, "data will not fit into plane %d (%lu < > %d)", > > + i, vb2_plane_size(vb, i), q_data->sizeimage[i]); > > return -EINVAL; > > } > > if (!V4L2_TYPE_IS_OUTPUT(vb->type)) > > @@ -807,7 +801,7 @@ void vb2ops_vdec_buf_finish(struct vb2_buffer > *vb) > > mutex_unlock(&ctx->lock); > > > > if (buf_error) { > > -mtk_v4l2_err("Unrecoverable error on buffer."); > > +mtk_v4l2_vdec_err(ctx, "Unrecoverable error on buffer."); > > ctx->state = MTK_STATE_ABORT; > > } > > } > > @@ -843,8 +837,8 @@ void vb2ops_vdec_stop_streaming(struct > vb2_queue *q) > > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(q); > > int ret; > > > > -mtk_v4l2_debug(3, "[%d] (%d) state=(%x) ctx- > >decoded_frame_cnt=%d", > > -ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) state=(%x) ctx- > >decoded_frame_cnt=%d", > > + ctx->id, q->type, ctx->state, ctx->decoded_frame_cnt); > > > > if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { > > while ((src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx))) { > > @@ -870,17 +864,17 @@ void vb2ops_vdec_stop_streaming(struct > vb2_queue *q) > > */ > > ctx->picinfo = ctx->last_decoded_picinfo; > > > > -mtk_v4l2_debug(2, > > -"[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", > > -ctx->id, ctx->last_decoded_picinfo.pic_w, > > -ctx->last_decoded_picinfo.pic_h, > > -ctx->picinfo.pic_w, ctx->picinfo.pic_h, > > -ctx->last_decoded_picinfo.buf_w, > > -ctx->last_decoded_picinfo.buf_h); > > +mtk_v4l2_vdec_dbg(2, ctx, > > + "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", > > + ctx->id, ctx->last_decoded_picinfo.pic_w, > > + ctx->last_decoded_picinfo.pic_h, > > + ctx->picinfo.pic_w, ctx->picinfo.pic_h, > > + ctx->last_decoded_picinfo.buf_w, > > + ctx->last_decoded_picinfo.buf_h); > > > > ret = ctx->dev->vdec_pdata->flush_decoder(ctx); > > if (ret) > > -mtk_v4l2_err("DecodeFinal failed, ret=%d", ret); > > +mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret); > > } > > ctx->state = MTK_STATE_FLUSH; > > > > @@ -905,7 +899,7 @@ static int m2mops_vdec_job_ready(void > *m2m_priv) > > { > > struct mtk_vcodec_ctx *ctx = m2m_priv; > > > > -mtk_v4l2_debug(3, "[%d]", ctx->id); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > > > if (ctx->state == MTK_STATE_ABORT) > > return 0; > > @@ -973,7 +967,7 @@ int mtk_vcodec_dec_queue_init(void *priv, > struct vb2_queue *src_vq, > > struct mtk_vcodec_ctx *ctx = priv; > > int ret = 0; > > > > -mtk_v4l2_debug(3, "[%d]", ctx->id); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > > > src_vq->type= V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; > > src_vq->io_modes= VB2_DMABUF | VB2_MMAP; > > @@ -988,7 +982,7 @@ int mtk_vcodec_dec_queue_init(void *priv, > struct vb2_queue *src_vq, > > > > ret = vb2_queue_init(src_vq); > > if (ret) { > > -mtk_v4l2_err("Failed to initialize videobuf2 queue(output)"); > > +mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 > queue(output)"); > > return ret; > > } > > dst_vq->type= V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; > > @@ -1004,7 +998,7 @@ int mtk_vcodec_dec_queue_init(void *priv, > struct vb2_queue *src_vq, > > > > ret = vb2_queue_init(dst_vq); > > if (ret) > > -mtk_v4l2_err("Failed to initialize videobuf2 queue(capture)"); > > +mtk_v4l2_vdec_err(ctx, "Failed to initialize videobuf2 > queue(capture)"); > > > > return ret; > > } > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > > index 03721eda2769..4469c2411f40 100644 > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c > > @@ -25,7 +25,7 @@ > > #include "mtk_vcodec_util.h" > > #include "mtk_vcodec_fw.h" > > > > -static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dev *dev) > > +static int mtk_vcodec_get_hw_count(struct mtk_vcodec_ctx *ctx, > struct mtk_vcodec_dev *dev) > > { > > switch (dev->vdec_pdata->hw_arch) { > > case MTK_VDEC_PURE_SINGLE_CORE: > > @@ -33,7 +33,7 @@ static int mtk_vcodec_get_hw_count(struct > mtk_vcodec_dev *dev) > > case MTK_VDEC_LAT_SINGLE_CORE: > > return MTK_VDEC_ONE_LAT_ONE_CORE; > > default: > > -mtk_v4l2_err("hw arch %d not supported", dev->vdec_pdata- > >hw_arch); > > +mtk_v4l2_vdec_err(ctx, "hw arch %d not supported", dev- > >vdec_pdata->hw_arch); > > return MTK_VDEC_NO_HW; > > } > > } > > @@ -52,8 +52,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int > irq, void *priv) > > /* check if HW active or not */ > > cg_status = readl(dev->reg_base[0]); > > if ((cg_status & VDEC_HW_ACTIVE) != 0) { > > -mtk_v4l2_err("DEC ISR, VDEC active is not 0x0 (0x%08x)", > > - cg_status); > > +mtk_v4l2_vdec_err(ctx, "DEC ISR, VDEC active is not 0x0 (0x%08x)", > cg_status); > > return IRQ_HANDLED; > > } > > > > @@ -71,9 +70,7 @@ static irqreturn_t mtk_vcodec_dec_irq_handler(int > irq, void *priv) > > > > wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, 0); > > > > -mtk_v4l2_debug(3, > > -"mtk_vcodec_dec_irq_handler :wake up ctx %d, dec_done_status=%x", > > -ctx->id, dec_done_status); > > +mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x", > ctx->id, dec_done_status); > > > > return IRQ_HANDLED; > > } > > @@ -96,7 +93,7 @@ static int mtk_vcodec_get_reg_bases(struct > mtk_vcodec_dev *dev) > > if (IS_ERR(dev->reg_base[i])) > > return PTR_ERR(dev->reg_base[i]); > > > > -mtk_v4l2_debug(2, "reg[%d] base=%p", i, dev->reg_base[i]); > > +dev_dbg(&pdev->dev, "reg[%d] base=%p", i, dev->reg_base[i]); > > } > > > > return 0; > > @@ -156,7 +153,7 @@ static int fops_vcodec_open(struct file *file) > > INIT_LIST_HEAD(&ctx->list); > > ctx->dev = dev; > > if (ctx->dev->vdec_pdata->is_subdev_supported) { > > -hw_count = mtk_vcodec_get_hw_count(dev); > > +hw_count = mtk_vcodec_get_hw_count(ctx, dev); > > if (!hw_count || !dev->subdev_prob_done) { > > ret = -EINVAL; > > goto err_ctrls_setup; > > @@ -176,15 +173,14 @@ static int fops_vcodec_open(struct file > *file) > > ctx->type = MTK_INST_DECODER; > > ret = dev->vdec_pdata->ctrls_setup(ctx); > > if (ret) { > > -mtk_v4l2_err("Failed to setup mt vcodec controls"); > > +mtk_v4l2_vdec_err(ctx, "Failed to setup mt vcodec controls"); > > goto err_ctrls_setup; > > } > > ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev_dec, ctx, > > &mtk_vcodec_dec_queue_init); > > if (IS_ERR((__force void *)ctx->m2m_ctx)) { > > ret = PTR_ERR((__force void *)ctx->m2m_ctx); > > -mtk_v4l2_err("Failed to v4l2_m2m_ctx_init() (%d)", > > -ret); > > +mtk_v4l2_vdec_err(ctx, "Failed to v4l2_m2m_ctx_init() (%d)", ret); > > goto err_m2m_ctx_init; > > } > > src_vq = v4l2_m2m_get_vq(ctx->m2m_ctx, > > @@ -202,14 +198,14 @@ static int fops_vcodec_open(struct file > *file) > > * Return 0 if downloading firmware successfully, > > * otherwise it is failed > > */ > > -mtk_v4l2_err("failed to load firmware!"); > > +mtk_v4l2_vdec_err(ctx, "failed to load firmware!"); > > goto err_load_fw; > > } > > > > dev->dec_capability = > > mtk_vcodec_fw_get_vdec_capa(dev->fw_handler); > > > > -mtk_v4l2_debug(0, "decoder capability %x", dev->dec_capability); > > +mtk_v4l2_vdec_dbg(0, ctx, "decoder capability %x", dev- > >dec_capability); > > } > > > > ctx->dev->vdec_pdata->init_vdec_params(ctx); > > @@ -218,8 +214,7 @@ static int fops_vcodec_open(struct file *file) > > mtk_vcodec_dbgfs_create(ctx); > > > > mutex_unlock(&dev->dev_mutex); > > -mtk_v4l2_debug(0, "%s decoder [%d]", dev_name(&dev->plat_dev- > >dev), > > -ctx->id); > > +mtk_v4l2_vdec_dbg(0, ctx, "%s decoder [%d]", dev_name(&dev- > >plat_dev->dev), ctx->id); > > return ret; > > > > /* Deinit when failure occurred */ > > @@ -241,7 +236,7 @@ static int fops_vcodec_release(struct file > *file) > > struct mtk_vcodec_dev *dev = video_drvdata(file); > > struct mtk_vcodec_ctx *ctx = fh_to_ctx(file->private_data); > > > > -mtk_v4l2_debug(0, "[%d] decoder", ctx->id); > > +mtk_v4l2_vdec_dbg(0, ctx, "[%d] decoder", ctx->id); > > mutex_lock(&dev->dev_mutex); > > > > /* > > @@ -296,7 +291,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > &rproc_phandle)) { > > fw_type = SCP; > > } else { > > -mtk_v4l2_err("Could not get vdec IPI device"); > > +dev_dbg(&pdev->dev, "Could not get vdec IPI device"); > > return -ENODEV; > > } > > dma_set_max_seg_size(&pdev->dev, UINT_MAX); > > @@ -316,7 +311,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > alloc_ordered_workqueue("core-decoder", > > WQ_MEM_RECLAIM | WQ_FREEZABLE); > > if (!dev->core_workqueue) { > > -mtk_v4l2_err("Failed to create core workqueue"); > > +dev_dbg(&pdev->dev, "Failed to create core workqueue"); > > ret = -EINVAL; > > goto err_res; > > } > > @@ -332,13 +327,13 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > > > ret = v4l2_device_register(&pdev->dev, &dev->v4l2_dev); > > if (ret) { > > -mtk_v4l2_err("v4l2_device_register err=%d", ret); > > +dev_err(&pdev->dev, "v4l2_device_register err=%d", ret); > > goto err_core_workq; > > } > > > > vfd_dec = video_device_alloc(); > > if (!vfd_dec) { > > -mtk_v4l2_err("Failed to allocate video device"); > > +dev_err(&pdev->dev, "Failed to allocate video device"); > > ret = -ENOMEM; > > goto err_dec_alloc; > > } > > @@ -359,7 +354,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > > > dev->m2m_dev_dec = v4l2_m2m_init(&mtk_vdec_m2m_ops); > > if (IS_ERR((__force void *)dev->m2m_dev_dec)) { > > -mtk_v4l2_err("Failed to init mem2mem dec device"); > > +dev_err(&pdev->dev, "Failed to init mem2mem dec device"); > > ret = PTR_ERR((__force void *)dev->m2m_dev_dec); > > goto err_dec_alloc; > > } > > @@ -368,7 +363,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > alloc_ordered_workqueue(MTK_VCODEC_DEC_NAME, > > WQ_MEM_RECLAIM | WQ_FREEZABLE); > > if (!dev->decode_workqueue) { > > -mtk_v4l2_err("Failed to create decode workqueue"); > > +dev_err(&pdev->dev, "Failed to create decode workqueue"); > > ret = -EINVAL; > > goto err_event_workq; > > } > > @@ -377,7 +372,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, > > &pdev->dev); > > if (ret) { > > -mtk_v4l2_err("Main device of_platform_populate failed."); > > +dev_err(&pdev->dev, "Main device of_platform_populate failed."); > > goto err_reg_cont; > > } > > } else { > > @@ -390,7 +385,7 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > > > ret = video_register_device(vfd_dec, VFL_TYPE_VIDEO, -1); > > if (ret) { > > -mtk_v4l2_err("Failed to register video device"); > > +dev_err(&pdev->dev, "Failed to register video device"); > > goto err_reg_cont; > > } > > > > @@ -409,21 +404,21 @@ static int mtk_vcodec_probe(struct > platform_device *pdev) > > ret = v4l2_m2m_register_media_controller(dev->m2m_dev_dec, dev- > >vfd_dec, > > MEDIA_ENT_F_PROC_VIDEO_DECODER); > > if (ret) { > > -mtk_v4l2_err("Failed to register media controller"); > > +dev_err(&pdev->dev, "Failed to register media controller"); > > goto err_dec_mem_init; > > } > > > > ret = media_device_register(&dev->mdev_dec); > > if (ret) { > > -mtk_v4l2_err("Failed to register media device"); > > +dev_err(&pdev->dev, "Failed to register media device"); > > goto err_media_reg; > > } > > > > -mtk_v4l2_debug(0, "media registered as /dev/media%d", vfd_dec- > >minor); > > +dev_dbg(&pdev->dev, "media registered as /dev/media%d", vfd_dec- > >minor); > > } > > > > mtk_vcodec_dbgfs_init(dev, false); > > -mtk_v4l2_debug(0, "decoder registered as /dev/video%d", vfd_dec- > >minor); > > +dev_dbg(&pdev->dev, "decoder registered as /dev/video%d", vfd_dec- > >minor); > > > > return 0; > > > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > > index e1cb2f8dca33..7c4d8ec201e3 100644 > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_hw.c > > @@ -77,8 +77,7 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int > irq, void *priv) > > /* check if HW active or not */ > > cg_status = readl(dev->reg_base[VDEC_HW_SYS]); > > if (cg_status & VDEC_HW_ACTIVE) { > > -mtk_v4l2_err("vdec active is not 0x0 (0x%08x)", > > - cg_status); > > +mtk_v4l2_vdec_err(ctx, "vdec active is not 0x0 (0x%08x)", > cg_status); > > return IRQ_HANDLED; > > } > > > > @@ -93,8 +92,8 @@ static irqreturn_t mtk_vdec_hw_irq_handler(int > irq, void *priv) > > > > wake_up_ctx(ctx, MTK_INST_IRQ_RECEIVED, dev->hw_idx); > > > > -mtk_v4l2_debug(3, "wake up ctx %d, dec_done_status=%x", > > - ctx->id, dec_done_status); > > +mtk_v4l2_vdec_dbg(3, ctx, "wake up ctx %d, dec_done_status=%x", > > + ctx->id, dec_done_status); > > > > return IRQ_HANDLED; > > } > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > > index 777d445999e9..3ab996705b97 100644 > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_pm.c > > @@ -32,7 +32,7 @@ int mtk_vcodec_init_dec_clk(struct > platform_device *pdev, struct mtk_vcodec_pm * > > if (!dec_clk->clk_info) > > return -ENOMEM; > > } else { > > -mtk_v4l2_err("Failed to get vdec clock count"); > > +dev_err(&pdev->dev, "Failed to get vdec clock count"); > > return -EINVAL; > > } > > > > @@ -41,14 +41,13 @@ int mtk_vcodec_init_dec_clk(struct > platform_device *pdev, struct mtk_vcodec_pm * > > ret = of_property_read_string_index(pdev->dev.of_node, > > "clock-names", i, &clk_info->clk_name); > > if (ret) { > > -mtk_v4l2_err("Failed to get clock name id = %d", i); > > +dev_err(&pdev->dev, "Failed to get clock name id = %d", i); > > return ret; > > } > > clk_info->vcodec_clk = devm_clk_get(&pdev->dev, > > clk_info->clk_name); > > if (IS_ERR(clk_info->vcodec_clk)) { > > -mtk_v4l2_err("devm_clk_get (%d)%s fail", i, > > -clk_info->clk_name); > > +dev_err(&pdev->dev, "devm_clk_get (%d)%s fail", i, clk_info- > >clk_name); > > return PTR_ERR(clk_info->vcodec_clk); > > } > > } > > @@ -63,7 +62,7 @@ static int mtk_vcodec_dec_pw_on(struct > mtk_vcodec_pm *pm) > > > > ret = pm_runtime_resume_and_get(pm->dev); > > if (ret) > > -mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret); > > +dev_err(pm->dev, "pm_runtime_resume_and_get fail %d", ret); > > > > return ret; > > } > > @@ -74,7 +73,7 @@ static void mtk_vcodec_dec_pw_off(struct > mtk_vcodec_pm *pm) > > > > ret = pm_runtime_put(pm->dev); > > if (ret && ret != -EAGAIN) > > -mtk_v4l2_err("pm_runtime_put fail %d", ret); > > +dev_err(pm->dev, "pm_runtime_put fail %d", ret); > > } > > > > static void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > > @@ -86,7 +85,7 @@ static void mtk_vcodec_dec_clock_on(struct > mtk_vcodec_pm *pm) > > for (i = 0; i < dec_clk->clk_num; i++) { > > ret = clk_prepare_enable(dec_clk->clk_info[i].vcodec_clk); > > if (ret) { > > -mtk_v4l2_err("clk_prepare_enable %d %s fail %d", i, > > +dev_err(pm->dev, "clk_prepare_enable %d %s fail %d", i, > > dec_clk->clk_info[i].clk_name, ret); > > goto error; > > } > > @@ -120,7 +119,7 @@ static void mtk_vcodec_dec_enable_irq(struct > mtk_vcodec_dev *vdec_dev, int hw_id > > if (subdev_dev) > > enable_irq(subdev_dev->dec_irq); > > else > > -mtk_v4l2_err("Failed to get hw dev\n"); > > +dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > > } else { > > enable_irq(vdec_dev->dec_irq); > > } > > @@ -138,7 +137,7 @@ static void mtk_vcodec_dec_disable_irq(struct > mtk_vcodec_dev *vdec_dev, int hw_i > > if (subdev_dev) > > disable_irq(subdev_dev->dec_irq); > > else > > -mtk_v4l2_err("Failed to get hw dev\n"); > > +dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > > } else { > > disable_irq(vdec_dev->dec_irq); > > } > > @@ -185,7 +184,7 @@ static struct mtk_vcodec_pm > *mtk_vcodec_dec_get_pm(struct mtk_vcodec_dev *vdec_d > > if (subdev_dev) > > return &subdev_dev->pm; > > > > -mtk_v4l2_err("Failed to get hw dev\n"); > > +dev_err(&vdec_dev->plat_dev->dev, "Failed to get hw dev\n"); > > return NULL; > > } > > > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > > index 0fbd030026c7..3c289b08bc87 100644 > > --- > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > > +++ > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c > > @@ -61,15 +61,16 @@ static struct vb2_buffer > *get_display_buffer(struct mtk_vcodec_ctx *ctx) > > struct mtk_video_dec_buf *dstbuf; > > struct vb2_v4l2_buffer *vb; > > > > -mtk_v4l2_debug(3, "[%d]", ctx->id); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d]", ctx->id); > > if (vdec_if_get_param(ctx, GET_PARAM_DISP_FRAME_BUFFER, > > &disp_frame_buffer)) { > > -mtk_v4l2_err("[%d]Cannot get param : GET_PARAM_DISP_FRAME_BUFFER", > ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d]Cannot get param : > GET_PARAM_DISP_FRAME_BUFFER", > > + ctx->id); > > return NULL; > > } > > > > if (!disp_frame_buffer) { > > -mtk_v4l2_debug(3, "No display frame buffer"); > > +mtk_v4l2_vdec_dbg(3, ctx, "No display frame buffer"); > > return NULL; > > } > > > > @@ -78,9 +79,9 @@ static struct vb2_buffer > *get_display_buffer(struct mtk_vcodec_ctx *ctx) > > vb = &dstbuf->m2m_buf.vb; > > mutex_lock(&ctx->lock); > > if (dstbuf->used) { > > -mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to done_list %d", > > - ctx->id, disp_frame_buffer->status, > > - vb->vb2_buf.index, dstbuf->queued_in_vb2); > > +mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to done_list > %d", > > + ctx->id, disp_frame_buffer->status, > > + vb->vb2_buf.index, dstbuf->queued_in_vb2); > > > > v4l2_m2m_buf_done(vb, VB2_BUF_STATE_DONE); > > ctx->decoded_frame_cnt++; > > @@ -105,16 +106,16 @@ static struct vb2_buffer > *get_free_buffer(struct mtk_vcodec_ctx *ctx) > > > > if (vdec_if_get_param(ctx, GET_PARAM_FREE_FRAME_BUFFER, > > &free_frame_buffer)) { > > -mtk_v4l2_err("[%d] Error!! Cannot get param", ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d] Error!! Cannot get param", ctx->id); > > return NULL; > > } > > if (!free_frame_buffer) { > > -mtk_v4l2_debug(3, " No free frame buffer"); > > +mtk_v4l2_vdec_dbg(3, ctx, " No free frame buffer"); > > return NULL; > > } > > > > -mtk_v4l2_debug(3, "[%d] tmp_frame_addr = 0x%p", ctx->id, > > - free_frame_buffer); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] tmp_frame_addr = 0x%p", ctx->id, > > + free_frame_buffer); > > > > dstbuf = container_of(free_frame_buffer, struct mtk_video_dec_buf, > > frame_buffer); > > @@ -131,9 +132,9 @@ static struct vb2_buffer > *get_free_buffer(struct mtk_vcodec_ctx *ctx) > > * This reduce overheads that dq/q unused capture > > * buffer. In this case, queued_in_vb2 = true. > > */ > > -mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to rdy_queue %d", > > - ctx->id, free_frame_buffer->status, > > - vb->vb2_buf.index, dstbuf->queued_in_vb2); > > +mtk_v4l2_vdec_dbg(2, ctx, "[%d]status=%x queue id=%d to rdy_queue > %d", > > + ctx->id, free_frame_buffer->status, > > + vb->vb2_buf.index, dstbuf->queued_in_vb2); > > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb); > > } else if (!dstbuf->queued_in_vb2 && dstbuf->queued_in_v4l2) { > > /* > > @@ -146,10 +147,10 @@ static struct vb2_buffer > *get_free_buffer(struct mtk_vcodec_ctx *ctx) > > * means this buffer is not from previous decode > > * output. > > */ > > -mtk_v4l2_debug(2, > > - "[%d]status=%x queue id=%d to rdy_queue", > > - ctx->id, free_frame_buffer->status, > > - vb->vb2_buf.index); > > +mtk_v4l2_vdec_dbg(2, ctx, > > + "[%d]status=%x queue id=%d to rdy_queue", > > + ctx->id, free_frame_buffer->status, > > + vb->vb2_buf.index); > > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb); > > dstbuf->queued_in_vb2 = true; > > } else { > > @@ -161,10 +162,10 @@ static struct vb2_buffer > *get_free_buffer(struct mtk_vcodec_ctx *ctx) > > * When this buffer q from user space, it could > > * directly q to vb2 buffer > > */ > > -mtk_v4l2_debug(3, "[%d]status=%x err queue id=%d %d %d", > > - ctx->id, free_frame_buffer->status, > > - vb->vb2_buf.index, dstbuf->queued_in_vb2, > > - dstbuf->queued_in_v4l2); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d]status=%x err queue id=%d %d %d", > > + ctx->id, free_frame_buffer->status, > > + vb->vb2_buf.index, dstbuf->queued_in_vb2, > > + dstbuf->queued_in_v4l2); > > } > > dstbuf->used = false; > > } > > @@ -191,7 +192,7 @@ static void mtk_vdec_queue_res_chg_event(struct > mtk_vcodec_ctx *ctx) > > .u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION, > > }; > > > > -mtk_v4l2_debug(1, "[%d]", ctx->id); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d]", ctx->id); > > v4l2_event_queue_fh(&ctx->fh, &ev_src_ch); > > } > > > > @@ -202,7 +203,7 @@ static int mtk_vdec_flush_decoder(struct > mtk_vcodec_ctx *ctx) > > > > ret = vdec_if_decode(ctx, NULL, NULL, &res_chg); > > if (ret) > > -mtk_v4l2_err("DecodeFinal failed, ret=%d", ret); > > +mtk_v4l2_vdec_err(ctx, "DecodeFinal failed, ret=%d", ret); > > > > clean_display_buffer(ctx); > > clean_free_buffer(ctx); > > @@ -221,14 +222,14 @@ static void mtk_vdec_update_fmt(struct > mtk_vcodec_ctx *ctx, > > for (k = 0; k < num_supported_formats; k++) { > > fmt = &mtk_video_formats[k]; > > if (fmt->fourcc == pixelformat) { > > -mtk_v4l2_debug(1, "Update cap fourcc(%d -> %d)", > > - dst_q_data->fmt->fourcc, pixelformat); > > +mtk_v4l2_vdec_dbg(1, ctx, "Update cap fourcc(%d -> %d)", > > + dst_q_data->fmt->fourcc, pixelformat); > > dst_q_data->fmt = fmt; > > return; > > } > > } > > > > -mtk_v4l2_err("Cannot get fourcc(%d), using init value", > pixelformat); > > +mtk_v4l2_vdec_err(ctx, "Cannot get fourcc(%d), using init value", > pixelformat); > > } > > > > static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx) > > @@ -238,7 +239,8 @@ static int mtk_vdec_pic_info_update(struct > mtk_vcodec_ctx *ctx) > > > > if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, > > &ctx->last_decoded_picinfo)) { > > -mtk_v4l2_err("[%d]Error!! Cannot get param : > GET_PARAM_PICTURE_INFO ERR", ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : > GET_PARAM_PICTURE_INFO ERR", > > + ctx->id); > > return -EINVAL; > > } > > > > @@ -246,7 +248,7 @@ static int mtk_vdec_pic_info_update(struct > mtk_vcodec_ctx *ctx) > > ctx->last_decoded_picinfo.pic_h == 0 || > > ctx->last_decoded_picinfo.buf_w == 0 || > > ctx->last_decoded_picinfo.buf_h == 0) { > > -mtk_v4l2_err("Cannot get correct pic info"); > > +mtk_v4l2_vdec_err(ctx, "Cannot get correct pic info"); > > return -EINVAL; > > } > > > > @@ -258,15 +260,15 @@ static int mtk_vdec_pic_info_update(struct > mtk_vcodec_ctx *ctx) > > ctx->last_decoded_picinfo.pic_h == ctx->picinfo.pic_h) > > return 0; > > > > -mtk_v4l2_debug(1, "[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)", > ctx->id, > > - ctx->last_decoded_picinfo.pic_w, > > - ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w, > > - ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w, > > - ctx->last_decoded_picinfo.buf_h); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d]-> new(%d,%d), old(%d,%d), > real(%d,%d)", ctx->id, > > + ctx->last_decoded_picinfo.pic_w, > > + ctx->last_decoded_picinfo.pic_h, ctx->picinfo.pic_w, > > + ctx->picinfo.pic_h, ctx->last_decoded_picinfo.buf_w, > > + ctx->last_decoded_picinfo.buf_h); > > > > ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize); > > if (dpbsize == 0) > > -mtk_v4l2_err("Incorrect dpb size, ret=%d", ret); > > +mtk_v4l2_vdec_err(ctx, "Incorrect dpb size, ret=%d", ret); > > > > ctx->dpb_size = dpbsize; > > > > @@ -288,14 +290,14 @@ static void mtk_vdec_worker(struct > work_struct *work) > > src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > > if (!src_buf) { > > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > > -mtk_v4l2_debug(1, "[%d] src_buf empty!!", ctx->id); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] src_buf empty!!", ctx->id); > > return; > > } > > > > dst_buf = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); > > if (!dst_buf) { > > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > > -mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id); > > return; > > } > > > > @@ -313,15 +315,15 @@ static void mtk_vdec_worker(struct > work_struct *work) > > vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 1); > > pfb->base_c.size = ctx->picinfo.fb_sz[1]; > > pfb->status = 0; > > -mtk_v4l2_debug(3, "===>[%d] vdec_if_decode() ===>", ctx->id); > > +mtk_v4l2_vdec_dbg(3, ctx, "===>[%d] vdec_if_decode() ===>", ctx- > >id); > > > > -mtk_v4l2_debug(3, > > - "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad > Size=%zx", > > - dst_buf->vb2_buf.index, pfb, pfb->base_y.va, > > - &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb- > >base_y.size); > > +mtk_v4l2_vdec_dbg(3, ctx, > > + "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx", > > + dst_buf->vb2_buf.index, pfb, pfb->base_y.va, > > + &pfb->base_y.dma_addr, &pfb->base_c.dma_addr, pfb->base_y.size); > > > > if (src_buf == &ctx->empty_flush_buf.vb) { > > -mtk_v4l2_debug(1, "Got empty flush input buffer."); > > +mtk_v4l2_vdec_dbg(1, ctx, "Got empty flush input buffer."); > > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > > > > /* update dst buf status */ > > @@ -350,12 +352,12 @@ static void mtk_vdec_worker(struct > work_struct *work) > > buf.size = (size_t)src_buf->vb2_buf.planes[0].bytesused; > > if (!buf.va) { > > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > > -mtk_v4l2_err("[%d] id=%d src_addr is NULL!!", ctx->id, > > - src_buf->vb2_buf.index); > > +mtk_v4l2_vdec_err(ctx, "[%d] id=%d src_addr is NULL!!", ctx->id, > > + src_buf->vb2_buf.index); > > return; > > } > > -mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > > - ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx > vb=%p", > > + ctx->id, buf.va, &buf.dma_addr, buf.size, src_buf); > > dst_buf->vb2_buf.timestamp = src_buf->vb2_buf.timestamp; > > dst_buf->timecode = src_buf->timecode; > > mutex_lock(&ctx->lock); > > @@ -366,9 +368,10 @@ static void mtk_vdec_worker(struct work_struct > *work) > > ret = vdec_if_decode(ctx, &buf, pfb, &res_chg); > > > > if (ret) { > > -mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu dst_buf[%d] > vdec_if_decode() ret=%d res_chg=%d===>", > > - ctx->id, src_buf->vb2_buf.index, buf.size, > > - src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, > res_chg); > > +mtk_v4l2_vdec_err(ctx, > > + "[%d] decode src[%d] sz=0x%zx pts=%llu dst[%d] ret=%d > res_chg=%d", > > + ctx->id, src_buf->vb2_buf.index, buf.size, > > + src_buf->vb2_buf.timestamp, dst_buf->vb2_buf.index, ret, > res_chg); > > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > > if (ret == -EIO) { > > mutex_lock(&ctx->lock); > > @@ -421,8 +424,8 @@ static void > vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > struct vb2_v4l2_buffer *vb2_v4l2; > > struct mtk_q_data *dst_q_data; > > > > -mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, > > - vb->vb2_queue->type, vb->index, vb); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, > > + vb->vb2_queue->type, vb->index, vb); > > /* > > * check if this buffer is ready to be used after decode > > */ > > @@ -448,20 +451,19 @@ static void > vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > v4l2_m2m_buf_queue(ctx->m2m_ctx, to_vb2_v4l2_buffer(vb)); > > > > if (ctx->state != MTK_STATE_INIT) { > > -mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id, > > - ctx->state); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, > ctx->state); > > return; > > } > > > > src_buf = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > > if (!src_buf) { > > -mtk_v4l2_err("No src buffer"); > > +mtk_v4l2_vdec_err(ctx, "No src buffer"); > > return; > > } > > > > if (src_buf == &ctx->empty_flush_buf.vb) { > > /* This shouldn't happen. Just in case. */ > > -mtk_v4l2_err("Invalid flush buffer."); > > +mtk_v4l2_vdec_err(ctx, "Invalid flush buffer."); > > v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > > return; > > } > > @@ -469,9 +471,8 @@ static void > vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > src_mem.va = vb2_plane_vaddr(&src_buf->vb2_buf, 0); > > src_mem.dma_addr = vb2_dma_contig_plane_dma_addr(&src_buf- > >vb2_buf, 0); > > src_mem.size = (size_t)src_buf->vb2_buf.planes[0].bytesused; > > -mtk_v4l2_debug(2, "[%d] buf id=%d va=%p dma=%pad size=%zx", ctx- > >id, > > - src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr, > > - src_mem.size); > > +mtk_v4l2_vdec_dbg(2, ctx, "[%d] buf id=%d va=%p dma=%pad > size=%zx", ctx->id, > > + src_buf->vb2_buf.index, src_mem.va, &src_mem.dma_addr, > src_mem.size); > > > > ret = vdec_if_decode(ctx, &src_mem, NULL, &res_chg); > > if (ret || !res_chg) { > > @@ -484,20 +485,22 @@ static void > vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > > > src_buf = v4l2_m2m_src_buf_remove(ctx->m2m_ctx); > > if (ret == -EIO) { > > -mtk_v4l2_err("[%d] Unrecoverable error in vdec_if_decode.", ctx- > >id); > > +mtk_v4l2_vdec_err(ctx, "[%d] Unrecoverable error in > vdec_if_decode.", > > + ctx->id); > > ctx->state = MTK_STATE_ABORT; > > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR); > > } else { > > v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE); > > } > > -mtk_v4l2_debug(ret ? 0 : 1, > > - "[%d] vdec_if_decode() src_buf=%d, size=%zu, fail=%d, > res_chg=%d", > > - ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, > res_chg); > > +mtk_v4l2_vdec_dbg(ret ? 0 : 1, ctx, > > + "[%d] decode() src_buf=%d, size=%zu, fail=%d, res_chg=%d", > > + ctx->id, src_buf->vb2_buf.index, src_mem.size, ret, res_chg); > > return; > > } > > > > if (vdec_if_get_param(ctx, GET_PARAM_PIC_INFO, &ctx->picinfo)) { > > -mtk_v4l2_err("[%d]Error!! Cannot get param : > GET_PARAM_PICTURE_INFO ERR", ctx->id); > > +mtk_v4l2_vdec_err(ctx, "[%d]Error!! Cannot get param : > GET_PARAM_PICTURE_INFO ERR", > > + ctx->id); > > return; > > } > > > > @@ -508,17 +511,17 @@ static void > vb2ops_vdec_stateful_buf_queue(struct vb2_buffer *vb) > > dst_q_data->bytesperline[i] = ctx->picinfo.buf_w; > > } > > > > -mtk_v4l2_debug(2, "[%d] vdec_if_init() OK wxh=%dx%d pic wxh=%dx%d > sz[0]=0x%x sz[1]=0x%x", > > - ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx- > >picinfo.pic_w, > > - ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data- > >sizeimage[1]); > > +mtk_v4l2_vdec_dbg(2, ctx, "[%d] init OK wxh=%dx%d pic wxh=%dx%d > sz[0]=0x%x sz[1]=0x%x", > > + ctx->id, ctx->picinfo.buf_w, ctx->picinfo.buf_h, ctx- > >picinfo.pic_w, > > + ctx->picinfo.pic_h, dst_q_data->sizeimage[0], dst_q_data- > >sizeimage[1]); > > > > ret = vdec_if_get_param(ctx, GET_PARAM_DPB_SIZE, &dpbsize); > > if (dpbsize == 0) > > -mtk_v4l2_err("[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, ret); > > +mtk_v4l2_vdec_err(ctx, "[%d] GET_PARAM_DPB_SIZE fail=%d", ctx->id, > ret); > > > > ctx->dpb_size = dpbsize; > > ctx->state = MTK_STATE_HEADER; > > -mtk_v4l2_debug(1, "[%d] dpbsize=%d", ctx->id, ctx->dpb_size); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] dpbsize=%d", ctx->id, ctx- > >dpb_size); > > > > mtk_vdec_queue_res_chg_event(ctx); > > } > > @@ -533,7 +536,7 @@ static int mtk_vdec_g_v_ctrl(struct v4l2_ctrl > *ctrl) > > if (ctx->state >= MTK_STATE_HEADER) { > > ctrl->val = ctx->dpb_size; > > } else { > > -mtk_v4l2_debug(0, "Seqinfo not ready"); > > +mtk_v4l2_vdec_dbg(0, ctx, "Seqinfo not ready"); > > ctrl->val = 0; > > } > > break; > > @@ -570,7 +573,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct > mtk_vcodec_ctx *ctx) > > V4L2_MPEG_VIDEO_H264_PROFILE_MAIN); > > > > if (ctx->ctrl_hdl.error) { > > -mtk_v4l2_err("Adding control failed %d", ctx->ctrl_hdl.error); > > +mtk_v4l2_vdec_err(ctx, "Adding control failed %d", ctx- > >ctrl_hdl.error); > > return ctx->ctrl_hdl.error; > > } > > > > diff --git > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > > index db1e14a1bd6c..ffe05ff31dd1 100644 > > --- > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > > +++ > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c > > @@ -232,10 +232,10 @@ static void > mtk_vdec_stateless_cap_to_disp(struct mtk_vcodec_ctx *ctx, int error > > vb2_dst = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx); > > if (vb2_dst) { > > v4l2_m2m_buf_done(vb2_dst, state); > > -mtk_v4l2_debug(2, "free frame buffer id:%d to done list", > > - vb2_dst->vb2_buf.index); > > +mtk_v4l2_vdec_dbg(2, ctx, "free frame buffer id:%d to done list", > > + vb2_dst->vb2_buf.index); > > } else { > > -mtk_v4l2_err("dst buffer is NULL"); > > +mtk_v4l2_vdec_err(ctx, "dst buffer is NULL"); > > } > > > > if (src_buf_req) > > @@ -251,7 +251,7 @@ static struct vdec_fb > *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx) > > > > vb2_v4l2 = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); > > if (!vb2_v4l2) { > > -mtk_v4l2_debug(1, "[%d] dst_buf empty!!", ctx->id); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] dst_buf empty!!", ctx->id); > > return NULL; > > } > > > > @@ -269,9 +269,10 @@ static struct vdec_fb > *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx) > > vb2_dma_contig_plane_dma_addr(dst_buf, 1); > > pfb->base_c.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[1]; > > } > > -mtk_v4l2_debug(1, "id=%d Framebuf pfb=%p VA=%p Y_DMA=%pad > C_DMA=%pad Size=%zx frame_count = %d", > > - dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr, > > - &pfb->base_c.dma_addr, pfb->base_y.size, ctx- > >decoded_frame_cnt); > > +mtk_v4l2_vdec_dbg(1, ctx, > > + "id=%d Framebuf pfb=%p VA=%p Y/C_DMA=%pad_%pad Sz=%zx > frame_count = %d", > > + dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr, > > + &pfb->base_c.dma_addr, pfb->base_y.size, ctx- > >decoded_frame_cnt); > > > > return pfb; > > } > > @@ -300,7 +301,7 @@ static void mtk_vdec_worker(struct work_struct > *work) > > vb2_v4l2_src = v4l2_m2m_next_src_buf(ctx->m2m_ctx); > > if (!vb2_v4l2_src) { > > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > > -mtk_v4l2_debug(1, "[%d] no available source buffer", ctx->id); > > +mtk_v4l2_vdec_dbg(1, ctx, "[%d] no available source buffer", ctx- > >id); > > return; > > } > > > > @@ -309,33 +310,34 @@ static void mtk_vdec_worker(struct > work_struct *work) > > m2m_buf.vb); > > bs_src = &dec_buf_src->bs_buffer; > > > > -mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, > > - vb2_src->vb2_queue->type, vb2_src->index, vb2_src); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, > > + vb2_src->vb2_queue->type, vb2_src->index, vb2_src); > > > > bs_src->va = vb2_plane_vaddr(vb2_src, 0); > > bs_src->dma_addr = vb2_dma_contig_plane_dma_addr(vb2_src, 0); > > bs_src->size = (size_t)vb2_src->planes[0].bytesused; > > if (!bs_src->va) { > > v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); > > -mtk_v4l2_err("[%d] id=%d source buffer is NULL", ctx->id, > > - vb2_src->index); > > +mtk_v4l2_vdec_err(ctx, "[%d] id=%d source buffer is NULL", ctx- > >id, > > + vb2_src->index); > > return; > > } > > > > -mtk_v4l2_debug(3, "[%d] Bitstream VA=%p DMA=%pad Size=%zx vb=%p", > > - ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, > vb2_src); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] Bitstream VA=%p DMA=%pad Size=%zx > vb=%p", > > + ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src); > > /* Apply request controls. */ > > src_buf_req = vb2_src->req_obj.req; > > if (src_buf_req) > > v4l2_ctrl_request_setup(src_buf_req, &ctx->ctrl_hdl); > > else > > -mtk_v4l2_err("vb2 buffer media request is NULL"); > > +mtk_v4l2_vdec_err(ctx, "vb2 buffer media request is NULL"); > > > > ret = vdec_if_decode(ctx, bs_src, NULL, &res_chg); > > if (ret && ret != -EAGAIN) { > > -mtk_v4l2_err(" <===[%d], src_buf[%d] sz=0x%zx pts=%llu > vdec_if_decode() ret=%d res_chg=%d===>", > > - ctx->id, vb2_src->index, bs_src->size, > > - vb2_src->timestamp, ret, res_chg); > > +mtk_v4l2_vdec_err(ctx, > > + "[%d] decode src_buf[%d] sz=0x%zx pts=%llu ret=%d res_chg=%d", > > + ctx->id, vb2_src->index, bs_src->size, > > + vb2_src->timestamp, ret, res_chg); > > if (ret == -EIO) { > > mutex_lock(&ctx->lock); > > dec_buf_src->error = true; > > @@ -363,7 +365,8 @@ static void > vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb) > > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); > > struct vb2_v4l2_buffer *vb2_v4l2 = to_vb2_v4l2_buffer(vb); > > > > -mtk_v4l2_debug(3, "[%d] (%d) id=%d, vb=%p", ctx->id, vb- > >vb2_queue->type, vb->index, vb); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] (%d) id=%d, vb=%p", ctx->id, vb- > >vb2_queue->type, > > + vb->index, vb); > > > > mutex_lock(&ctx->lock); > > v4l2_m2m_buf_queue(ctx->m2m_ctx, vb2_v4l2); > > @@ -374,9 +377,9 @@ static void > vb2ops_vdec_stateless_buf_queue(struct vb2_buffer *vb) > > /* If an OUTPUT buffer, we may need to update the state */ > > if (ctx->state == MTK_STATE_INIT) { > > ctx->state = MTK_STATE_HEADER; > > -mtk_v4l2_debug(1, "Init driver from init to header."); > > +mtk_v4l2_vdec_dbg(1, ctx, "Init driver from init to header."); > > } else { > > -mtk_v4l2_debug(3, "[%d] already init driver %d", ctx->id, ctx- > >state); > > +mtk_v4l2_vdec_dbg(3, ctx, "[%d] already init driver %d", ctx->id, > ctx->state); > > } > > } > > > > @@ -393,7 +396,7 @@ static int mtk_vcodec_dec_ctrls_setup(struct > mtk_vcodec_ctx *ctx) > > > > v4l2_ctrl_handler_init(&ctx->ctrl_hdl, NUM_CTRLS); > > if (ctx->ctrl_hdl.error) { > > -mtk_v4l2_err("v4l2_ctrl_handler_init failed\n"); > > +mtk_v4l2_vdec_err(ctx, "v4l2_ctrl_handler_init failed\n"); > > return ctx->ctrl_hdl.error; > > } > > > > @@ -402,7 +405,8 @@ static int mtk_vcodec_dec_ctrls_setup(struct > mtk_vcodec_ctx *ctx) > > > > v4l2_ctrl_new_custom(&ctx->ctrl_hdl, &cfg, NULL); > > if (ctx->ctrl_hdl.error) { > > -mtk_v4l2_err("Adding control %d failed %d", i, ctx- > >ctrl_hdl.error); > > +mtk_v4l2_vdec_err(ctx, "Adding control %d failed %d", i, > > + ctx->ctrl_hdl.error); > > return ctx->ctrl_hdl.error; > > } > > } > > @@ -421,11 +425,11 @@ static int fops_media_request_validate(struct > media_request *mreq) > > /* We expect exactly one buffer with the request */ > > break; > > case 0: > > -mtk_v4l2_debug(1, "No buffer provided with the request"); > > +pr_debug("[MTK VCODEC] No buffer provided with the request"); > > > I suggest following the same format as the macro, "<devname>: > [MTK_V4L2][ERROR]", you can probably have a macro for that > formatting. This > would ensure consitency for all the trace without context. Some of > the trace > don't even name anything MTK/VCODEC, like av1_error: prefix. I'd like > to see > these fixed. > > pr_debug(MTK_DBG_STR "No buffer provided with..."); > > Or add ...no_ctx() debug macro, prepending the string ? This would be > up to your > preference. > > regards, > Nicolas > For pr_debug and pr_err only be used for several functions. Prefer to add two macro for vcodec and v4l2 debug. #define MTK_DBG_VCODEC_STR "[MTK_VCODEC]" #define MTK_DBG_V4L2_STR "[MTK_V4L2]" Best Regards, Yunfei Dong > > > > /** > > diff --git a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > > index ab15ee6e2005..d82391411ba1 100644 > > --- a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > > +++ b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c > > @@ -91,7 +91,7 @@ static void vpu_dec_ipi_handler(void *data, > unsigned int len, void *priv) > > (unsigned long)msg->ap_inst_addr; > > > > if (!vpu) { > > -mtk_v4l2_err("ap_inst_addr is NULL, did the SCP hang or crash?"); > > +mtk_v4l2_vdec_err(vpu->ctx, "ap_inst_addr is NULL, did the SCP > hang or crash?"); > > return; > > } > > > >
© 2016 - 2024 Red Hat, Inc.