gpu: nvgpu: vgpu: add support for max_freq

Add vgpu support for max_freq characteristic

Bug 200182714
JIRASW VFND-1570

Change-Id: Ibeddfbba1bf0529d6f576cefcb82978dbae315d1
Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com>
Reviewed-on: http://git-master/r/1149216
(cherry picked from commit 8e8b5979e87268401d5b0fc658a73589710a2e09)
Reviewed-on: http://git-master/r/1155416
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
Peter Daifuku
2016-05-17 10:12:19 -07:00
committed by Terje Bergstrom
parent c16d985c8a
commit f48d28caa3
2 changed files with 22 additions and 1 deletions

View File

@@ -258,6 +258,26 @@ static void vgpu_detect_chip(struct gk20a *g)
g->gpu_characteristics.rev); g->gpu_characteristics.rev);
} }
static int vgpu_init_gpu_characteristics(struct gk20a *g)
{
struct gk20a_platform *platform = gk20a_get_platform(g->dev);
u32 max_freq;
int err;
gk20a_dbg_fn("");
err = gk20a_init_gpu_characteristics(g);
if (err)
return err;
if (vgpu_get_attribute(platform->virt_handle,
TEGRA_VGPU_ATTRIB_MAX_FREQ, &max_freq))
return -ENOMEM;
g->gpu_characteristics.max_freq = max_freq;
return 0;
}
void vgpu_init_hal_common(struct gk20a *g) void vgpu_init_hal_common(struct gk20a *g)
{ {
struct gpu_ops *gops = &g->ops; struct gpu_ops *gops = &g->ops;
@@ -269,7 +289,7 @@ void vgpu_init_hal_common(struct gk20a *g)
vgpu_init_debug_ops(gops); vgpu_init_debug_ops(gops);
vgpu_init_fecs_trace_ops(gops); vgpu_init_fecs_trace_ops(gops);
vgpu_init_tsg_ops(gops); vgpu_init_tsg_ops(gops);
gops->chip_init_gpu_characteristics = gk20a_init_gpu_characteristics; gops->chip_init_gpu_characteristics = vgpu_init_gpu_characteristics;
} }
static int vgpu_init_hal(struct gk20a *g) static int vgpu_init_hal(struct gk20a *g)

View File

@@ -128,6 +128,7 @@ enum {
TEGRA_VGPU_ATTRIB_LTC_COUNT, TEGRA_VGPU_ATTRIB_LTC_COUNT,
TEGRA_VGPU_ATTRIB_TPC_COUNT, TEGRA_VGPU_ATTRIB_TPC_COUNT,
TEGRA_VGPU_ATTRIB_GPC0_TPC_COUNT, TEGRA_VGPU_ATTRIB_GPC0_TPC_COUNT,
TEGRA_VGPU_ATTRIB_MAX_FREQ,
}; };
struct tegra_vgpu_attrib_params { struct tegra_vgpu_attrib_params {