From 583c3c9dd41c5eb46a2facdb27ae7b679613378c Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Mon, 29 Jan 2018 21:31:38 -0800 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1649944 Reviewed-by: Aingara Paramakuru Reviewed-by: Terje Bergstrom GVS: Gerrit_Virtual_Submit Reviewed-by: Nirav Patel Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/vgpu/fifo_vgpu.c | 7 +------ drivers/gpu/nvgpu/common/linux/vgpu/vgpu.h | 1 + drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c | 8 ++++++++ 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 @@ #include "vgpu.h" #include "fifo_vgpu.h" -#include "common/linux/channel.h" -#include "common/linux/os_linux.h" - #include #include @@ -265,7 +262,6 @@ clean_up_runlist: static int vgpu_init_fifo_setup_sw(struct gk20a *g) { - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); struct fifo_gk20a *f = &g->fifo; struct vgpu_priv_data *priv = vgpu_get_priv_data(g); unsigned int chid; @@ -301,8 +297,7 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g) /* if reduced BAR1 range is specified, use offset of 0 * (server returns offset assuming full BAR1 range) */ - if (resource_size(l->bar1_mem) == - (resource_size_t)f->userd.size) + if (vgpu_is_reduced_bar1(g)) f->userd.gpu_va = 0; } 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); int vgpu_get_timestamps_zipper(struct gk20a *g, u32 source_id, u32 count, struct nvgpu_cpu_time_correlation_sample *samples); +bool vgpu_is_reduced_bar1(struct gk20a *g); #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) return 0; } + +bool vgpu_is_reduced_bar1(struct gk20a *g) +{ + struct fifo_gk20a *f = &g->fifo; + struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); + + return resource_size(l->bar1_mem) == (resource_size_t)f->userd.size; +} -- cgit v1.2.2