[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220104080138.7472-1-yunfei.dong@mediatek.com>
Date: Tue, 4 Jan 2022 16:01:25 +0800
From: Yunfei Dong <yunfei.dong@...iatek.com>
To: Yunfei Dong <yunfei.dong@...iatek.com>,
Alexandre Courbot <acourbot@...omium.org>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
"Tzung-Bi Shih" <tzungbi@...omium.org>,
Tiffany Lin <tiffany.lin@...iatek.com>,
Andrew-CT Chen <andrew-ct.chen@...iatek.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
Tomasz Figa <tfiga@...gle.com>
CC: Hsin-Yi Wang <hsinyi@...omium.org>,
Fritz Koenig <frkoenig@...omium.org>,
Dafna Hirschfeld <dafna.hirschfeld@...labora.com>,
Benjamin Gaignard <benjamin.gaignard@...labora.com>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel <dri-devel@...ts.freedesktop.org>,
Irui Wang <irui.wang@...iatek.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
"Steve Cho" <stevecho@...omium.org>, <linux-media@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<srv_heupstream@...iatek.com>,
<linux-mediatek@...ts.infradead.org>,
<Project_Global_Chrome_Upstream_Group@...iatek.com>
Subject: [PATCH v3, 00/13] media: mtk-vcodec: support for MT8192 decoder
This series adds support for mt8192 h264 decoder. Firstly, need to 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.
Lastly, extract H264 request api driver to let mt8183 and mt8192 use the same
code, and adds mt8192 frame based h264 driver for stateless decoder.
Patches 1 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.
----
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@mediatek.com/
---
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 (13):
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
drivers/media/platform/mtk-vcodec/Makefile | 2 +
.../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 | 246 +++++--
.../platform/mtk-vcodec/mtk_vcodec_drv.h | 27 +-
.../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 | 303 +++++++++
.../mtk-vcodec/vdec/vdec_h264_req_common.h | 247 +++++++
.../mtk-vcodec/vdec/vdec_h264_req_if.c | 402 +-----------
.../mtk-vcodec/vdec/vdec_h264_req_lat_if.c | 620 ++++++++++++++++++
.../media/platform/mtk-vcodec/vdec_drv_if.c | 28 +-
.../media/platform/mtk-vcodec/vdec_drv_if.h | 1 +
.../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 | 55 +-
.../media/platform/mtk-vcodec/vdec_vpu_if.h | 15 +
include/linux/remoteproc/mtk_scp.h | 2 +
21 files changed, 1681 insertions(+), 555 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_lat_if.c
--
2.25.1
Powered by blists - more mailing lists