video: rockchip: vpu: alloc & mmap iova inside drm allocator
authorJung Zhao <jung.zhao@rock-chips.com>
Tue, 21 Mar 2017 01:14:55 +0000 (09:14 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 24 Mar 2017 06:50:42 +0000 (14:50 +0800)
commitb9bc2efe947b8399d18a18a7dc2da51a425455f5
treea94f38c9c220ff3f79375a5a67cfb54e05b0ab79
parent90ad8256b648084b5eb7f26d4343e688ccafa0f2
video: rockchip: vpu: alloc & mmap iova inside drm allocator

since on 3368 platform, hevc & vpu share the same hardware
resource, but have two independent mmu. and only one mmu can
be attached at the same time. I have to alloc and mmap iova
outside mmu attached status, otherwise it will cause mmu reset
error.

fix bugs:
1. hevc & vpu can work at the same time now. on 3368 platform,
vpu_mmu and hevc_mmu share the same irq with their respective
master device, we can not detach mmu during irq context.
2. fix copy_sgt offset and lenght invalide value

Change-Id: I9d02aa0b85a6d0690832c7869a260953f5a5baab
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
drivers/video/rockchip/vcodec/vcodec_iommu_drm.c
drivers/video/rockchip/vcodec/vcodec_service.c