vmh265: fix cannot play 4k264 when tee load

PD#166512

it must tee load mmu fw when tee enabled

Change-Id: I0ffd7c8415a77b41401b0e2ebdf697172a6b0d1d
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
This commit is contained in:
shihong.zheng
2018-05-18 15:46:18 +08:00
committed by Dongjin Kim
parent 805087c9ed
commit 514fc8aefe

View File

@@ -6360,20 +6360,33 @@ static void run(struct vdec_s *vdec, unsigned long mask,
DECODE_ID(hw), __func__);
return;
}
} else if (amvdec_vdec_loadmc_ex(vdec, NULL, hw->fw->data) < 0) {
amvdec_enable_flag = false;
amvdec_disable();
pr_err("id: %d, %s: Error amvdec_vdec_loadmc fail\n",
DECODE_ID(hw), __func__);
return;
}
if (hw->mmu_enable) {
if (tee_load_video_fw(VIDEO_DEC_H264_MULTI_MMU,
OPTEE_VDEC_HEVC) < 0) {
amvdec_enable_flag = false;
amhevc_disable();
pr_debug("tee mmu fw load fail\n");
return;
}
}
if (hw->mmu_enable) {
if (amhevc_loadmc_ex(VFORMAT_HEVC,
NULL, hw->fw_mmu->data) < 0) {
amhevc_disable();
} else {
if (amvdec_vdec_loadmc_ex(vdec, NULL, hw->fw->data) < 0) {
amvdec_enable_flag = false;
amvdec_disable();
pr_err("id: %d, %s: Error amvdec_vdec_loadmc fail\n",
DECODE_ID(hw), __func__);
return;
}
if (hw->mmu_enable) {
if (amhevc_loadmc_ex(VFORMAT_HEVC,
NULL, hw->fw_mmu->data) < 0) {
amvdec_enable_flag = false;
amhevc_disable();
pr_debug("mmu fw load fail\n");
return;
}
}
}
vmh264_reset_udr_mgr(hw);