gpu: nvgpu: Add flag gk20a->is_virtual

Instead of calling gk20a_gpu_is_virtual() which requires struct
device pointer fill in flag gk20a->is_virtual and use that.

JIRA NVGPU-16

Change-Id: I24382c041ee69940c703ca1ea7f5c667c5731cd1
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1473707
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Terje Bergstrom
2017-05-01 13:55:22 -07:00
committed by mobile promotions
parent c43c3f9c2f
commit 744e2d202e
6 changed files with 9 additions and 5 deletions

View File

@@ -1185,7 +1185,7 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s,
}
/* be sure that ctx info is in place */
if (!gk20a_gpu_is_virtual(dbg_s->dev) &&
if (!g->is_virtual &&
!gr_context_info_available(dbg_s, &g->gr)) {
nvgpu_err(g, "gr context data not available\n");
return -ENODEV;
@@ -1196,7 +1196,7 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s,
* on other channels */
nvgpu_mutex_acquire(&g->dbg_sessions_lock);
if (!dbg_s->is_pg_disabled && !gk20a_gpu_is_virtual(dbg_s->dev)) {
if (!dbg_s->is_pg_disabled && !g->is_virtual) {
/* In the virtual case, the server will handle
* disabling/enabling powergating when processing reg ops
*/

View File

@@ -379,7 +379,7 @@ void gk20a_driver_start_unload(struct gk20a *g)
g->driver_is_dying = 1;
up_write(&g->busy_lock);
if (gk20a_gpu_is_virtual(g->dev))
if (g->is_virtual)
return;
gk20a_wait_for_idle(g->dev);

View File

@@ -1017,6 +1017,8 @@ struct gk20a {
bool support_pmu;
bool is_virtual;
u32 emc3d_ratio;
#ifdef CONFIG_DEBUG_FS

View File

@@ -401,7 +401,7 @@ int exec_regops_gk20a(struct dbg_session_gk20a *dbg_s,
* regops implementation, so we return -ENOSYS. This will allow
* compute apps to run with vgpu. Tools will not work in this
* configuration and are not required to work at this time. */
if (gk20a_gpu_is_virtual(dbg_s->dev))
if (g->is_virtual)
return -ENOSYS;
ok = validate_reg_ops(dbg_s,

View File

@@ -198,7 +198,7 @@ int gp10b_init_hal(struct gk20a *g)
if (g->is_fmodel) {
gops->privsecurity = 0;
gops->securegpccs = 0;
} else if (gk20a_gpu_is_virtual(g->dev)) {
} else if (g->is_virtual) {
gops->privsecurity = 1;
gops->securegpccs = 1;
} else {

View File

@@ -583,6 +583,8 @@ int vgpu_probe(struct platform_device *pdev)
if (tegra_platform_is_linsim() || tegra_platform_is_vdk())
gk20a->is_fmodel = true;
gk20a->is_virtual = true;
nvgpu_kmem_init(gk20a);
priv = nvgpu_kzalloc(gk20a, sizeof(*priv));