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

Dmitry Baryshkov
2024-09-02T00:04:36Z

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.

>
> 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

--
With best wishes
Dmitry