mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +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
@@ -77,6 +77,12 @@ struct gk20a_platform {
|
||||
/* Should be populated at probe. */
|
||||
bool can_tpc_powergate;
|
||||
|
||||
/* Should be populated at probe. */
|
||||
bool can_fbp_fs;
|
||||
|
||||
/* Should be populated at probe. */
|
||||
bool can_gpc_fs;
|
||||
|
||||
/* Should be populated at probe. */
|
||||
bool can_elpg_init;
|
||||
|
||||
@@ -108,6 +114,9 @@ struct gk20a_platform {
|
||||
/* valid TPC-MASK */
|
||||
u32 valid_tpc_mask[MAX_TPC_PG_CONFIGS];
|
||||
|
||||
/* Valid GPC and FBP mask */
|
||||
u32 valid_gpc_fbp_fs_mask[MAX_GPC_FBP_FS_CONFIGS];
|
||||
|
||||
/* Delay before rail gated */
|
||||
int railgate_delay_init;
|
||||
|
||||
@@ -231,6 +240,12 @@ struct gk20a_platform {
|
||||
/* Set TPC_PG_MASK during probe */
|
||||
void (*set_tpc_pg_mask)(struct device *dev, u32 tpc_pg_mask);
|
||||
|
||||
/* Set GPC_MASK during probe */
|
||||
void (*set_gpc_mask)(struct device *dev, u32 gpc_mask);
|
||||
|
||||
/* Set FBP_MASK during probe */
|
||||
void (*set_fbp_mask)(struct device *dev, u32 fbp_mask);
|
||||
|
||||
/* Devfreq governor name. If scaling is enabled, we request
|
||||
* this governor to be used in scaling */
|
||||
const char *devfreq_governor;
|
||||
|
||||
Reference in New Issue
Block a user