mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
video: rockchip: mpp: Add tlb flush
Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Change-Id: I4592ae29f05a1db342d2d34682878f4403f02312
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user