| .. | .. |
|---|
| 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: |
|---|