summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2018-01-30 00:31:38 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-02-27 17:30:36 -0500
commit583c3c9dd41c5eb46a2facdb27ae7b679613378c (patch)
tree863c8b67eacc07d2c02ab5b6a4ca56bccc12e722
parent8202be50ce80e7fc2cf851a1ec4ad8f9378e3306 (diff)
gpu: nvgpu: vgpu: add function vgpu_is_reduced_bar1()
The implementation is os specific for now. Jira EVLR-2364 Change-Id: I8ac390b056aa9ca5b5d4ab2ac4dbc06f6689f4a4 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1649944 Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Nirav Patel <nipatel@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c7
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h1
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c8
3 files changed, 10 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c
index 29f08d4b..b92da97a 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c
@@ -31,9 +31,6 @@
31#include "vgpu.h" 31#include "vgpu.h"
32#include "fifo_vgpu.h" 32#include "fifo_vgpu.h"
33 33
34#include "common/linux/channel.h"
35#include "common/linux/os_linux.h"
36
37#include <nvgpu/hw/gk20a/hw_fifo_gk20a.h> 34#include <nvgpu/hw/gk20a/hw_fifo_gk20a.h>
38#include <nvgpu/hw/gk20a/hw_ram_gk20a.h> 35#include <nvgpu/hw/gk20a/hw_ram_gk20a.h>
39 36
@@ -265,7 +262,6 @@ clean_up_runlist:
265 262
266static int vgpu_init_fifo_setup_sw(struct gk20a *g) 263static int vgpu_init_fifo_setup_sw(struct gk20a *g)
267{ 264{
268 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
269 struct fifo_gk20a *f = &g->fifo; 265 struct fifo_gk20a *f = &g->fifo;
270 struct vgpu_priv_data *priv = vgpu_get_priv_data(g); 266 struct vgpu_priv_data *priv = vgpu_get_priv_data(g);
271 unsigned int chid; 267 unsigned int chid;
@@ -301,8 +297,7 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g)
301 /* if reduced BAR1 range is specified, use offset of 0 297 /* if reduced BAR1 range is specified, use offset of 0
302 * (server returns offset assuming full BAR1 range) 298 * (server returns offset assuming full BAR1 range)
303 */ 299 */
304 if (resource_size(l->bar1_mem) == 300 if (vgpu_is_reduced_bar1(g))
305 (resource_size_t)f->userd.size)
306 f->userd.gpu_va = 0; 301 f->userd.gpu_va = 0;
307 } 302 }
308 303
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h
index 66d993fc..8fa1a0f8 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h
@@ -99,5 +99,6 @@ int vgpu_read_ptimer(struct gk20a *g, u64 *value);
99int vgpu_get_timestamps_zipper(struct gk20a *g, 99int vgpu_get_timestamps_zipper(struct gk20a *g,
100 u32 source_id, u32 count, 100 u32 source_id, u32 count,
101 struct nvgpu_cpu_time_correlation_sample *samples); 101 struct nvgpu_cpu_time_correlation_sample *samples);
102bool vgpu_is_reduced_bar1(struct gk20a *g);
102 103
103#endif 104#endif
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c
index 69bf22ee..7aa72554 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c
@@ -461,3 +461,11 @@ int vgpu_remove(struct platform_device *pdev)
461 461
462 return 0; 462 return 0;
463} 463}
464
465bool vgpu_is_reduced_bar1(struct gk20a *g)
466{
467 struct fifo_gk20a *f = &g->fifo;
468 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
469
470 return resource_size(l->bar1_mem) == (resource_size_t)f->userd.size;
471}