Re: [PATCH v5 2/3] media: venus: Populate video encoder/decoder nodename entries

From: Nicolas Dufresne
Date: Fri Dec 13 2024 - 15:07:16 EST


Hi Bryan,

Le lundi 09 décembre 2024 à 11:52 +0000, Bryan O'Donoghue a écrit :
> Populate encoder and decoder node-name entries for the upstream parts. Once
> done the compat="video-encoder" and compat="video-decoder" in the dtsi can
> be dropped though the venus driver will continue to favour DT declared
> video-encoder/video-decoder declarations over static declarations for
> compatibility.

Hope this hardcoding of node name is historical ? And not done for newer chips ?
We discourage userspace on relying on node names cause it always leads to
complication and non-portable code.

Nicolas

>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> ---
> drivers/media/platform/qcom/venus/core.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
> index 88dfa9f240dc6d18a7f58dc06b1bf10274b7121e..deef391d78770b8ae0f486dd3a3ab44c4ea6a581 100644
> --- a/drivers/media/platform/qcom/venus/core.c
> +++ b/drivers/media/platform/qcom/venus/core.c
> @@ -674,6 +674,8 @@ static const struct venus_resources msm8916_res = {
> .vmem_addr = 0,
> .dma_mask = 0xddc00000 - 1,
> .fwname = "qcom/venus-1.8/venus.mbn",
> + .dec_nodename = "video-decoder",
> + .enc_nodename = "video-encoder",
> };
>
> static const struct freq_tbl msm8996_freq_table[] = {
> @@ -883,6 +885,8 @@ static const struct venus_resources sdm845_res_v2 = {
> .cp_nonpixel_start = 0x1000000,
> .cp_nonpixel_size = 0x24800000,
> .fwname = "qcom/venus-5.2/venus.mbn",
> + .dec_nodename = "video-core0",
> + .enc_nodename = "video-core1",
> };
>
> static const struct freq_tbl sc7180_freq_table[] = {
> @@ -931,6 +935,8 @@ static const struct venus_resources sc7180_res = {
> .cp_nonpixel_start = 0x1000000,
> .cp_nonpixel_size = 0x24800000,
> .fwname = "qcom/venus-5.4/venus.mbn",
> + .dec_nodename = "video-decoder",
> + .enc_nodename = "video-encoder",
> };
>
> static const struct freq_tbl sm8250_freq_table[] = {
> @@ -986,6 +992,8 @@ static const struct venus_resources sm8250_res = {
> .vmem_addr = 0,
> .dma_mask = 0xe0000000 - 1,
> .fwname = "qcom/vpu-1.0/venus.mbn",
> + .dec_nodename = "video-decoder",
> + .enc_nodename = "video-encoder",
> };
>
> static const struct freq_tbl sc7280_freq_table[] = {
> @@ -1048,6 +1056,8 @@ static const struct venus_resources sc7280_res = {
> .cp_nonpixel_start = 0x1000000,
> .cp_nonpixel_size = 0x24800000,
> .fwname = "qcom/vpu-2.0/venus.mbn",
> + .dec_nodename = "video-decoder",
> + .enc_nodename = "video-encoder",
> };
>
> static const struct of_device_id venus_dt_match[] = {
>