Re: [PATCH] media: mtk-vpu: load vpu firmware from the new location

From: Hans Verkuil
Date: Tue Mar 24 2020 - 08:21:00 EST


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