[PATCH v4 0/9] Qualcomm video decoder/encoder driver

From: Stanimir Varbanov
Date: Thu Dec 01 2016 - 04:04:59 EST


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