| .. | .. |
|---|
| 944 | 944 | task = to_rkvdec_task(mpp_task); |
|---|
| 945 | 945 | |
|---|
| 946 | 946 | /* |
|---|
| 947 | | - * HW defeat workaround: VP9 power save optimization cause decoding |
|---|
| 947 | + * HW defeat workaround: VP9 and H.265 power save optimization cause decoding |
|---|
| 948 | 948 | * corruption, disable optimization here. |
|---|
| 949 | 949 | */ |
|---|
| 950 | 950 | fmt = RKVDEC_GET_FORMAT(task->reg[RKVDEC_REG_SYS_CTRL_INDEX]); |
|---|
| 951 | | - if (fmt == RKVDEC_FMT_VP9D) { |
|---|
| 951 | + if (fmt == RKVDEC_FMT_VP9D || fmt == RKVDEC_FMT_H265D) { |
|---|
| 952 | 952 | cfg = task->reg[RKVDEC_POWER_CTL_INDEX] | 0xFFFF; |
|---|
| 953 | 953 | task->reg[RKVDEC_POWER_CTL_INDEX] = cfg & (~(1 << 12)); |
|---|
| 954 | 954 | mpp_write_relaxed(mpp, RKVDEC_POWER_CTL_BASE, |
|---|
| .. | .. |
|---|
| 1171 | 1171 | dec->procfs = NULL; |
|---|
| 1172 | 1172 | return -EIO; |
|---|
| 1173 | 1173 | } |
|---|
| 1174 | + |
|---|
| 1175 | + /* for common mpp_dev options */ |
|---|
| 1176 | + mpp_procfs_create_common(dec->procfs, mpp); |
|---|
| 1177 | + |
|---|
| 1174 | 1178 | mpp_procfs_create_u32("aclk", 0644, |
|---|
| 1175 | 1179 | dec->procfs, &dec->aclk_info.debug_rate_hz); |
|---|
| 1176 | 1180 | mpp_procfs_create_u32("clk_core", 0644, |
|---|
| .. | .. |
|---|
| 1629 | 1633 | |
|---|
| 1630 | 1634 | mpp_debug_enter(); |
|---|
| 1631 | 1635 | if (dec->rst_a && dec->rst_h) { |
|---|
| 1632 | | - rockchip_pmu_idle_request(mpp->dev, true); |
|---|
| 1636 | + mpp_pmu_idle_request(mpp, true); |
|---|
| 1633 | 1637 | mpp_safe_reset(dec->rst_niu_a); |
|---|
| 1634 | 1638 | mpp_safe_reset(dec->rst_niu_h); |
|---|
| 1635 | 1639 | mpp_safe_reset(dec->rst_a); |
|---|
| .. | .. |
|---|
| 1645 | 1649 | mpp_safe_unreset(dec->rst_core); |
|---|
| 1646 | 1650 | mpp_safe_unreset(dec->rst_cabac); |
|---|
| 1647 | 1651 | mpp_safe_unreset(dec->rst_hevc_cabac); |
|---|
| 1648 | | - rockchip_pmu_idle_request(mpp->dev, false); |
|---|
| 1652 | + mpp_pmu_idle_request(mpp, false); |
|---|
| 1649 | 1653 | } |
|---|
| 1650 | 1654 | mpp_debug_leave(); |
|---|
| 1651 | 1655 | |
|---|