mbox series

[00/25] media: venus: Enable 6xx support

Message ID 20210222160300.1811121-1-bryan.odonoghue@linaro.org
Headers show
Series media: venus: Enable 6xx support | expand

Message

Bryan O'Donoghue Feb. 22, 2021, 4:02 p.m. UTC
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@linaro.org/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(-)

Comments

Stanimir Varbanov Feb. 23, 2021, 1:11 p.m. UTC | #1
On 2/22/21 6:02 PM, Bryan O'Donoghue wrote:
> Currently hfi_platform_v6.c adds a bunch of capability parameters.

> Reviewing downstream we can see a number of these need to be updated.

> 

> techpack/video/msm/vidc/msm_vidc_platform.c :: kona_capabilities[]

> 

> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

> ---

>  .../platform/qcom/venus/hfi_platform_v6.c     | 138 +++++++++---------

>  1 file changed, 69 insertions(+), 69 deletions(-)

> 

> diff --git a/drivers/media/platform/qcom/venus/hfi_platform_v6.c b/drivers/media/platform/qcom/venus/hfi_platform_v6.c

> index 2278be13cb90..6fa80353bcce 100644

> --- a/drivers/media/platform/qcom/venus/hfi_platform_v6.c

> +++ b/drivers/media/platform/qcom/venus/hfi_platform_v6.c

> @@ -9,15 +9,15 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_H264,

>  	.domain = VIDC_SESSION_TYPE_DEC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 5760, 1},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 5760, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},

>  	/* ((5760 * 2880) / 256) */

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 36, 64800, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 200000000, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 22000000, 1},


s/22000000/220000000

>  	.caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},

>  	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 36, 1958400, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},

>  	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.num_caps = 9,

>  	.pl[0] = {HFI_H264_PROFILE_BASELINE, HFI_H264_LEVEL_52},

> @@ -35,15 +35,15 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_HEVC,

>  	.domain = VIDC_SESSION_TYPE_DEC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> -	.caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},

> -	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 22000000, 1},


s/22000000/220000000

> +	.caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},

> +	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},

>  	.num_caps = 10,

>  	.pl[0] = {HFI_HEVC_PROFILE_MAIN, HFI_HEVC_LEVEL_6 | HFI_HEVC_TIER_HIGH0},

> @@ -61,15 +61,15 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_VP8,

>  	.domain = VIDC_SESSION_TYPE_DEC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> -	.caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},

> -	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 4096, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 4096, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 36864, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 100000000, 1},

> +	.caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},

> +	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 4423680, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 120, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},

>  	.num_caps = 10,

>  	.pl[0] = {HFI_VPX_PROFILE_MAIN, HFI_VPX_LEVEL_VERSION_0},

> @@ -86,15 +86,15 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_VP9,

>  	.domain = VIDC_SESSION_TYPE_DEC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> -	.caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},

> -	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 22000000, 1},


s/22000000/220000000

> +	.caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},

> +	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},

>  	.num_caps = 10,

>  	.pl[0] = {HFI_VP9_PROFILE_P0, 200},

> @@ -112,15 +112,15 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_MPEG2,

>  	.domain = VIDC_SESSION_TYPE_DEC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 1920, 1},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 1920, 1},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 8160, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1},

>  	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 40000000, 1},

> -	.caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},

> -	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 244800, 1},

> +	.caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},

> +	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},


this should be 64 - 244800.

>  	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 30, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 1, 1},

>  	.num_caps = 10,

>  	.pl[0] = {HFI_MPEG2_PROFILE_SIMPLE, HFI_MPEG2_LEVEL_H14},

> @@ -135,21 +135,21 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_H264,

>  	.domain = VIDC_SESSION_TYPE_ENC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 22000000, 1},


s/22000000/220000000

>  	.caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},

>  	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},

> -	.caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 5, 1},

> -	.caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1},

> +	.caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 6, 1},

> +	.caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},

>  	.caps[12] = {HFI_CAPABILITY_LCU_SIZE, 16, 16, 1},

>  	.caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},

> -	.caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},

> +	.caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 6, 1},

>  	.caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1},

>  	.caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1},

>  	.caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1},

> @@ -172,24 +172,24 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_HEVC,

>  	.domain = VIDC_SESSION_TYPE_ENC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 16},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 16},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 160000000, 1},

>  	.caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},

>  	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},

>  	.caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 5, 1},

> -	.caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1},

> +	.caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},

>  	.caps[12] = {HFI_CAPABILITY_LCU_SIZE, 32, 32, 1},

>  	.caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},

>  	.caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},

> -	.caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 63, 1},

> -	.caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 63, 1},

> -	.caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 63, 1},

> +	.caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1},

> +	.caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1},

> +	.caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1},

>  	.caps[18] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 2, 1},

>  	.caps[19] = {HFI_CAPABILITY_RATE_CONTROL_MODES, 0x1000001, 0x1000005, 1},

>  	.caps[20] = {HFI_CAPABILITY_COLOR_SPACE_CONVERSION, 0, 2, 1},

> @@ -209,20 +209,20 @@ static const struct hfi_plat_caps caps[] = {

>  	.codec = HFI_VIDEO_CODEC_VP8,

>  	.domain = VIDC_SESSION_TYPE_ENC,

>  	.cap_bufs_mode_dynamic = true,

> -	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},

> -	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},

> -	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},

> -	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},

> +	.caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 4096, 16},

> +	.caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 4096, 16},

> +	.caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 36864, 1},

> +	.caps[3] = {HFI_CAPABILITY_BITRATE, 1, 74000000, 1},

>  	.caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},

>  	.caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},

> -	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},

> -	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 240, 1},

> -	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},

> +	.caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 4423680, 1},

> +	.caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 120, 1},


s/120/60

> +	.caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},

>  	.caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},

>  	.caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 3, 1},

>  	.caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},

>  	.caps[12] = {HFI_CAPABILITY_LCU_SIZE, 16, 16, 1},

> -	.caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},

> +	.caps[13] = {HFI_CAPABILITY_BFRAME, 0, 0, 1},


>  	.caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},

>  	.caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 127, 1},

>  	.caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 127, 1},

> 


-- 
regards,
Stan
Stanimir Varbanov Feb. 23, 2021, 1:48 p.m. UTC | #2
Could you move this patch at the end of the series where the support for
v6xx will be fully functional?

On 2/22/21 6:02 PM, Bryan O'Donoghue wrote:
> Adds an sm8250 compatible binding to the venus core.

> 

> Co-developed-by: Jonathan Marek <jonathan@marek.ca>

> Signed-off-by: Jonathan Marek <jonathan@marek.ca>

> Co-developed-by: Dikshita Agarwal <dikshita@codeaurora.org>

> Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>

> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

> ---

>  drivers/media/platform/qcom/venus/core.c | 54 ++++++++++++++++++++++++

>  1 file changed, 54 insertions(+)


Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>


-- 
regards,
Stan