diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index b361e00aa..80bf4684c 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h @@ -783,15 +783,6 @@ struct gk20a { bool can_tpc_pg; bool can_fbp_pg; bool can_gpc_pg; - - /* - * Valid config array for tpc pg mask - * and gpc/fbp mask. These valid values - * are chip specific and calculated based - * on available number of GPC, FBP and TPC - */ - u32 valid_tpc_pg_mask[MAX_PG_TPC_CONFIGS]; - u32 valid_gpc_fbp_pg_mask[MAX_PG_GPC_FBP_CONFIGS]; #endif #ifdef CONFIG_NVGPU_DGPU diff --git a/drivers/gpu/nvgpu/os/linux/driver_common.c b/drivers/gpu/nvgpu/os/linux/driver_common.c index b403d9b24..8753f6076 100644 --- a/drivers/gpu/nvgpu/os/linux/driver_common.c +++ b/drivers/gpu/nvgpu/os/linux/driver_common.c @@ -182,7 +182,6 @@ static void nvgpu_init_timeslice(struct gk20a *g) static void nvgpu_init_pm_vars(struct gk20a *g) { struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); - u32 i = 0; /* * Set up initial power settings. For non-slicon platforms, disable @@ -231,12 +230,6 @@ static void nvgpu_init_pm_vars(struct gk20a *g) g->can_tpc_pg = platform->can_tpc_pg; g->can_gpc_pg = platform->can_gpc_pg; g->can_fbp_pg = platform->can_fbp_pg; - - for (i = 0; i < MAX_PG_TPC_CONFIGS; i++) - g->valid_tpc_pg_mask[i] = platform->valid_tpc_pg_mask[i]; - - for (i = 0; i < MAX_PG_GPC_FBP_CONFIGS; i++) - g->valid_gpc_fbp_pg_mask[i] = platform->valid_gpc_fbp_pg_mask[i]; #endif g->ldiv_slowdown_factor = platform->ldiv_slowdown_factor_init; /* if default delay is not set, set default delay to 500msec */ diff --git a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h index 84034a60b..55525c0e8 100644 --- a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h +++ b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h @@ -126,6 +126,9 @@ struct gk20a_platform { /* Valid GPC-PG and FBP-PG mask */ u32 valid_gpc_fbp_pg_mask[MAX_PG_GPC_FBP_CONFIGS]; + + /* available TPC count in a chip */ + u32 tpc_count; #endif /* Delay before rail gated */ int railgate_delay_init; diff --git a/drivers/gpu/nvgpu/os/linux/sysfs.c b/drivers/gpu/nvgpu/os/linux/sysfs.c index b7e87d79e..e0ed671ca 100644 --- a/drivers/gpu/nvgpu/os/linux/sysfs.c +++ b/drivers/gpu/nvgpu/os/linux/sysfs.c @@ -1077,7 +1077,7 @@ static ssize_t tpc_pg_mask_store(struct device *dev, != 0) { nvgpu_err(g, "golden image size already initialized"); nvgpu_mutex_release(&g->static_pg_lock); - return -ENODEV; + return -EINVAL; } if (platform->set_tpc_pg_mask != NULL) {