drm/rockchip: vop: fix display flash when switch to iommu mapping
Do iommu mapping with looping vop vblank register have a problem, when
iommu attach take too long time or vblank time is too short, the display
would flash.
This patch use another method to fix this problem:
Use standby and dsp_hold interrupt to enter vblank time, when iommu
mapping is finish, exit vop standby, then vop would start scanout
immediately,
vop enter standby -> |
dsp_hold irq -> |--------- vblank start
do iommu mapping -> | vblank time
exit standby -> |--------- vblank end
We try add 20ms delay to iommu attach, display also looks good, that
means this method have higher compatibility.
Change-Id: I59d57c9085631d0c42174ea18890c80e26b42d22
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>