Re: [PATCH v3 07/29] media: iris: implement video firmware load/unload

Dikshita Agarwal
2024-09-05T06:18:09Z

On 9/2/2024 5:34 AM, Dmitry Baryshkov wrote:
> On Sat, Aug 31, 2024 at 02:18:16PM GMT, Bryan O'Donoghue wrote:
>> On 27/08/2024 11:05, Dikshita Agarwal via B4 Relay wrote:
>>> From: Dikshita Agarwal <quic_dikshita@quicinc.com>
>>>
>>> Load/unload firmware in memory via mdt loader.
>>> Firmware is loaded as part of core initialization
>>> and unloaded as part of core de-initialization.
>>>
>>> Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
>>> ---
>>> drivers/media/platform/qcom/iris/Kconfig | 2 +
>>> drivers/media/platform/qcom/iris/Makefile | 1 +
>>> drivers/media/platform/qcom/iris/iris_core.c | 8 ++
>>> drivers/media/platform/qcom/iris/iris_firmware.c | 146 +++++++++++++++++++++
>>> drivers/media/platform/qcom/iris/iris_firmware.h | 14 ++
>>> .../platform/qcom/iris/iris_platform_common.h | 12 ++
>>> .../platform/qcom/iris/iris_platform_sm8250.c | 10 ++
>>> .../platform/qcom/iris/iris_platform_sm8550.c | 10 ++
>>> 8 files changed, 203 insertions(+)
>>>
>
> [skipped]
>
>>> @@ -38,4 +45,7 @@ struct iris_platform_data sm8250_data = {
>>> .clk_tbl = sm8250_clk_table,
>>> .clk_tbl_size = ARRAY_SIZE(sm8250_clk_table),
>>> .dma_mask = GENMASK(31, 29) - 1,
>>> + .fwname = "qcom/vpu/vpu20_p4.mbn",
>>
>>
>> RB5/sm8250 on this kernel
>>
>> https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-stable-24-08-29-iris-v3-rb5?ref_type=heads
>>
>> CONFIG_QCOM_VENUS = m
>>
>> Loads fine and I can run this simple smoke test
>>
>> ffplay -loglevel debug -codec:video h264_v4l2m2m -i sample-5s.mp4
>> gst-launch-1.0 -vvv -e filesrc location=sample-5s.mp4 ! qtdemux ! parsebin !
>> v4l2h264dec ! autovideosink
>>
>>
>> CONFIG_QCOM_IRIS = m
>>
>> [ 2.130077] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7
>> counters available
>> [ 12.282381] qcom-iris aa00000.video-codec: Adding to iommu group 13
>> [ 12.463983] qcom-iris aa00000.video-codec: Direct firmware load for
>> qcom/vpu/vpu20_p4.mbn failed with error -2
>> [ 12.474396] qcom-iris aa00000.video-codec: failed to request fw
>> "qcom/vpu/vpu20_p4.mbn", error -2
>> [ 12.490919] qcom-iris aa00000.video-codec: firmware download failed
>> [ 12.516391] qcom-iris aa00000.video-codec: core init failed
>>
>> In venus the firmware name is
>>
>> .fwname = "qcom/vpu-1.0/venus.mbn"
>>
>> What firmware reference are you testing on with your rb5/sm8250 stuff ?
>>
>> Mine is linux-firmware / Debian sid.
>
> linux-firmware Git supports both firmware names, but I agree, the driver
> should be using the old firmware name. At least until linux-firmware
> gets released and that name actually propagates to several distros.
>
Sure, will update the firmware name based on the status of linux-firmware
in the next patch.
>>
>> root@linaro-gnome:~# dpkg -S /lib/firmware/qcom/vpu-1.0/venus.mbn
>> firmware-qcom-soc: /lib/firmware/qcom/vpu-1.0/venus.mbn
>>
>> https://packages.debian.org/sid/firmware-qcom-soc
>>
>> Anyway I don't see much logic/justification for the firmware string change.
>>
>> ---
>> bod
>