summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/gv11b
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-08-10 17:09:36 -0400
committerBo Yan <byan@nvidia.com>2018-08-20 14:00:59 -0400
commit227c6f7b7a499dd58e0db6859736cfe586ef0897 (patch)
treed354f8422647021693aefefa5124d865c29ecd32 /drivers/gpu/nvgpu/vgpu/gv11b
parent9e69e0cf978b53706f55ffb873e3966b4bb3a7a8 (diff)
gpu: nvgpu: Move fuse HAL to common
Move implementation of fuse HAL to common/fuse. Also implements new fuse query functions for FBIO, FBP, TPC floorsweeping and security fuses. JIRA NVGPU-957 Change-Id: I55e256a4f1b59d50a721d4942907f70dc57467c4 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1797177
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gv11b')
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
index f9d09ebd..204c0105 100644
--- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
@@ -35,6 +35,8 @@
35#include "common/ltc/ltc_gm20b.h" 35#include "common/ltc/ltc_gm20b.h"
36#include "common/ltc/ltc_gp10b.h" 36#include "common/ltc/ltc_gp10b.h"
37#include "common/ltc/ltc_gv11b.h" 37#include "common/ltc/ltc_gv11b.h"
38#include "common/fuse/fuse_gm20b.h"
39#include "common/fuse/fuse_gp10b.h"
38 40
39#include <gk20a/gk20a.h> 41#include <gk20a/gk20a.h>
40#include <gv11b/hal_gv11b.h> 42#include <gv11b/hal_gv11b.h>
@@ -68,7 +70,6 @@
68#include <gp10b/ce_gp10b.h> 70#include <gp10b/ce_gp10b.h>
69#include "gp10b/gr_gp10b.h" 71#include "gp10b/gr_gp10b.h"
70#include <gp10b/fifo_gp10b.h> 72#include <gp10b/fifo_gp10b.h>
71#include <gp10b/fuse_gp10b.h>
72 73
73#include <gp106/pmu_gp106.h> 74#include <gp106/pmu_gp106.h>
74#include <gp106/acr_gp106.h> 75#include <gp106/acr_gp106.h>
@@ -91,7 +92,6 @@
91#include "vgpu_subctx_gv11b.h" 92#include "vgpu_subctx_gv11b.h"
92#include "vgpu_tsg_gv11b.h" 93#include "vgpu_tsg_gv11b.h"
93 94
94#include <nvgpu/hw/gv11b/hw_fuse_gv11b.h>
95#include <nvgpu/hw/gv11b/hw_fifo_gv11b.h> 95#include <nvgpu/hw/gv11b/hw_fifo_gv11b.h>
96#include <nvgpu/hw/gv11b/hw_ram_gv11b.h> 96#include <nvgpu/hw/gv11b/hw_ram_gv11b.h>
97#include <nvgpu/hw/gv11b/hw_top_gv11b.h> 97#include <nvgpu/hw/gv11b/hw_top_gv11b.h>
@@ -530,7 +530,7 @@ static const struct gpu_ops vgpu_gv11b_ops = {
530 .pmu_pg_init_param = gv11b_pg_gr_init, 530 .pmu_pg_init_param = gv11b_pg_gr_init,
531 .pmu_pg_supported_engines_list = gk20a_pmu_pg_engines_list, 531 .pmu_pg_supported_engines_list = gk20a_pmu_pg_engines_list,
532 .pmu_pg_engines_feature_list = gk20a_pmu_pg_feature_list, 532 .pmu_pg_engines_feature_list = gk20a_pmu_pg_feature_list,
533 .dump_secure_fuses = pmu_dump_security_fuses_gp10b, 533 .dump_secure_fuses = pmu_dump_security_fuses_gm20b,
534 .reset_engine = gp106_pmu_engine_reset, 534 .reset_engine = gp106_pmu_engine_reset,
535 .is_engine_in_reset = gp106_pmu_is_engine_in_reset, 535 .is_engine_in_reset = gp106_pmu_is_engine_in_reset,
536 .pmu_nsbootstrap = gv11b_pmu_bootstrap, 536 .pmu_nsbootstrap = gv11b_pmu_bootstrap,
@@ -635,6 +635,16 @@ static const struct gpu_ops vgpu_gv11b_ops = {
635 .is_opt_ecc_enable = gp10b_fuse_is_opt_ecc_enable, 635 .is_opt_ecc_enable = gp10b_fuse_is_opt_ecc_enable,
636 .is_opt_feature_override_disable = 636 .is_opt_feature_override_disable =
637 gp10b_fuse_is_opt_feature_override_disable, 637 gp10b_fuse_is_opt_feature_override_disable,
638 .fuse_status_opt_fbio = gm20b_fuse_status_opt_fbio,
639 .fuse_status_opt_fbp = gm20b_fuse_status_opt_fbp,
640 .fuse_status_opt_rop_l2_fbp = gm20b_fuse_status_opt_rop_l2_fbp,
641 .fuse_status_opt_tpc_gpc = gm20b_fuse_status_opt_tpc_gpc,
642 .fuse_ctrl_opt_tpc_gpc = gm20b_fuse_ctrl_opt_tpc_gpc,
643 .fuse_opt_sec_debug_en = gm20b_fuse_opt_sec_debug_en,
644 .fuse_opt_priv_sec_en = gm20b_fuse_opt_priv_sec_en,
645 .read_vin_cal_fuse_rev = NULL,
646 .read_vin_cal_slope_intercept_fuse = NULL,
647 .read_vin_cal_gain_offset_fuse = NULL,
638 }, 648 },
639 .chip_init_gpu_characteristics = vgpu_gv11b_init_gpu_characteristics, 649 .chip_init_gpu_characteristics = vgpu_gv11b_init_gpu_characteristics,
640 .get_litter_value = gv11b_get_litter_value, 650 .get_litter_value = gv11b_get_litter_value,
@@ -669,6 +679,7 @@ int vgpu_gv11b_init_hal(struct gk20a *g)
669#endif 679#endif
670 gops->falcon = vgpu_gv11b_ops.falcon; 680 gops->falcon = vgpu_gv11b_ops.falcon;
671 gops->priv_ring = vgpu_gv11b_ops.priv_ring; 681 gops->priv_ring = vgpu_gv11b_ops.priv_ring;
682 gops->fuse = vgpu_gv11b_ops.fuse;
672 683
673 /* Lone functions */ 684 /* Lone functions */
674 gops->chip_init_gpu_characteristics = 685 gops->chip_init_gpu_characteristics =