[PATCH 00/13] Introduce new hfi platform layer

From: Stanimir Varbanov
Date: Thu Aug 27 2020 - 05:24:58 EST


Hi,

In this patch series we introduce a new hfi platform layer in the
Venus driver to cover the differences between hfi versions.

The hfi_platform layer contains ops for getting supported codecs,
capabilities, number of VPP pipes and buffer requirements (the list
could be extended with more ops if needed). Starting from hfi v6 the
buffer sizes and buffer counts for particular codec will be calculated
in the driver.

Here we add hfi platform ops for v4 (sdm845 and sc8170) and v6
(sm8250) but my plan is to move v1 and v3 too with follow up patches.
With addition of v6 hfi_platform we aslo start a preparation to support
Venus v6 found in sm8250.

regards,
Stan

Stanimir Varbanov (13):
venus: Delete not used core caps
venus: Add more capabilities and VP9 profile/levels
venus: Create hfi platform and move vpp/vsp there
venus: Rename venus_caps to hfi_plat_caps
venus: hfi_plat: Add codecs and capabilities ops
venus: hfi_plat_v4: Populate codecs and capabilities for v4
venus: hfi_plat: Add platform ops for getting number of VPP pipes
venus: hfi_plat_v6: Populate capabilities for v6
venus: hfi_plat: Add hfi platform buffers ops
venus: Add platform buffers for v6
venus: Get codecs and capabilities from hfi platform
venus: vdec,core: Handle picture structure event
venus: helpers: Wire up hfi platform buffer requirements

drivers/media/platform/qcom/venus/Makefile | 4 +-
drivers/media/platform/qcom/venus/core.c | 17 -
drivers/media/platform/qcom/venus/core.h | 48 +-
drivers/media/platform/qcom/venus/helpers.c | 110 +-
drivers/media/platform/qcom/venus/helpers.h | 2 +-
.../media/platform/qcom/venus/hfi_helper.h | 34 +
.../media/platform/qcom/venus/hfi_parser.c | 55 +-
.../media/platform/qcom/venus/hfi_parser.h | 7 +-
.../media/platform/qcom/venus/hfi_plat_bufs.h | 38 +
.../platform/qcom/venus/hfi_plat_bufs_v6.c | 1231 +++++++++++++++++
.../media/platform/qcom/venus/hfi_platform.c | 65 +
.../media/platform/qcom/venus/hfi_platform.h | 66 +
.../platform/qcom/venus/hfi_platform_v4.c | 319 +++++
.../platform/qcom/venus/hfi_platform_v6.c | 326 +++++
drivers/media/platform/qcom/venus/hfi_venus.c | 3 -
.../media/platform/qcom/venus/pm_helpers.c | 9 +-
drivers/media/platform/qcom/venus/vdec.c | 12 +-
drivers/media/platform/qcom/venus/venc.c | 6 +-
18 files changed, 2229 insertions(+), 123 deletions(-)
create mode 100644 drivers/media/platform/qcom/venus/hfi_plat_bufs.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_platform.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_platform.h
create mode 100644 drivers/media/platform/qcom/venus/hfi_platform_v4.c
create mode 100644 drivers/media/platform/qcom/venus/hfi_platform_v6.c

--
2.17.1