mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02: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:
parent
d0edc7b3e7
commit
faa709dab9
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user