Skip to content

Commit 193b3da

Browse files
Pierre-Hugues HussonHans Verkuil
authored andcommitted
media: venus: add msm8998 support
Add the missing bits for msm8998 support. Downstream vendor code for reference: https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/ kernel.lnx.4.4.r38-rel/arch/arm/boot/dts/qcom/msm8998-vidc.dtsi#L42-53 qcom,load-freq-tbl = /* Encoders */ <972000 465000000 0x55555555>, /* 4k UHD @ 30 */ <489600 360000000 0x55555555>, /* 1080p @ 60 */ <244800 186000000 0x55555555>, /* 1080p @ 30 */ <108000 100000000 0x55555555>, /* 720p @ 30 */ /* Decoders */ <1944000 465000000 0xffffffff>, /* 4k UHD @ 60 */ < 972000 360000000 0xffffffff>, /* 4k UHD @ 30 */ < 489600 186000000 0xffffffff>, /* 1080p @ 60 */ < 244800 100000000 0xffffffff>; /* 1080p @ 30 */ Signed-off-by: Pierre-Hugues Husson <[email protected]> Signed-off-by: Marc Gonzalez <[email protected]> Reviewed-by: Bryan O'Donoghue <[email protected]> Acked-by: Vikash Garodia <[email protected]> Signed-off-by: Stanimir Varbanov <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
1 parent 599a0bc commit 193b3da

File tree

1 file changed

+39
-0
lines changed
  • drivers/media/platform/qcom/venus

1 file changed

+39
-0
lines changed

drivers/media/platform/qcom/venus/core.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,44 @@ static const struct venus_resources msm8996_res = {
591591
.fwname = "qcom/venus-4.2/venus.mbn",
592592
};
593593

594+
static const struct freq_tbl msm8998_freq_table[] = {
595+
{ 1944000, 465000000 }, /* 4k UHD @ 60 (decode only) */
596+
{ 972000, 465000000 }, /* 4k UHD @ 30 */
597+
{ 489600, 360000000 }, /* 1080p @ 60 */
598+
{ 244800, 186000000 }, /* 1080p @ 30 */
599+
{ 108000, 100000000 }, /* 720p @ 30 */
600+
};
601+
602+
static const struct reg_val msm8998_reg_preset[] = {
603+
{ 0x80124, 0x00000003 },
604+
{ 0x80550, 0x01111111 },
605+
{ 0x80560, 0x01111111 },
606+
{ 0x80568, 0x01111111 },
607+
{ 0x80570, 0x01111111 },
608+
{ 0x80580, 0x01111111 },
609+
{ 0x80588, 0x01111111 },
610+
{ 0xe2010, 0x00000000 },
611+
};
612+
613+
static const struct venus_resources msm8998_res = {
614+
.freq_tbl = msm8998_freq_table,
615+
.freq_tbl_size = ARRAY_SIZE(msm8998_freq_table),
616+
.reg_tbl = msm8998_reg_preset,
617+
.reg_tbl_size = ARRAY_SIZE(msm8998_reg_preset),
618+
.clks = { "core", "iface", "bus", "mbus" },
619+
.clks_num = 4,
620+
.vcodec0_clks = { "core" },
621+
.vcodec1_clks = { "core" },
622+
.vcodec_clks_num = 1,
623+
.max_load = 2563200,
624+
.hfi_version = HFI_VERSION_3XX,
625+
.vmem_id = VIDC_RESOURCE_NONE,
626+
.vmem_size = 0,
627+
.vmem_addr = 0,
628+
.dma_mask = 0xddc00000 - 1,
629+
.fwname = "qcom/venus-4.4/venus.mbn",
630+
};
631+
594632
static const struct freq_tbl sdm660_freq_table[] = {
595633
{ 979200, 518400000 },
596634
{ 489600, 441600000 },
@@ -897,6 +935,7 @@ static const struct venus_resources sc7280_res = {
897935
static const struct of_device_id venus_dt_match[] = {
898936
{ .compatible = "qcom,msm8916-venus", .data = &msm8916_res, },
899937
{ .compatible = "qcom,msm8996-venus", .data = &msm8996_res, },
938+
{ .compatible = "qcom,msm8998-venus", .data = &msm8998_res, },
900939
{ .compatible = "qcom,sdm660-venus", .data = &sdm660_res, },
901940
{ .compatible = "qcom,sdm845-venus", .data = &sdm845_res, },
902941
{ .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, },

0 commit comments

Comments
 (0)