diff options
author | sh <sh@nvidia.com> | 2020-01-07 09:40:30 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2020-01-08 11:35:48 -0500 |
commit | 3c6409a51b439aac863338303dabd38add34118e (patch) | |
tree | 2e147095fd509d3aae250578ac2abb217d599ba0 | |
parent | 7a26ad57a7d2fc5cec4a0c8a8395c0c666d31cba (diff) |
gpu: nvgpu: vgpu: add platform atomic support
Set platform atomic attribute flag.
bug 200580236
Change-Id: I06fd0cf363886922ad5145837004d04e35383470
Signed-off-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2016078
(cherry picked from commit ef5aac37d9a4531fecd1f1dae0581a2bd28f164d)
Signed-off-by: Lakshmanan M <lm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2274970
GVS: Gerrit_Virtual_Submit
Tested-by: Sreeniketh H <sh@nvidia.com>
Reviewed-by: Deepak Nibade <dnibade@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>
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h b/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h index 5ee50b18..6abb5e33 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h +++ b/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Tegra GPU Virtualization Interfaces to Server | 2 | * Tegra GPU Virtualization Interfaces to Server |
3 | * | 3 | * |
4 | * Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * Permission is hereby granted, free of charge, to any person obtaining a | 6 | * Permission is hereby granted, free of charge, to any person obtaining a |
7 | * copy of this software and associated documentation files (the "Software"), | 7 | * copy of this software and associated documentation files (the "Software"), |
@@ -175,6 +175,7 @@ struct tegra_vgpu_as_map_params { | |||
175 | #define TEGRA_VGPU_MAP_CACHEABLE (1 << 0) | 175 | #define TEGRA_VGPU_MAP_CACHEABLE (1 << 0) |
176 | #define TEGRA_VGPU_MAP_IO_COHERENT (1 << 1) | 176 | #define TEGRA_VGPU_MAP_IO_COHERENT (1 << 1) |
177 | #define TEGRA_VGPU_MAP_L3_ALLOC (1 << 2) | 177 | #define TEGRA_VGPU_MAP_L3_ALLOC (1 << 2) |
178 | #define TEGRA_VGPU_MAP_PLATFORM_ATOMIC (1 << 3) | ||
178 | 179 | ||
179 | struct tegra_vgpu_as_map_ex_params { | 180 | struct tegra_vgpu_as_map_ex_params { |
180 | u64 handle; | 181 | u64 handle; |
diff --git a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c index 4b06aea8..1f537d48 100644 --- a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c +++ b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Virtualized GPU Memory Management | 2 | * Virtualized GPU Memory Management |
3 | * | 3 | * |
4 | * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * Permission is hereby granted, free of charge, to any person obtaining a | 6 | * Permission is hereby granted, free of charge, to any person obtaining a |
7 | * copy of this software and associated documentation files (the "Software"), | 7 | * copy of this software and associated documentation files (the "Software"), |
@@ -179,6 +179,10 @@ u64 vgpu_gp10b_locked_gmmu_map(struct vm_gk20a *vm, | |||
179 | p->flags |= TEGRA_VGPU_MAP_IO_COHERENT; | 179 | p->flags |= TEGRA_VGPU_MAP_IO_COHERENT; |
180 | if (flags & NVGPU_VM_MAP_L3_ALLOC) | 180 | if (flags & NVGPU_VM_MAP_L3_ALLOC) |
181 | p->flags |= TEGRA_VGPU_MAP_L3_ALLOC; | 181 | p->flags |= TEGRA_VGPU_MAP_L3_ALLOC; |
182 | if (flags & NVGPU_VM_MAP_PLATFORM_ATOMIC) { | ||
183 | p->flags |= TEGRA_VGPU_MAP_PLATFORM_ATOMIC; | ||
184 | } | ||
185 | |||
182 | p->prot = prot; | 186 | p->prot = prot; |
183 | p->ctag_offset = ctag_offset; | 187 | p->ctag_offset = ctag_offset; |
184 | p->clear_ctags = clear_ctags; | 188 | p->clear_ctags = clear_ctags; |