mbox series

[00/13] Introduce new hfi platform layer

Message ID 20200827092417.16040-1-stanimir.varbanov@linaro.org (mailing list archive)
Headers show
Series Introduce new hfi platform layer | expand

Message

Stanimir Varbanov Aug. 27, 2020, 9:24 a.m. UTC
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