camera: Enable deferred unmapping for vi/isp

Enable deferred dma buffer unmapping for vi/isp devices

Bug 4067905

Change-Id: I193f762d580d1e0477137f57195b2cb81d4b9d91
Signed-off-by: Matti Ryttylainen <mryttylainen@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2910545
Tested-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Kalle Jokiniemi <kjokiniemi@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Matti Ryttylainen
2023-05-25 16:27:04 +03:00
committed by mobile promotions
parent d4d60fd1f8
commit c9146a4fd9
2 changed files with 13 additions and 1 deletions

View File

@@ -2,13 +2,14 @@
/* /*
* ISP5 driver * ISP5 driver
* *
* Copyright (c) 2017-2022, NVIDIA Corporation. All rights reserved. * Copyright (c) 2017-2023, NVIDIA Corporation. All rights reserved.
*/ */
#include <asm/ioctls.h> #include <asm/ioctls.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/dma-buf.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/module.h> #include <linux/module.h>
@@ -139,6 +140,11 @@ int isp5_priv_early_probe(struct platform_device *pdev)
/* A bit was stolen */ /* A bit was stolen */
(void) dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(39)); (void) dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(39));
#ifdef CONFIG_DMABUF_DEFERRED_UNMAPPING
if (dma_buf_defer_unmapping(dev, true) < 0)
dev_warn(dev, "Failed to set deferred dma buffer unmapping\n");
#endif
return 0; return 0;
error: error:

View File

@@ -9,6 +9,7 @@
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/dma-buf.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/module.h> #include <linux/module.h>
@@ -181,6 +182,11 @@ int vi5_priv_early_probe(struct platform_device *pdev)
(void) dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(39)); (void) dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(39));
#ifdef CONFIG_DMABUF_DEFERRED_UNMAPPING
if (dma_buf_defer_unmapping(dev, true) < 0)
dev_warn(dev, "Failed to set deferred dma buffer unmapping\n");
#endif
return 0; return 0;
put_vi: put_vi: