From 3adf64f4d0c2d9d7085ff31dae17ae6a8755aeb6 Mon Sep 17 00:00:00 2001 From: Hu Kejun Date: Thu, 5 Sep 2019 13:46:16 +0800 Subject: [PATCH] media: rockchip: isp1: fix get zero data when execute capture Change-Id: I37fa740c8b16835e696ad02485dbf4f698ad60b8 Signed-off-by: Hu Kejun --- drivers/media/platform/rockchip/isp1/rkisp1.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/media/platform/rockchip/isp1/rkisp1.c b/drivers/media/platform/rockchip/isp1/rkisp1.c index 6dfd405ab2ee..ad1329d86109 100644 --- a/drivers/media/platform/rockchip/isp1/rkisp1.c +++ b/drivers/media/platform/rockchip/isp1/rkisp1.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -787,6 +788,15 @@ static int rkisp1_isp_stop(struct rkisp1_device *dev) } rkisp1_config_clk(dev, true); + if (!in_interrupt()) { + struct iommu_domain *domain; + + domain = iommu_get_domain_for_dev(dev->dev); + if (domain) { + domain->ops->detach_dev(domain, dev->dev); + domain->ops->attach_dev(domain, dev->dev); + } + } dev->isp_state = ISP_STOP; if (dev->emd_vc <= CIF_ISP_ADD_DATA_VC_MAX) {