summaryrefslogtreecommitdiff
path: root/drivers/video/tegra
diff options
context:
space:
mode:
authorVikram Fugro <vfugro@nvidia.com>2013-10-30 13:40:20 +0530
committerMatthew Pedro <mapedro@nvidia.com>2013-11-18 14:15:39 -0800
commit2fb9cd0d92979598e3aa5319babdbe6be4c6df22 (patch)
tree7a7e9e46d6c75b25ca859eef43e8dc60e2d52c4c /drivers/video/tegra
parent2cfae82f4f11691c291c85f9d4ff2ec73ea74e57 (diff)
media: nvmap: Few tweaks in nvmap
The tweaks are only specific to r16-r2 branch and will not go into mainline. - Pass nvmap memory handle to the user through the mmap'd buffer allocated by videobuf2 client. - Allow the "user" nvmap client to access the nvmap memory handle of "videobuf2-dma-nvmap" client. Re-arranging the copyright message in nvmap_dev.c for Automatic validation to pass. Bug 1369083 Change-Id: Ia27d172253860e79557911c2e848bc9084d662d4 Signed-off-by: Vikram Fugro <vfugro@nvidia.com> Reviewed-on: http://git-master/r/309494 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Diffstat (limited to 'drivers/video/tegra')
-rw-r--r--drivers/video/tegra/nvmap/nvmap_dev.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_dev.c b/drivers/video/tegra/nvmap/nvmap_dev.c
index 0c12348db88e..3b0db14f16ca 100644
--- a/drivers/video/tegra/nvmap/nvmap_dev.c
+++ b/drivers/video/tegra/nvmap/nvmap_dev.c
@@ -1,10 +1,10 @@
/*
+ * Copyright (c) 2011-2013, NVIDIA CORPORATION. All rights reserved.
+ *
* drivers/video/tegra/nvmap/nvmap_dev.c
*
* User-space interface to nvmap
*
- * Copyright (c) 2011-2012, NVIDIA Corporation.
- *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -231,6 +231,14 @@ struct nvmap_handle *nvmap_get_handle_id(struct nvmap_client *client,
struct nvmap_handle_ref *ref;
struct nvmap_handle *h = NULL;
+ /* Allow the handle to be accessed by other (non-owner)
+ clients only if the owner is "videobuf2-dma-nvmap",
+ which is a V4L2 capture kernel module. This handle can
+ be accessed by the "user" client for rendering */
+ if (!strcmp(((struct nvmap_handle *)id)->owner->name,
+ "videobuf2-dma-nvmap"))
+ client = ((struct nvmap_handle *)id)->owner;
+
nvmap_ref_lock(client);
ref = _nvmap_validate_id_locked(client, id);
if (ref)