summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gp106/pmu_gp106.c1
-rw-r--r--drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/pmu_gp106.c b/drivers/gpu/nvgpu/gp106/pmu_gp106.c
index 56f1e194..632023ba 100644
--- a/drivers/gpu/nvgpu/gp106/pmu_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/pmu_gp106.c
@@ -332,6 +332,7 @@ void gp106_init_pmu_ops(struct gpu_ops *gops)
332 gops->pmu.pmu_pg_param_post_init = nvgpu_lpwr_post_init; 332 gops->pmu.pmu_pg_param_post_init = nvgpu_lpwr_post_init;
333 gops->pmu.dump_secure_fuses = NULL; 333 gops->pmu.dump_secure_fuses = NULL;
334 gops->pmu.mclk_init = gp106_mclk_init; 334 gops->pmu.mclk_init = gp106_mclk_init;
335 gops->pmu.mclk_change = gp106_mclk_change;
335 gops->pmu.mclk_deinit = gp106_mclk_deinit; 336 gops->pmu.mclk_deinit = gp106_mclk_deinit;
336 gops->pmu.is_pmu_supported = gp106_is_pmu_supported; 337 gops->pmu.is_pmu_supported = gp106_is_pmu_supported;
337 gops->pmu.reset_engine = gp106_pmu_engine_reset; 338 gops->pmu.reset_engine = gp106_pmu_engine_reset;
diff --git a/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c b/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
index c510a8d7..2ca29750 100644
--- a/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
@@ -2725,6 +2725,14 @@ int gp106_mclk_init(struct gk20a *g)
2725 2725
2726 mclk->speed = GP106_MCLK_LOW_SPEED; /* Value from Devinit */ 2726 mclk->speed = GP106_MCLK_LOW_SPEED; /* Value from Devinit */
2727 2727
2728 /* Find out which memory configuration to use */
2729 g->mem_config_idx = GP106_MEM_CONFIG_GDDR5_PG418;
2730 if ((g->pci_vendor_id == PCI_VENDOR_ID_NVIDIA) &&
2731 (g->pci_device_id == 0x1c75) &&
2732 (g->gpu_characteristics.vbios_version == 0x86065800)) {
2733 g->mem_config_idx = GP106_MEM_CONFIG_GDDR5_PG419;
2734 }
2735
2728 /* Parse VBIOS */ 2736 /* Parse VBIOS */
2729 status = mclk_get_memclk_table(g); 2737 status = mclk_get_memclk_table(g);
2730 if (status < 0) { 2738 if (status < 0) {
@@ -2791,6 +2799,7 @@ int gp106_mclk_change(struct gk20a *g, u16 val)
2791 u32 seqdesc; 2799 u32 seqdesc;
2792 int status = 0; 2800 int status = 0;
2793 struct memory_config *m = &mem_config[g->mem_config_idx]; 2801 struct memory_config *m = &mem_config[g->mem_config_idx];
2802
2794 u32 seq_completion_status = ~0x0; 2803 u32 seq_completion_status = ~0x0;
2795 u8 *seq_script_ptr = NULL; 2804 u8 *seq_script_ptr = NULL;
2796 size_t seq_script_size = 0; 2805 size_t seq_script_size = 0;