[PATCH] media: venus: Fix firmware path for sm8250

Patrick Whewell posted 1 patch 2 years, 7 months ago
drivers/media/platform/qcom/venus/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] media: venus: Fix firmware path for sm8250
Posted by Patrick Whewell 2 years, 7 months ago
The firmware path for the sm8250 resources is incorrect. This fixes the
path to address the firmware correctly.

Signed-off-by: Patrick Whewell <patrick.whewell@sightlineapplications.com>
---
 drivers/media/platform/qcom/venus/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index 2ae867cb4c48..348085f8fc9c 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xe0000000 - 1,
-	.fwname = "qcom/vpu-1.0/venus.mdt",
+	.fwname = "qcom/vpu-1.0/venus.mbn",
 };
 
 static const struct freq_tbl sc7280_freq_table[] = {
-- 
2.25.1
Re: [PATCH] media: venus: Fix firmware path for sm8250
Posted by Bryan O'Donoghue 2 years, 7 months ago
On 11/07/2023 19:53, Patrick Whewell wrote:
> The firmware path for the sm8250 resources is incorrect. This fixes the
> path to address the firmware correctly.
> 
> Signed-off-by: Patrick Whewell <patrick.whewell@sightlineapplications.com>
> ---
>   drivers/media/platform/qcom/venus/core.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
> index 2ae867cb4c48..348085f8fc9c 100644
> --- a/drivers/media/platform/qcom/venus/core.c
> +++ b/drivers/media/platform/qcom/venus/core.c
> @@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
>   	.vmem_size = 0,
>   	.vmem_addr = 0,
>   	.dma_mask = 0xe0000000 - 1,
> -	.fwname = "qcom/vpu-1.0/venus.mdt",
> +	.fwname = "qcom/vpu-1.0/venus.mbn",
>   };
>   
>   static const struct freq_tbl sc7280_freq_table[] = {

Is the policy not to stick with .mdt for existing platforms but use .mbn 
for new platforms.

https://lore.kernel.org/all/CALAqxLU1gjTY95+phBt=WksyguZuKpNKa6aYaJTe0GeCAg6WrA@mail.gmail.com/T/

Its a symlink for me but, is it a symlink for everybody ?

root@linaro-gnome:~# ls /lib/firmware/qcom/vpu-1.0/ -l
lrwxrwxrwx 1 root root       9 Dec  2  2022 venus.mdt -> venus.mbn

---
bod
Re: [PATCH] media: venus: Fix firmware path for sm8250
Posted by Dmitry Baryshkov 2 years, 6 months ago
On 12/07/2023 12:50, Bryan O'Donoghue wrote:
> On 11/07/2023 19:53, Patrick Whewell wrote:
>> The firmware path for the sm8250 resources is incorrect. This fixes the
>> path to address the firmware correctly.
>>
>> Signed-off-by: Patrick Whewell 
>> <patrick.whewell@sightlineapplications.com>
>> ---
>>   drivers/media/platform/qcom/venus/core.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/qcom/venus/core.c 
>> b/drivers/media/platform/qcom/venus/core.c
>> index 2ae867cb4c48..348085f8fc9c 100644
>> --- a/drivers/media/platform/qcom/venus/core.c
>> +++ b/drivers/media/platform/qcom/venus/core.c
>> @@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
>>       .vmem_size = 0,
>>       .vmem_addr = 0,
>>       .dma_mask = 0xe0000000 - 1,
>> -    .fwname = "qcom/vpu-1.0/venus.mdt",
>> +    .fwname = "qcom/vpu-1.0/venus.mbn",
>>   };
>>   static const struct freq_tbl sc7280_freq_table[] = {
> 
> Is the policy not to stick with .mdt for existing platforms but use .mbn 
> for new platforms.

This was slightly different for venus, where it was suggested to use 
.mdt for all the platforms. However last year when Chrome team was 
updating sc7280/sc7180 Venus firmware, Rob Clark and yours truly have 
persuaded them to (finally) switch to .mbn and provide compatibility 
.mdt symlinks.

Then we have similarly converted all the rest of the venus firmware files.

See:

https://lore.kernel.org/linux-arm-msm/CANHAJhG-aoOBgTzirGu-1uqCFUJd+AnenMSkoUqnG3mhraCRfw@mail.gmail.com/t/#u

https://lore.kernel.org/linux-arm-msm/CANHAJhEWXf8U-FJJbOUpRV1gCXsd++H8kzbiBP1Z7iryaOCoYQ@mail.gmail.com/t/#u

> 
> https://lore.kernel.org/all/CALAqxLU1gjTY95+phBt=WksyguZuKpNKa6aYaJTe0GeCAg6WrA@mail.gmail.com/T/
> 
> Its a symlink for me but, is it a symlink for everybody ?
> 
> root@linaro-gnome:~# ls /lib/firmware/qcom/vpu-1.0/ -l
> lrwxrwxrwx 1 root root       9 Dec  2  2022 venus.mdt -> venus.mbn

Yes, it is a symlink for everybody:

$ grep Link.*qcom.v linux-firmware/WHENCE
Link: qcom/venus-1.8/venus.mdt -> venus.mbn
Link: qcom/venus-4.2/venus.mdt -> venus.mbn
Link: qcom/venus-5.2/venus.mdt -> venus.mbn
Link: qcom/venus-5.4/venus.mdt -> venus.mbn
Link: qcom/vpu-1.0/venus.mdt -> venus.mbn

So, long story short, I think this patch makes sense (and we should 
update other entries in this file too).

Patrick, maybe you can do it as well?

-- 
With best wishes
Dmitry

Re: [PATCH] media: venus: Fix firmware path for sm8250
Posted by Bryan O'Donoghue 2 years, 6 months ago
On 19/07/2023 14:03, Dmitry Baryshkov wrote:
> On 12/07/2023 12:50, Bryan O'Donoghue wrote:
>> On 11/07/2023 19:53, Patrick Whewell wrote:
>>> The firmware path for the sm8250 resources is incorrect. This fixes the
>>> path to address the firmware correctly.
>>>
>>> Signed-off-by: Patrick Whewell 
>>> <patrick.whewell@sightlineapplications.com>
>>> ---
>>>   drivers/media/platform/qcom/venus/core.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/media/platform/qcom/venus/core.c 
>>> b/drivers/media/platform/qcom/venus/core.c
>>> index 2ae867cb4c48..348085f8fc9c 100644
>>> --- a/drivers/media/platform/qcom/venus/core.c
>>> +++ b/drivers/media/platform/qcom/venus/core.c
>>> @@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
>>>       .vmem_size = 0,
>>>       .vmem_addr = 0,
>>>       .dma_mask = 0xe0000000 - 1,
>>> -    .fwname = "qcom/vpu-1.0/venus.mdt",
>>> +    .fwname = "qcom/vpu-1.0/venus.mbn",
>>>   };
>>>   static const struct freq_tbl sc7280_freq_table[] = {
>>
>> Is the policy not to stick with .mdt for existing platforms but use 
>> .mbn for new platforms.
> 
> This was slightly different for venus, where it was suggested to use 
> .mdt for all the platforms. However last year when Chrome team was 
> updating sc7280/sc7180 Venus firmware, Rob Clark and yours truly have 
> persuaded them to (finally) switch to .mbn and provide compatibility 
> .mdt symlinks.
> 
> Then we have similarly converted all the rest of the venus firmware files.
> 
> See:
> 
> https://lore.kernel.org/linux-arm-msm/CANHAJhG-aoOBgTzirGu-1uqCFUJd+AnenMSkoUqnG3mhraCRfw@mail.gmail.com/t/#u
> 
> https://lore.kernel.org/linux-arm-msm/CANHAJhEWXf8U-FJJbOUpRV1gCXsd++H8kzbiBP1Z7iryaOCoYQ@mail.gmail.com/t/#u
> 
>>
>> https://lore.kernel.org/all/CALAqxLU1gjTY95+phBt=WksyguZuKpNKa6aYaJTe0GeCAg6WrA@mail.gmail.com/T/
>>
>> Its a symlink for me but, is it a symlink for everybody ?
>>
>> root@linaro-gnome:~# ls /lib/firmware/qcom/vpu-1.0/ -l
>> lrwxrwxrwx 1 root root       9 Dec  2  2022 venus.mdt -> venus.mbn
> 
> Yes, it is a symlink for everybody:
> 
> $ grep Link.*qcom.v linux-firmware/WHENCE
> Link: qcom/venus-1.8/venus.mdt -> venus.mbn
> Link: qcom/venus-4.2/venus.mdt -> venus.mbn
> Link: qcom/venus-5.2/venus.mdt -> venus.mbn
> Link: qcom/venus-5.4/venus.mdt -> venus.mbn
> Link: qcom/vpu-1.0/venus.mdt -> venus.mbn
> 
> So, long story short, I think this patch makes sense (and we should 
> update other entries in this file too).
> 
> Patrick, maybe you can do it as well?
> 

Fine so.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
[PATCH v2] media: venus: Fix firmware path for resources
Posted by Patrick Whewell 2 years, 6 months ago
The firmware path for some of the resources is still the old format. This
fixes the path to address the firmware correctly using the new .mbn
format.

Signed-off-by: Patrick Whewell <patrick.whewell@sightlineapplications.com>
---
I've updated all .fwname to match the .mbn format. There is a
qcom/venus-4.4/venus.mdt for the sdm660 that still remains but the linux-firmware
package does not contain that firmware file anymore, so i left as is.

 drivers/media/platform/qcom/venus/core.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index 2ae867cb4c48..2d62669d99e1 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -548,7 +548,7 @@ static const struct venus_resources msm8916_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xddc00000 - 1,
-	.fwname = "qcom/venus-1.8/venus.mdt",
+	.fwname = "qcom/venus-1.8/venus.mbn",
 };
 
 static const struct freq_tbl msm8996_freq_table[] = {
@@ -581,7 +581,7 @@ static const struct venus_resources msm8996_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xddc00000 - 1,
-	.fwname = "qcom/venus-4.2/venus.mdt",
+	.fwname = "qcom/venus-4.2/venus.mbn",
 };
 
 static const struct freq_tbl sdm660_freq_table[] = {
@@ -688,7 +688,7 @@ static const struct venus_resources sdm845_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xe0000000 - 1,
-	.fwname = "qcom/venus-5.2/venus.mdt",
+	.fwname = "qcom/venus-5.2/venus.mbn",
 };
 
 static const struct venus_resources sdm845_res_v2 = {
@@ -717,7 +717,7 @@ static const struct venus_resources sdm845_res_v2 = {
 	.cp_size = 0x70800000,
 	.cp_nonpixel_start = 0x1000000,
 	.cp_nonpixel_size = 0x24800000,
-	.fwname = "qcom/venus-5.2/venus.mdt",
+	.fwname = "qcom/venus-5.2/venus.mbn",
 };
 
 static const struct freq_tbl sc7180_freq_table[] = {
@@ -760,7 +760,7 @@ static const struct venus_resources sc7180_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xe0000000 - 1,
-	.fwname = "qcom/venus-5.4/venus.mdt",
+	.fwname = "qcom/venus-5.4/venus.mbn",
 };
 
 static const struct freq_tbl sm8250_freq_table[] = {
@@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
 	.vmem_size = 0,
 	.vmem_addr = 0,
 	.dma_mask = 0xe0000000 - 1,
-	.fwname = "qcom/vpu-1.0/venus.mdt",
+	.fwname = "qcom/vpu-1.0/venus.mbn",
 };
 
 static const struct freq_tbl sc7280_freq_table[] = {
-- 
2.25.1
Re: [PATCH v2] media: venus: Fix firmware path for resources
Posted by William Breathitt Gray 2 years, 4 months ago
On Wed, Jul 19, 2023 at 02:49:42PM -0700, Patrick Whewell wrote:
> The firmware path for some of the resources is still the old format. This
> fixes the path to address the firmware correctly using the new .mbn
> format.
> 
> Signed-off-by: Patrick Whewell <patrick.whewell@sightlineapplications.com>
> ---
> I've updated all .fwname to match the .mbn format. There is a
> qcom/venus-4.4/venus.mdt for the sdm660 that still remains but the linux-firmware
> package does not contain that firmware file anymore, so i left as is.

I noticed this patch hasn't been picked up yet. Is there anything
pending left for approval, or can it be merged now?

William Breathitt Gray
Re: [PATCH v2] media: venus: Fix firmware path for resources
Posted by Dikshita Agarwal 2 years, 6 months ago

On 7/20/2023 3:19 AM, Patrick Whewell wrote:
> The firmware path for some of the resources is still the old format. This
> fixes the path to address the firmware correctly using the new .mbn
> format.
> 
> Signed-off-by: Patrick Whewell <patrick.whewell@sightlineapplications.com>
> ---

the changes look good to me.

Reviewed-by: Dikshita Agarwal <quic_dikshita@quicinc.com>

> I've updated all .fwname to match the .mbn format. There is a
> qcom/venus-4.4/venus.mdt for the sdm660 that still remains but the linux-firmware
> package does not contain that firmware file anymore, so i left as is.
> 
>  drivers/media/platform/qcom/venus/core.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
> index 2ae867cb4c48..2d62669d99e1 100644
> --- a/drivers/media/platform/qcom/venus/core.c
> +++ b/drivers/media/platform/qcom/venus/core.c
> @@ -548,7 +548,7 @@ static const struct venus_resources msm8916_res = {
>  	.vmem_size = 0,
>  	.vmem_addr = 0,
>  	.dma_mask = 0xddc00000 - 1,
> -	.fwname = "qcom/venus-1.8/venus.mdt",
> +	.fwname = "qcom/venus-1.8/venus.mbn",
>  };
>  
>  static const struct freq_tbl msm8996_freq_table[] = {
> @@ -581,7 +581,7 @@ static const struct venus_resources msm8996_res = {
>  	.vmem_size = 0,
>  	.vmem_addr = 0,
>  	.dma_mask = 0xddc00000 - 1,
> -	.fwname = "qcom/venus-4.2/venus.mdt",
> +	.fwname = "qcom/venus-4.2/venus.mbn",
>  };
>  
>  static const struct freq_tbl sdm660_freq_table[] = {
> @@ -688,7 +688,7 @@ static const struct venus_resources sdm845_res = {
>  	.vmem_size = 0,
>  	.vmem_addr = 0,
>  	.dma_mask = 0xe0000000 - 1,
> -	.fwname = "qcom/venus-5.2/venus.mdt",
> +	.fwname = "qcom/venus-5.2/venus.mbn",
>  };
>  
>  static const struct venus_resources sdm845_res_v2 = {
> @@ -717,7 +717,7 @@ static const struct venus_resources sdm845_res_v2 = {
>  	.cp_size = 0x70800000,
>  	.cp_nonpixel_start = 0x1000000,
>  	.cp_nonpixel_size = 0x24800000,
> -	.fwname = "qcom/venus-5.2/venus.mdt",
> +	.fwname = "qcom/venus-5.2/venus.mbn",
>  };
>  
>  static const struct freq_tbl sc7180_freq_table[] = {
> @@ -760,7 +760,7 @@ static const struct venus_resources sc7180_res = {
>  	.vmem_size = 0,
>  	.vmem_addr = 0,
>  	.dma_mask = 0xe0000000 - 1,
> -	.fwname = "qcom/venus-5.4/venus.mdt",
> +	.fwname = "qcom/venus-5.4/venus.mbn",
>  };
>  
>  static const struct freq_tbl sm8250_freq_table[] = {
> @@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = {
>  	.vmem_size = 0,
>  	.vmem_addr = 0,
>  	.dma_mask = 0xe0000000 - 1,
> -	.fwname = "qcom/vpu-1.0/venus.mdt",
> +	.fwname = "qcom/vpu-1.0/venus.mbn",
>  };
>  
>  static const struct freq_tbl sc7280_freq_table[] = {