Re: [PATCH] media: mtk-vpu: load vpu firmware from the new location
From: gtk_ruiwang
Date: Tue Mar 24 2020 - 08:56:29 EST
Dear Hans,
Patch V2 has sent, thanks a lot.
Sincerely Regards
On Tue, 2020-03-24 at 13:20 +0100, Hans Verkuil wrote:
> On 3/22/20 8:57 AM, gtk_ruiwang@xxxxxxxxxxxx wrote:
> > From: gtk_ruiwang <gtk_ruiwang@xxxxxxxxxxxx>
> >
> > mt8173 VPU firmware has been moved to a sub-folder of
> > linux-firmware, so load vpu-fw from the new location first,
> > if it fails, then from the old one.
> >
> > Signed-off-by: Rui Wang <gtk_ruiwang@xxxxxxxxxxxx>
>
> Hmm, I'm getting this from checkpatch.pl --strict:
>
> WARNING: Missing Signed-off-by: line by nominal patch author 'gtk_ruiwang <gtk_ruiwang@xxxxxxxxxxxx>'
>
> Rather than sending this from 'gtk_ruiwang@xxxxxxxxxxxx', can you send this from
> 'Rui Wang <gtk_ruiwang@xxxxxxxxxxxx>'?
>
> Then the two are the same.
>
> Regards,
>
> Hans
>
> > ---
> > drivers/media/platform/mtk-vpu/mtk_vpu.c | 16 +++++++++++++---
> > 1 file changed, 13 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > index a768707abb94..89274842e07b 100644
> > --- a/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > @@ -46,6 +46,8 @@
> > /* binary firmware name */
> > #define VPU_P_FW "vpu_p.bin"
> > #define VPU_D_FW "vpu_d.bin"
> > +#define VPU_P_FW_NEW "mediatek/mt8173/vpu_p.bin"
> > +#define VPU_D_FW_NEW "mediatek/mt8173/vpu_d.bin"
> >
> > #define VPU_RESET 0x0
> > #define VPU_TCM_CFG 0x0008
> > @@ -477,16 +479,24 @@ static int load_requested_vpu(struct mtk_vpu *vpu,
> > size_t tcm_size = fw_type ? VPU_DTCM_SIZE : VPU_PTCM_SIZE;
> > size_t fw_size = fw_type ? VPU_D_FW_SIZE : VPU_P_FW_SIZE;
> > char *fw_name = fw_type ? VPU_D_FW : VPU_P_FW;
> > + char *fw_new_name = fw_type ? VPU_D_FW_NEW : VPU_P_FW_NEW;
> > const struct firmware *vpu_fw;
> > size_t dl_size = 0;
> > size_t extra_fw_size = 0;
> > void *dest;
> > int ret;
> >
> > - ret = request_firmware(&vpu_fw, fw_name, vpu->dev);
> > + ret = request_firmware(&vpu_fw, fw_new_name, vpu->dev);
> > if (ret < 0) {
> > - dev_err(vpu->dev, "Failed to load %s, %d\n", fw_name, ret);
> > - return ret;
> > + dev_info(vpu->dev, "Failed to load %s, %d, retry\n",
> > + fw_new_name, ret);
> > +
> > + ret = request_firmware(&vpu_fw, fw_name, vpu->dev);
> > + if (ret < 0) {
> > + dev_err(vpu->dev, "Failed to load %s, %d\n", fw_name,
> > + ret);
> > + return ret;
> > + }
> > }
> > dl_size = vpu_fw->size;
> > if (dl_size > fw_size) {
> >
>