|
46 | 46 | /* binary firmware name */
|
47 | 47 | #define VPU_P_FW "vpu_p.bin"
|
48 | 48 | #define VPU_D_FW "vpu_d.bin"
|
| 49 | +#define VPU_P_FW_NEW "mediatek/mt8173/vpu_p.bin" |
| 50 | +#define VPU_D_FW_NEW "mediatek/mt8173/vpu_d.bin" |
49 | 51 |
|
50 | 52 | #define VPU_RESET 0x0
|
51 | 53 | #define VPU_TCM_CFG 0x0008
|
@@ -477,16 +479,24 @@ static int load_requested_vpu(struct mtk_vpu *vpu,
|
477 | 479 | size_t tcm_size = fw_type ? VPU_DTCM_SIZE : VPU_PTCM_SIZE;
|
478 | 480 | size_t fw_size = fw_type ? VPU_D_FW_SIZE : VPU_P_FW_SIZE;
|
479 | 481 | char *fw_name = fw_type ? VPU_D_FW : VPU_P_FW;
|
| 482 | + char *fw_new_name = fw_type ? VPU_D_FW_NEW : VPU_P_FW_NEW; |
480 | 483 | const struct firmware *vpu_fw;
|
481 | 484 | size_t dl_size = 0;
|
482 | 485 | size_t extra_fw_size = 0;
|
483 | 486 | void *dest;
|
484 | 487 | int ret;
|
485 | 488 |
|
486 |
| - ret = request_firmware(&vpu_fw, fw_name, vpu->dev); |
| 489 | + ret = request_firmware(&vpu_fw, fw_new_name, vpu->dev); |
487 | 490 | if (ret < 0) {
|
488 |
| - dev_err(vpu->dev, "Failed to load %s, %d\n", fw_name, ret); |
489 |
| - return ret; |
| 491 | + dev_info(vpu->dev, "Failed to load %s, %d, retry\n", |
| 492 | + fw_new_name, ret); |
| 493 | + |
| 494 | + ret = request_firmware(&vpu_fw, fw_name, vpu->dev); |
| 495 | + if (ret < 0) { |
| 496 | + dev_err(vpu->dev, "Failed to load %s, %d\n", fw_name, |
| 497 | + ret); |
| 498 | + return ret; |
| 499 | + } |
490 | 500 | }
|
491 | 501 | dl_size = vpu_fw->size;
|
492 | 502 | if (dl_size > fw_size) {
|
|
0 commit comments