| From: |
| Stanimir Varbanov <stanimir.varbanov-AT-linaro.org> |
| To: |
| Mauro Carvalho Chehab <mchehab-AT-kernel.org>, Hans Verkuil <hverkuil-AT-xs4all.nl> |
| Subject: |
| [PATCH v4 0/9] Qualcomm video decoder/encoder driver |
| Date: |
| Thu, 1 Dec 2016 11:03:12 +0200 |
| Message-ID: |
| <1480583001-32236-1-git-send-email-stanimir.varbanov@linaro.org> |
| Cc: |
| Andy Gross <andy.gross-AT-linaro.org>, Bjorn Andersson <bjorn.andersson-AT-linaro.org>, Stephen Boyd <sboyd-AT-codeaurora.org>, Srinivas Kandagatla <srinivas.kandagatla-AT-linaro.org>, linux-media-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-arm-msm-AT-vger.kernel.org, Stanimir Varbanov <stanimir.varbanov-AT-linaro.org> |
Hi,
Here is version 4 of the Venus video driver.
The changes since v3 are:
* the driver now use m2m APIs. In order to make possible to
use m2m I had to extend m2m APIs with few more helper functions
for buffer list manipulations.
* addressed comments from Hans about buffer done on error path.
* simplify s_selection in decoder.
* avoid simple IRQ related wrappers in core.c and use HFI ones directly.
* added kernel doc description of venus_core|inst structures.
* replaced list_for_each_entry_safe with list_for_each_entry where
safer variants are not applicable.
* revisit the locking per instance and come down to one lock per
instance.
* added help text in the driver Kconfig option.
* deleted custom venus_ctrl structure which duplicates v4l2_ctrl_config.
* various cleanups on random places to avoid code duplications and
to reduce the code lines.
* removed video memory (vmem) DT properties from binding document, this
will need more work.
The previous version can be found at https://lkml.org/lkml/2016/11/7/554
regards,
Stan
Stanimir Varbanov (9):
media: v4l2-mem2mem: extend m2m APIs for more accurate buffer
management
doc: DT: venus: binding document for Qualcomm video driver
MAINTAINERS: Add Qualcomm Venus video accelerator driver
media: venus: adding core part and helper functions
media: venus: vdec: add video decoder files
media: venus: venc: add video encoder files
media: venus: hfi: add Host Firmware Interface (HFI)
media: venus: hfi: add Venus HFI files
media: venus: enable building of Venus video driver
.../devicetree/bindings/media/qcom,venus.txt | 82 ++
MAINTAINERS | 8 +
drivers/media/platform/Kconfig | 13 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/qcom/venus/Makefile | 14 +
drivers/media/platform/qcom/venus/core.c | 474 ++++++
drivers/media/platform/qcom/venus/core.h | 296 ++++
drivers/media/platform/qcom/venus/helpers.c | 621 ++++++++
drivers/media/platform/qcom/venus/helpers.h | 41 +
drivers/media/platform/qcom/venus/hfi.c | 492 +++++++
drivers/media/platform/qcom/venus/hfi.h | 174 +++
drivers/media/platform/qcom/venus/hfi_cmds.c | 1256 ++++++++++++++++
drivers/media/platform/qcom/venus/hfi_cmds.h | 304 ++++
drivers/media/platform/qcom/venus/hfi_helper.h | 1045 ++++++++++++++
drivers/media/platform/qcom/venus/hfi_msgs.c | 1054 ++++++++++++++
drivers/media/platform/qcom/venus/hfi_msgs.h | 283 ++++
drivers/media/platform/qcom/venus/hfi_venus.c | 1508 ++++++++++++++++++++
drivers/media/platform/qcom/venus/hfi_venus.h | 23 +
drivers/media/platform/qcom/venus/hfi_venus_io.h | 98 ++
drivers/media/platform/qcom/venus/vdec.c | 976 +++++++++++++
drivers/media/platform/qcom/venus/vdec.h | 32 +
drivers/media/platform/qcom/venus/vdec_ctrls.c | 149 ++
drivers/media/platform/qcom/venus/venc.c | 1099 ++++++++++++++
drivers/media/platform/qcom/venus/venc.h | 32 +
drivers/media/platform/qcom/venus/venc_ctrls.c | 258 ++++
drivers/media/v4l2-core/v4l2-mem2mem.c | 37 +
include/media/v4l2-mem2mem.h | 83 ++
27 files changed, 10454 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/qcom,venus.txt
create mode 100644 drivers/media/platform/qcom/venus/Makefile
create mode 100644 drivers/media/platform/qcom/venus/core.c
create mode 100644 drivers/media/platform/qcom/venus/core.h
create mode 100644 drivers/media/platform/qcom/venus/helpers.c
create mode 100644 drivers/media/platform/qcom/venus/helpers.h
create mode 100644 drivers/media/platform/qcom/venus/hfi.c
create mode 100644 drivers/media/platform/qcom/venus/hfi.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_cmds.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_cmds.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_helper.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_msgs.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_msgs.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_venus.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_venus.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_venus_io.h
create mode 100644 drivers/media/platform/qcom/venus/vdec.c
create mode 100644 drivers/media/platform/qcom/venus/vdec.h
create mode 100644 drivers/media/platform/qcom/venus/vdec_ctrls.c
create mode 100644 drivers/media/platform/qcom/venus/venc.c
create mode 100644 drivers/media/platform/qcom/venus/venc.h
create mode 100644 drivers/media/platform/qcom/venus/venc_ctrls.c
--
2.7.4