This series enables support for 6xx venus encode/decode as found on the sm8250. The new silicon has different base addresses for existing functional blocks within the venus address space. We add a base address offset mechanism to handle this. The offsetting mechanism has been validated on 6xx and 4xx hardware. The sm8250 supports: - h264 - h265 - vp8 - vp9 The driver changes are contingent on yaml and dts patches already in-flight. yaml: pending https://www.spinics.net/lists/devicetree/msg406892.html dts: pending https://lore.kernel.org/linux-arm-msm/20210222132817.1807788-1-bryan.odonoghue@xxxxxxxxxx/T/#t clk: applied https://kernel.googlesource.com/pub/scm/linux/kernel/git/clk/linux/+/clk-next Applies on top of https://git.linuxtv.org/svarbanov/media_tree.git / venus-for-next-v5.12-part2 Bryan O'Donoghue (11): media: venus: Update v6 buffer descriptors media: venus: core: add sm8250 DT compatible and resource data media: venus: core: Add io base variables for each block media: venus: hfi,pm,firmware: Convert to block relative addressing media: venus: core: Add differentiator IS_V6(core) media: venus: core: Add an io base for TZ wrapper regs media: venus: core: Add an io base for AON regs media: venus: core: Hook to V6 base registers when appropriate media: venus: hfi: Read WRAPPER_TZ_CPU_STATUS_V6 on 6xx media: venus: hfi, vdec: v6 Add IS_V6() to existing IS_V4() if locations media: venus: pm: Hook 6xx pm ops into 4xx pm ops Dikshita Agarwal (12): media: venus: core,pm: Vote for min clk freq during venus boot media: venus: hfi: Define block offsets for V6 hardware media: venus: hfi: Define additional 6xx registers media: venus: hfi: Add a 6xx boot logic media: venus: hfi: Add 6xx interrupt support media: venus: hfi: Add 6xx AXI halt logic media: venus: pm: Toggle 6xx wrapper power in vcodec_control media: venus: firmware: Do not toggle WRAPPER_A9SS_SW_RESET on 6xx media: venus: helpers: Add internal buffer list for v6 media: venus: helpers, hfi, vdec: Set actual plane constraints to FW media: venus: hfi: Increase plat_buf_v6 o/p buffer count. media: venus: helper: Decide work mode Stanimir Varbanov (2): media: venus: core,pm: Add handling for resets media: venus: vdec: Fix decoder cmd STOP issue drivers/media/platform/qcom/venus/core.c | 78 ++++++++ drivers/media/platform/qcom/venus/core.h | 19 ++ drivers/media/platform/qcom/venus/firmware.c | 34 ++-- drivers/media/platform/qcom/venus/helpers.c | 80 +++++++- drivers/media/platform/qcom/venus/helpers.h | 3 +- drivers/media/platform/qcom/venus/hfi_cmds.c | 15 +- .../media/platform/qcom/venus/hfi_helper.h | 9 +- .../platform/qcom/venus/hfi_plat_bufs_v6.c | 2 +- .../platform/qcom/venus/hfi_platform_v6.c | 138 +++++++------- drivers/media/platform/qcom/venus/hfi_venus.c | 177 +++++++++++++----- .../media/platform/qcom/venus/hfi_venus_io.h | 118 ++++++++---- .../media/platform/qcom/venus/pm_helpers.c | 92 ++++++++- drivers/media/platform/qcom/venus/vdec.c | 14 +- drivers/media/platform/qcom/venus/venc.c | 2 +- 14 files changed, 584 insertions(+), 197 deletions(-) -- 2.29.2