video: rockchip: mpp: Add tlb flush

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4592ae29f05a1db342d2d34682878f4403f02312
This commit is contained in:
Herman Chen
2022-04-21 18:09:12 +08:00
committed by Tao Huang
parent d0edc7b3e7
commit faa709dab9
7 changed files with 26 additions and 0 deletions

View File

@@ -606,6 +606,9 @@ static int iep2_run(struct mpp_dev *mpp,
| IEP2_REG_BUS_ERROR_EN
| IEP2_REG_TIMEOUT_EN);
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
mpp_task_run_begin(mpp_task, timing_en, MPP_WORK_TIMEOUT_DELAY);
/* Last, flush the registers */

View File

@@ -468,6 +468,10 @@ static int rkvenc_run(struct mpp_dev *mpp,
rkvenc_write_req_backward(mpp, task->reg, s, e, reg_en);
}
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;

View File

@@ -335,6 +335,9 @@ static int vdpp_run(struct mpp_dev *mpp,
}
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;

View File

@@ -409,6 +409,10 @@ static int vdpu_run(struct mpp_dev *mpp,
mpp_write_req(mpp, task->reg, s, e, reg_en);
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;

View File

@@ -361,6 +361,10 @@ static int vdpu_run(struct mpp_dev *mpp,
mpp_write_req(mpp, task->reg, s, e, reg_en);
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;

View File

@@ -283,6 +283,10 @@ static int vepu_run(struct mpp_dev *mpp,
mpp_write_req(mpp, task->reg, s, e, reg_en);
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;

View File

@@ -383,6 +383,10 @@ static int vepu_run(struct mpp_dev *mpp,
mpp_write_req(mpp, task->reg, s, e, reg_en);
}
/* flush tlb before starting hardware */
mpp_iommu_flush_tlb(mpp->iommu_info);
/* init current task */
mpp->cur_task = mpp_task;