Re: [PATCH v2,04/10] media: mediatek: vcodec: remove the dependency of debug log
From: Yunfei Dong (董云飞) <Yunfei.Dong@mediatek.com>
Date: 2023-06-08 07:28:15
Also in:
linux-arm-kernel, linux-media, linux-mediatek, lkml
Hi Nicolas, Thanks for your review. On Wed, 2023-06-07 at 21:41 -0400, Nicolas Dufresne wrote:
External email : Please do not click links or open attachments until you have verified the sender or the content. Hi Yunfei, Le mercredi 07 juin 2023 à 16:48 +0800, Yunfei Dong a écrit :quoted
'mtk_vcodec_debug' and 'mtk_vcodec_err' depends on 'mtk_vcodec_ctx' to get the index of each instance, using the index directly instead of with 'mtk_vcodec_ctx'. Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> --- .../mediatek/vcodec/mtk_vcodec_util.h | 26 ++- .../vcodec/vdec/vdec_av1_req_lat_if.c | 105 +++++++----- .../mediatek/vcodec/vdec/vdec_h264_if.c | 62 ++++--- .../mediatek/vcodec/vdec/vdec_h264_req_if.c | 39 +++-- .../vcodec/vdec/vdec_h264_req_multi_if.c | 80 +++++---- .../vcodec/vdec/vdec_hevc_req_multi_if.c | 67 ++++---- .../mediatek/vcodec/vdec/vdec_vp8_if.c | 54 ++++--- .../mediatek/vcodec/vdec/vdec_vp8_req_if.c | 46 +++--- .../mediatek/vcodec/vdec/vdec_vp9_if.c | 152 ++++++++++--------quoted
.../vcodec/vdec/vdec_vp9_req_lat_if.c | 84 ++++++---- .../platform/mediatek/vcodec/vdec_vpu_if.c | 59 ++++--- .../mediatek/vcodec/venc/venc_h264_if.c | 86 +++++----- .../mediatek/vcodec/venc/venc_vp8_if.c | 48 +++--- .../platform/mediatek/vcodec/venc_vpu_if.c | 64 ++++---- 14 files changed, 565 insertions(+), 407 deletions(-) diff --gita/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.hquoted
index ecb0bdf3a4f4..ddc12c3e2983 100644--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h@@ -31,9 +31,8 @@ struct mtk_vcodec_dev; #define mtk_v4l2_err(fmt, args...) \ pr_err("[MTK_V4L2][ERROR] " fmt "\n", ##args) -#define mtk_vcodec_err(h, fmt, args...)\ -pr_err("[MTK_VCODEC][ERROR][%d]: " fmt "\n",\ - ((struct mtk_vcodec_ctx *)(h)->ctx)->id, ##args) +#define mtk_vcodec_err(plat_dev, inst_id, fmt,args...) \quoted
+dev_err(&(plat_dev)->dev, "[MTK_VCODEC][ERROR][%d]: " fmt "\n",inst_id, ##args)quoted
#if defined(CONFIG_DEBUG_FS) extern int mtk_v4l2_dbg_level;@@ -46,27 +45,24 @@ extern int mtk_vcodec_dbg; __func__, __LINE__, ##args); \ } while (0) -#define mtk_vcodec_debug(h, fmt, args...) \ -do { \ -if (mtk_vcodec_dbg) \ -dev_dbg(&(((struct mtk_vcodec_ctx *)(h)->ctx)->dev->plat_dev-dev), \ -"[MTK_VCODEC][%d]: %s, %d " fmt "\n", \ -((struct mtk_vcodec_ctx *)(h)->ctx)->id, \ -__func__, __LINE__, ##args); \ +#define mtk_vcodec_debug(plat_dev, inst_id, fmt,args...) \quoted
+do{ \quoted
+if(mtk_vcodec_dbg) \quoted
+dev_dbg(&(plat_dev)->dev, "[MTK_VCODEC][%d]: %s, %d " fmt "\n", \At least in this patch, you systematically pass plat_dev as <something>->ctx->dev->plat_dev, which is quite long and verbose, any reason we can't just pass that <something> here ? We can follow the same structure path for both encoder/decoder ?
In order to separate encode and decoder, need to define two different struct mtk_vcodec_dec_ctx and struct mtk_vcodec_enc_ctx. struct mtk_vcodec_ctx won't be used again, need to use platform device to print dev_dbg and dev_err. encoder and decoder using the same interface to print log message. Best Regards, Yunfei Dong
quoted
+inst_id, __func__, __LINE__, ##args); \ } while (0) #else #define mtk_v4l2_debug(level, fmt, args...) pr_debug(fmt, ##args) -#define mtk_vcodec_debug(h, fmt, args...)\ -pr_debug("[MTK_VCODEC][%d]: " fmt "\n",\
...snip...