mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
video: tegra: nvmap: Add CBC carveout support
- Add CBC carveout suport in nvmap. - Chunk size for CBC is 2MB, hence each bit from bitmap for CBC carveout indicate 2MB physically contiguous chunk. - In case of allocation from CBC, first try to allocate the entire chunk in physically contiguous manner, if it's not possible then allocate in chunks of 2MB. All page pointers to these chunks will be stored in nvmap_handle struct. - Modify all other operations like vmap, kmap, mmap as per the above restrictions. Bug 3956637 Change-Id: I7c304b0127c8fef028e135a4662ab3ad3dc1d1f6 Signed-off-by: Ketan Patil <ketanp@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2880662 Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2885806 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
7e15a9bb58
commit
6937db210f
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* structure declarations for nvmem and nvmap user-space ioctls
|
||||
*
|
||||
* Copyright (c) 2009-2022, NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2009-2023, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -31,6 +31,7 @@
|
||||
#define NVMAP_HEAP_CARVEOUT_VPR (1ul<<28)
|
||||
#define NVMAP_HEAP_CARVEOUT_TSEC (1ul<<27)
|
||||
#define NVMAP_HEAP_CARVEOUT_VIDMEM (1ul<<26)
|
||||
#define NVMAP_HEAP_CARVEOUT_CBC (1ul << 3)
|
||||
#define NVMAP_HEAP_CARVEOUT_FSI (1ul<<2)
|
||||
#define NVMAP_HEAP_CARVEOUT_IVM (1ul<<1)
|
||||
#define NVMAP_HEAP_CARVEOUT_GENERIC (1ul<<0)
|
||||
@@ -103,6 +104,7 @@ struct nvmap_platform_carveout {
|
||||
bool no_cpu_access; /* carveout can't be accessed from cpu at all */
|
||||
bool init_done; /* FIXME: remove once all caveouts use reserved-memory */
|
||||
struct nvmap_pm_ops pm_ops;
|
||||
bool is_cbc; /* cbc carveout is treated differently */
|
||||
};
|
||||
|
||||
struct nvmap_platform_data {
|
||||
|
||||
Reference in New Issue
Block a user