On 16/04/2026 14:43, Erikas Bitovtas wrote:
+                       video-decoder {
+                               compatible = "venus-decoder";
+                               clocks = <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>,
+                                        <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>;
+                               clock-names = "core0", "core1";
+                               power-domains = <&gcc VENUS_CORE0_GDSC>,
+                                               <&gcc VENUS_CORE1_GDSC>;

This doesn't make sense.

You have two cores => assign one to encoder and the other to decoder.

And your resource struct looks like this

+static const struct venus_resources msm8939_res = {
+       .freq_tbl = msm8939_freq_table,
+       .freq_tbl_size = ARRAY_SIZE(msm8939_freq_table),
+       .reg_tbl = msm8939_reg_preset,
+       .reg_tbl_size = ARRAY_SIZE(msm8939_reg_preset),
+       .clks = { "core", "iface", "bus", },
+       .clks_num = 3,
+       .vcodec0_clks = { "core0", "core1" },
+       .vcodec_clks_num = 2,
+       .vcodec0_pmdomains = (const char *[]) { "core0", "core1" },
+       .vcodec0_pmdomains_num = 2,
+       .max_load = 489600, /* 1080p@30 + 1080p@30 */

You've got the max load right.

+       .hfi_version = HFI_VERSION_1XX,
+       .vmem_id = VIDC_RESOURCE_NONE,
+       .vmem_size = 0,
+       .vmem_addr = 0,
+       .dma_mask = 0xddc00000 - 1,
+       .fwname = "qcom/venus-1.8/venus.mbn",
+       .enc_nodename = "video-encoder",
+};

8916 points the way here

static const struct venus_resources msm8916_res = {
        .freq_tbl = msm8916_freq_table,
        .freq_tbl_size = ARRAY_SIZE(msm8916_freq_table),
        .reg_tbl = msm8916_reg_preset,
        .reg_tbl_size = ARRAY_SIZE(msm8916_reg_preset),
        .clks = { "core", "iface", "bus", },
        .clks_num = 3,
        .max_load = 352800, /* 720p@30 + 1080p@30 */
        .hfi_version = HFI_VERSION_1XX,
        .vmem_id = VIDC_RESOURCE_NONE,
        .vmem_size = 0,
        .vmem_addr = 0,
        .dma_mask = 0xddc00000 - 1,
        .fwname = "qcom/venus-1.8/venus.mbn",
        .dec_nodename = "video-decoder",
        .enc_nodename = "video-encoder",
};

---
bod

Reply via email to