File tree Expand file tree Collapse file tree
drivers/media/platform/mediatek/vcodec Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4646ifneq ($(CONFIG_VIDEO_MEDIATEK_VCODEC_SCP ) ,)
4747mtk-vcodec-common-y += mtk_vcodec_fw_scp.o
4848endif
49+
50+ ifneq ($(CONFIG_DEBUG_FS ) ,)
51+ obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC) += mtk-vcodec-dbgfs.o
52+
53+ mtk-vcodec-dbgfs-y := mtk_vcodec_dbgfs.o
54+ endif
Original file line number Diff line number Diff line change 1+ // SPDX-License-Identifier: GPL-2.0
2+ /*
3+ * Copyright (c) 2023 MediaTek Inc.
4+ * Author: Yunfei Dong <yunfei.dong@mediatek.com>
5+ */
6+
7+ #include <linux/debugfs.h>
8+
9+ #include "mtk_vcodec_dbgfs.h"
10+ #include "mtk_vcodec_drv.h"
11+ #include "mtk_vcodec_util.h"
12+
13+ void mtk_vcodec_dbgfs_init (struct mtk_vcodec_dev * vcodec_dev )
14+ {
15+ struct dentry * vcodec_root ;
16+
17+ vcodec_dev -> dbgfs .vcodec_root = debugfs_create_dir ("vcodec-dec" , NULL );
18+ if (IS_ERR (vcodec_dev -> dbgfs .vcodec_root ))
19+ dev_err (& vcodec_dev -> plat_dev -> dev , "create vcodec dir err:%d\n" ,
20+ IS_ERR (vcodec_dev -> dbgfs .vcodec_root ));
21+
22+ vcodec_root = vcodec_dev -> dbgfs .vcodec_root ;
23+ }
24+ EXPORT_SYMBOL_GPL (mtk_vcodec_dbgfs_init );
25+
26+ void mtk_vcodec_dbgfs_deinit (struct mtk_vcodec_dev * vcodec_dev )
27+ {
28+ debugfs_remove_recursive (vcodec_dev -> dbgfs .vcodec_root );
29+ }
30+ EXPORT_SYMBOL_GPL (mtk_vcodec_dbgfs_deinit );
31+
32+ MODULE_LICENSE ("GPL v2" );
33+ MODULE_DESCRIPTION ("Mediatek video codec driver" );
Original file line number Diff line number Diff line change 1+ /* SPDX-License-Identifier: GPL-2.0 */
2+ /*
3+ * Copyright (c) 2023 MediaTek Inc.
4+ * Author: Yunfei Dong <yunfei.dong@mediatek.com>
5+ */
6+
7+ #ifndef __MTK_VCODEC_DBGFS_H__
8+ #define __MTK_VCODEC_DBGFS_H__
9+
10+ struct mtk_vcodec_dev ;
11+
12+ /**
13+ * struct mtk_vcodec_dbgfs - dbgfs information
14+ * @vcodec_root: vcodec dbgfs entry
15+ */
16+ struct mtk_vcodec_dbgfs {
17+ struct dentry * vcodec_root ;
18+ };
19+
20+ #if defined(CONFIG_DEBUG_FS )
21+ void mtk_vcodec_dbgfs_init (struct mtk_vcodec_dev * vcodec_dev );
22+ void mtk_vcodec_dbgfs_deinit (struct mtk_vcodec_dev * vcodec_dev );
23+ #else
24+ static inline void mtk_vcodec_dbgfs_init (struct mtk_vcodec_dev * vcodec_dev )
25+ {
26+ }
27+
28+ static inline void mtk_vcodec_dbgfs_deinit (struct mtk_vcodec_dev * vcodec_dev )
29+ {
30+ }
31+ #endif
32+ #endif
Original file line number Diff line number Diff line change @@ -422,6 +422,7 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
422422 mtk_v4l2_debug (0 , "media registered as /dev/media%d" , vfd_dec -> minor );
423423 }
424424
425+ mtk_vcodec_dbgfs_init (dev );
425426 mtk_v4l2_debug (0 , "decoder registered as /dev/video%d" , vfd_dec -> minor );
426427
427428 return 0 ;
@@ -497,6 +498,7 @@ static void mtk_vcodec_dec_remove(struct platform_device *pdev)
497498 if (dev -> vfd_dec )
498499 video_unregister_device (dev -> vfd_dec );
499500
501+ mtk_vcodec_dbgfs_deinit (dev );
500502 v4l2_device_unregister (& dev -> v4l2_dev );
501503 if (!dev -> vdec_pdata -> is_subdev_supported )
502504 pm_runtime_disable (dev -> pm .dev );
Original file line number Diff line number Diff line change 1616#include <media/v4l2-mem2mem.h>
1717#include <media/videobuf2-core.h>
1818
19+ #include "mtk_vcodec_dbgfs.h"
1920#include "mtk_vcodec_util.h"
2021#include "vdec_msg_queue.h"
2122
@@ -471,6 +472,7 @@ struct mtk_vcodec_enc_pdata {
471472 * @dec_active_cnt: used to mark whether need to record register value
472473 * @vdec_racing_info: record register value
473474 * @dec_racing_info_mutex: mutex lock used for inner racing mode
475+ * @dbgfs: debug log related information
474476 */
475477struct mtk_vcodec_dev {
476478 struct v4l2_device v4l2_dev ;
@@ -520,6 +522,8 @@ struct mtk_vcodec_dev {
520522 u32 vdec_racing_info [132 ];
521523 /* Protects access to vdec_racing_info data */
522524 struct mutex dec_racing_info_mutex ;
525+
526+ struct mtk_vcodec_dbgfs dbgfs ;
523527};
524528
525529static inline struct mtk_vcodec_ctx * fh_to_ctx (struct v4l2_fh * fh )
You can’t perform that action at this time.
0 commit comments