mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 11:04:51 +03:00
gpu: nvgpu: Support GPC and FBP Floorsweeping
- Add gops_fbp_fs and gops_gpc_pg struct - Add HALs to write to NV_FUSE_CTRL_OPT_FBP and NV_FUSE_CTRL_OPT_GPC fuses needed for floorsweeping - Add set_fbp_mask and set_gpc_mask to probe FBP and GPC mask respectively during gpu probe - Add sysfs node: fbp_fs_mask and gpc_fs_mask to store FBP and GPC floorsweeping mask sent from userspace - Move the floorsweeping programming early in NVGPU’s GPU init function and then issue a PRI init. JIRA NVGPU-6433 Change-Id: I84764d625c69914c107e1e8c7f29c476c2f64f78 Signed-off-by: Divya Singhatwaria <dsinghatwari@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2499571 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
9f30609550
commit
842bef7124
@@ -1128,7 +1128,10 @@ static const struct gops_fuse gp10b_ops_fuse = {
|
||||
.fuse_status_opt_fbp = gm20b_fuse_status_opt_fbp,
|
||||
.fuse_status_opt_l2_fbp = gm20b_fuse_status_opt_l2_fbp,
|
||||
.fuse_status_opt_tpc_gpc = gm20b_fuse_status_opt_tpc_gpc,
|
||||
.fuse_status_opt_gpc = NULL,
|
||||
.fuse_ctrl_opt_tpc_gpc = gm20b_fuse_ctrl_opt_tpc_gpc,
|
||||
.fuse_ctrl_opt_fbp = NULL,
|
||||
.fuse_ctrl_opt_gpc = NULL,
|
||||
.fuse_opt_sec_debug_en = gm20b_fuse_opt_sec_debug_en,
|
||||
.fuse_opt_priv_sec_en = gm20b_fuse_opt_priv_sec_en,
|
||||
.read_vin_cal_fuse_rev = NULL,
|
||||
@@ -1155,6 +1158,17 @@ static const struct gops_tpc gp10b_ops_tpc = {
|
||||
.init_tpc_powergate = NULL,
|
||||
.tpc_gr_pg = NULL,
|
||||
};
|
||||
|
||||
static const struct gops_fbp_fs gp10b_ops_fbp_fs = {
|
||||
.init_fbp_floorsweep = NULL,
|
||||
.fbp_static_fs = NULL,
|
||||
};
|
||||
|
||||
static const struct gops_gpc_pg gp10b_ops_gpc_pg = {
|
||||
.init_gpc_powergate = NULL,
|
||||
.gpc_static_pg = NULL,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
static const struct gops_grmgr gp10b_ops_grmgr = {
|
||||
@@ -1259,6 +1273,8 @@ int gp10b_init_hal(struct gk20a *g)
|
||||
gops->top = gp10b_ops_top;
|
||||
#ifdef CONFIG_NVGPU_STATIC_POWERGATE
|
||||
gops->tpc = gp10b_ops_tpc;
|
||||
gops->fbp_fs = gp10b_ops_fbp_fs;
|
||||
gops->gpc_pg = gp10b_ops_gpc_pg;
|
||||
#endif
|
||||
gops->grmgr = gp10b_ops_grmgr;
|
||||
gops->cic_mon = gp10b_ops_cic_mon;
|
||||
|
||||
Reference in New Issue
Block a user