diff --git a/drivers/gpu/nvgpu/common/acr/acr_sw_ga10b.c b/drivers/gpu/nvgpu/common/acr/acr_sw_ga10b.c index fdafb0b98..b800ce274 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_sw_ga10b.c +++ b/drivers/gpu/nvgpu/common/acr/acr_sw_ga10b.c @@ -21,6 +21,7 @@ */ #include #include +#include #include #include #include @@ -166,9 +167,12 @@ static int ga10b_acr_patch_wpr_info_to_ucode(struct gk20a *g, */ acr_sysmem_desc->wpr_offset = WPR_OFFSET; - if (g->emulate_mode < EMULATE_MODE_MAX_CONFIG) { + if (nvgpu_is_enabled(g, NVGPU_SUPPORT_EMULATE_MODE) && + (g->emulate_mode < EMULATE_MODE_MAX_CONFIG)) { acr_sysmem_desc->gpu_mode &= (~EMULATE_MODE_MASK); acr_sysmem_desc->gpu_mode |= g->emulate_mode; + } else { + acr_sysmem_desc->gpu_mode &= (~EMULATE_MODE_MASK); } if (nvgpu_is_enabled(g, NVGPU_SUPPORT_MIG)) { diff --git a/drivers/gpu/nvgpu/hal/gr/init/gr_init_ga10b.c b/drivers/gpu/nvgpu/hal/gr/init/gr_init_ga10b.c index cda88969c..885914e72 100644 --- a/drivers/gpu/nvgpu/hal/gr/init/gr_init_ga10b.c +++ b/drivers/gpu/nvgpu/hal/gr/init/gr_init_ga10b.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "gr_init_ga10b.h" @@ -65,7 +66,8 @@ u32 ga10b_gr_init_get_ctx_betacb_size(struct gk20a *g) void ga10b_gr_init_commit_rops_crop_override(struct gk20a *g, struct nvgpu_gr_ctx *gr_ctx, bool patch) { - if (g->emulate_mode) { + if (nvgpu_is_enabled(g, NVGPU_SUPPORT_EMULATE_MODE) && + (g->emulate_mode > 0U)) { u32 data = 0U; data = nvgpu_readl(g, gr_pri_gpcs_rops_crop_debug1_r()); data = set_field(data, diff --git a/drivers/gpu/nvgpu/os/linux/sysfs.c b/drivers/gpu/nvgpu/os/linux/sysfs.c index f9c5ea317..b7e87d79e 100644 --- a/drivers/gpu/nvgpu/os/linux/sysfs.c +++ b/drivers/gpu/nvgpu/os/linux/sysfs.c @@ -1327,10 +1327,6 @@ static ssize_t emulate_mode_store(struct device *dev, if (kstrtoul(buf, 10, &val) < 0) return -EINVAL; - if (!nvgpu_is_enabled(g, NVGPU_SUPPORT_EMULATE_MODE)) { - nvgpu_err(g, "Emulate mode not supported"); - return -EINVAL; - } if (nvgpu_is_powered_on(g)) { nvgpu_err(g, "GPU is powered on already, emulate mode " "cannot be enabled");