summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVinod G <vinodg@nvidia.com>2019-02-05 21:05:42 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2020-01-08 11:35:30 -0500
commitdacb06f4647b924aa6455e8156b74df5098cf3bf (patch)
tree46b3e1bbde525c902b881613effd1ae50f8ceae0 /include
parent264691e69d825489e0a0bcee56f700e241186bb4 (diff)
gpu: nvgpu: add platform atomic support
Add new variable in nvgpu_as_map_buffer_ex_args for app to specify the platform atomic support for the page. When platform atomic attribute flag is set, pte memory aperture is set to be coherent type. renamed nvgpu_aperture_mask_coh -> nvgpu_aperture_mask_raw function. bug 200580236 Change-Id: I18266724dafdc8dfd96a0711f23cf08e23682afc Signed-off-by: Vinod G <vinodg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2012679 (cherry picked from commit 9e0a9004b71f92b7713fd3b30141b0d9d4cfa2c6) Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2274914 Reviewed-by: Deepak Nibade <dnibade@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Sreeniketh H <sh@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/nvgpu.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index 0488e563..9197011b 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * NVGPU Public Interface Header 2 * NVGPU Public Interface Header
3 * 3 *
4 * Copyright (c) 2011-2018, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2011-2020, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License, 7 * under the terms and conditions of the GNU General Public License,
@@ -1894,6 +1894,7 @@ struct nvgpu_as_bind_channel_args {
1894#define NVGPU_AS_MAP_BUFFER_FLAGS_MAPPABLE_COMPBITS (1 << 6) 1894#define NVGPU_AS_MAP_BUFFER_FLAGS_MAPPABLE_COMPBITS (1 << 6)
1895#define NVGPU_AS_MAP_BUFFER_FLAGS_L3_ALLOC (1 << 7) 1895#define NVGPU_AS_MAP_BUFFER_FLAGS_L3_ALLOC (1 << 7)
1896#define NVGPU_AS_MAP_BUFFER_FLAGS_DIRECT_KIND_CTRL (1 << 8) 1896#define NVGPU_AS_MAP_BUFFER_FLAGS_DIRECT_KIND_CTRL (1 << 8)
1897#define NVGPU_AS_MAP_BUFFER_FLAGS_PLATFORM_ATOMIC (1 << 9)
1897 1898
1898/* 1899/*
1899 * VM map buffer IOCTL 1900 * VM map buffer IOCTL
@@ -1940,6 +1941,10 @@ struct nvgpu_as_bind_channel_args {
1940 * Set when userspace plans to pass in @compr_kind and @incompr_kind 1941 * Set when userspace plans to pass in @compr_kind and @incompr_kind
1941 * instead of letting the kernel work out kind fields. 1942 * instead of letting the kernel work out kind fields.
1942 * 1943 *
1944 * %NVGPU_AS_MAP_BUFFER_FLAGS_PLATFORM_ATOMIC
1945 *
1946 * Specify that a mapping should use platform atomics.
1947 *
1943 * @kind [IN] 1948 * @kind [IN]
1944 * 1949 *
1945 * Specify the kind to use for the mapping. 1950 * Specify the kind to use for the mapping.