media: mtk-vcodec: abstract firmware interface
authorYunfei Dong <yunfei.dong@mediatek.com>
Fri, 21 Aug 2020 10:35:52 +0000 (12:35 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 26 Sep 2020 07:53:52 +0000 (09:53 +0200)
commitbf1d556ad4e0f8d92753d3b9896d492f4f065822
tree7598e3de946997a6885b1a758b045e6b959c7b21
parentcbd2dca74926c0e4610c40923cc786b732c9e8ef
media: mtk-vcodec: abstract firmware interface

MT8183's codec firmware is run by a different remote processor from
MT8173. While the firmware interface is basically the same, the way to
invoke it differs. Abstract all firmware calls under a layer that will
allow us to handle both firmware types transparently.

[acourbot: refactor, cleanup and split]
[pihsun: fix error path and add mtk_vcodec_fw_release]
[hverkuil: fixed some checkpatch alignment warnings]
[hverkuil: fixed merge conflicts]

Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Co-developed-by: Alexandre Courbot <acourbot@chromium.org>
Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Tiffany Lin <tiffany.lin@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
21 files changed:
drivers/media/platform/mtk-vcodec/Makefile
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c
drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.c [new file with mode: 0644]
drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.h [new file with mode: 0644]
drivers/media/platform/mtk-vcodec/mtk_vcodec_util.c
drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c
drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c
drivers/media/platform/mtk-vcodec/vdec_drv_base.h
drivers/media/platform/mtk-vcodec/vdec_drv_if.c
drivers/media/platform/mtk-vcodec/vdec_vpu_if.c
drivers/media/platform/mtk-vcodec/vdec_vpu_if.h
drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c
drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c
drivers/media/platform/mtk-vcodec/venc_drv_if.c
drivers/media/platform/mtk-vcodec/venc_vpu_if.c
drivers/media/platform/mtk-vcodec/venc_vpu_if.h