Message ID | 20210222160300.1811121-1-bryan.odonoghue@linaro.org |
---|---|
Headers | show |
Series | media: venus: Enable 6xx support | expand |
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
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