Hello Yunfei, Le lundi 10 janvier 2022 à 16:34 +0800, Yunfei Dong a écrit : > This series adds support for mt8192 h264/vp8/vp9 decoder drivers. Firstly, refactor > power/clock/interrupt interfaces for mt8192 is lat and core architecture. > > Secondly, add new functions to get frame buffer size and resolution according > to decoder capability from scp side. Then add callback function to get/put > capture buffer in order to enable lat and core decoder in parallel. > > Then add to support MT21C compressed mode and fix v4l2-compliance fail. Perhaps you wanted to append the referred v4l2-compliance output (fixed) ? As we started doing with other codec driver submission (just did last month for NXP), can you state which software this driver was tested with ? I have started receiving feedback from third party that MTK driver support is not reproducible, I would like to work with you to fix the situation. regards, Nicolas > > Next, extract H264 request api driver to let mt8183 and mt8192 use the same > code, and adds mt8192 frame based h264 driver for stateless decoder. > > Lastly, add vp8 and vp9 stateless decoder drivers. > > Patches 1 to refactor power/clock/interrupt interface. > Patches 2~4 get frame buffer size and resolution according to decoder capability. > Patches 5~6 enable lat and core decode in parallel. > Patch 7~10 add to support MT21C compressed mode and fix v4l2-compliance fail. > patch 11 record capture queue format type. > Patch 12~13 extract h264 driver and add mt8192 frame based driver for h264 decoder. > Patch 14~15 add vp8 and vp9 stateless decoder drivers. > ---- > Dependents on "Support multi hardware decode using of_platform_populate"[1]. > > This patches are the second part used to add mt8192 h264 decoder. And the base part is [1]. > > [1]https://patchwork.linuxtv.org/project/linux-media/cover/20211215061552.8523-1-yunfei.dong@xxxxxxxxxxxx/ > --- > changes compared with v3: > - remove enum mtk_chip for patch 2. > - add vp8 stateless decoder drivers for patch 14. > - add vp9 stateless decoder drivers for patch 15. > changes compared with v2: > - add new patch 11 to record capture queue format type. > - separate patch 4 according to tzung-bi's suggestion. > - re-write commit message for patch 5 according to tzung-bi's suggestion. > changes compared with v1: > - rewrite commit message for patch 12. > - rewrite cover-letter message. > --- > Yunfei Dong (15): > media: mtk-vcodec: Add vdec enable/disable hardware helpers > media: mtk-vcodec: Using firmware type to separate different firmware > architecture > media: mtk-vcodec: get capture queue buffer size from scp > media: mtk-vcodec: Read max resolution from dec_capability > media: mtk-vcodec: Call v4l2_m2m_set_dst_buffered() set capture buffer > buffered > media: mtk-vcodec: Refactor get and put capture buffer flow > media: mtk-vcodec: Refactor supported vdec formats and framesizes > media: mtk-vcodec: Add format to support MT21C > media: mtk-vcodec: disable vp8 4K capability > media: mtk-vcodec: Fix v4l2-compliance fail > media: mtk-vcodec: record capture queue format type > media: mtk-vcodec: Extract H264 common code > media: mtk-vcodec: Add h264 decoder driver for mt8192 > media: mtk-vcodec: Add vp8 decoder driver for mt8192 > media: mtk-vcodec: Add vp9 decoder driver for mt8192 > > drivers/media/platform/mtk-vcodec/Makefile | 4 + > .../platform/mtk-vcodec/mtk_vcodec_dec.c | 49 +- > .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 5 - > .../platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 168 +- > .../platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 6 +- > .../mtk-vcodec/mtk_vcodec_dec_stateful.c | 14 +- > .../mtk-vcodec/mtk_vcodec_dec_stateless.c | 284 ++- > .../platform/mtk-vcodec/mtk_vcodec_drv.h | 40 +- > .../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 5 - > .../media/platform/mtk-vcodec/mtk_vcodec_fw.c | 6 + > .../media/platform/mtk-vcodec/mtk_vcodec_fw.h | 1 + > .../mtk-vcodec/vdec/vdec_h264_req_common.c | 311 +++ > .../mtk-vcodec/vdec/vdec_h264_req_common.h | 254 ++ > .../mtk-vcodec/vdec/vdec_h264_req_if.c | 416 +--- > .../mtk-vcodec/vdec/vdec_h264_req_multi_if.c | 605 +++++ > .../mtk-vcodec/vdec/vdec_vp8_req_if.c | 445 ++++ > .../mtk-vcodec/vdec/vdec_vp9_req_lat_if.c | 2066 +++++++++++++++++ > .../media/platform/mtk-vcodec/vdec_drv_if.c | 36 +- > .../media/platform/mtk-vcodec/vdec_drv_if.h | 3 + > .../media/platform/mtk-vcodec/vdec_ipi_msg.h | 37 + > .../platform/mtk-vcodec/vdec_msg_queue.c | 2 + > .../media/platform/mtk-vcodec/vdec_vpu_if.c | 54 +- > .../media/platform/mtk-vcodec/vdec_vpu_if.h | 15 + > .../media/platform/mtk-vcodec/venc_vpu_if.c | 2 +- > include/linux/remoteproc/mtk_scp.h | 2 + > 25 files changed, 4248 insertions(+), 582 deletions(-) > create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_common.c > create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_common.h > create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_multi_if.c > create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c > create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c >