From 8bd22faafdf6fa37f1e0fa523f639b2bca2e868c Mon Sep 17 00:00:00 2001 From: Aingara Paramakuru Date: Wed, 13 Apr 2016 18:36:15 -0400 Subject: gpu: nvgpu: vgpu: support reduced BAR1 range Going forward, only the guest-accessible BAR1 range will be contained in the DT. Full-range BAR1 support is maintained for backwards-compatibility. JIRA VFND-1373 Change-Id: I13cb7e3b76397f76788838c6debcdafa43a8ea25 Signed-off-by: Aingara Paramakuru Reviewed-on: http://git-master/r/1126380 Reviewed-by: Richard Zhao GVS: Gerrit_Virtual_Submit Reviewed-by: Vladislav Buzov --- drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 5 +++++ drivers/gpu/nvgpu/vgpu/vgpu.c | 1 + 2 files changed, 6 insertions(+) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index ac506a34..535de851 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c @@ -270,6 +270,11 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g) goto clean_up; } + /* if reduced BAR1 range is specified, use offset of 0 + (server returns offset assuming full BAR1 range) */ + if (resource_size(g->bar1_mem) == (resource_size_t)f->userd.size) + f->userd.gpu_va = 0; + gk20a_dbg(gpu_dbg_map, "userd bar1 va = 0x%llx", f->userd.gpu_va); f->channel = kzalloc(f->num_channels * sizeof(*f->channel), diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.c b/drivers/gpu/nvgpu/vgpu/vgpu.c index 90197ab4..78492d3b 100644 --- a/drivers/gpu/nvgpu/vgpu/vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/vgpu.c @@ -199,6 +199,7 @@ static int vgpu_init_support(struct platform_device *pdev) err = PTR_ERR(g->bar1); goto fail; } + g->bar1_mem = r; mutex_init(&g->dbg_sessions_lock); mutex_init(&g->client_lock); -- cgit v1.2.2