.. | .. |
---|
953 | 953 | task = to_rkvdec_task(mpp_task); |
---|
954 | 954 | |
---|
955 | 955 | /* |
---|
956 | | - * HW defeat workaround: VP9 power save optimization cause decoding |
---|
| 956 | + * HW defeat workaround: VP9 and H.265 power save optimization cause decoding |
---|
957 | 957 | * corruption, disable optimization here. |
---|
958 | 958 | */ |
---|
959 | 959 | fmt = RKVDEC_GET_FORMAT(task->reg[RKVDEC_REG_SYS_CTRL_INDEX]); |
---|
960 | | - if (fmt == RKVDEC_FMT_VP9D) { |
---|
| 960 | + if (fmt == RKVDEC_FMT_VP9D || fmt == RKVDEC_FMT_H265D) { |
---|
961 | 961 | cfg = task->reg[RKVDEC_POWER_CTL_INDEX] | 0xFFFF; |
---|
962 | 962 | task->reg[RKVDEC_POWER_CTL_INDEX] = cfg & (~(1 << 12)); |
---|
963 | 963 | mpp_write_relaxed(mpp, RKVDEC_POWER_CTL_BASE, |
---|
.. | .. |
---|
1429 | 1429 | goto done; |
---|
1430 | 1430 | } |
---|
1431 | 1431 | dec->aux_iova = -1; |
---|
1432 | | - mpp->iommu_info->hdl = rkvdec_3328_iommu_hdl; |
---|
| 1432 | + mpp->fault_handler = rkvdec_3328_iommu_hdl; |
---|
1433 | 1433 | |
---|
1434 | 1434 | ret = rkvdec_devfreq_init(mpp); |
---|
1435 | 1435 | done: |
---|