summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsh <sh@nvidia.com>2020-01-07 09:40:30 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2020-01-08 11:35:48 -0500
commit3c6409a51b439aac863338303dabd38add34118e (patch)
tree2e147095fd509d3aae250578ac2abb217d599ba0
parent7a26ad57a7d2fc5cec4a0c8a8395c0c666d31cba (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.h3
-rw-r--r--drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c6
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
179struct tegra_vgpu_as_map_ex_params { 180struct 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;