mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
gpu: nvgpu: ga10b: move grmgr.load_timestamp_prod HAL
The timestamp control register in the SMCARB should be configured to have the NV_PSMCARB_TIMESTAMP_CTRL_DISABLE_TICK field cleared, otherwise the PTIMER ticks will not be sent to GR engine. Hence, remove the pre-processor checks around grmgr.load_timestamp_prod call. Bug 3510460 Bug 3500065 Change-Id: I223cea1aca28a9215287f540eb961a16e3fe6626 Signed-off-by: Antony Clince Alex <aalex@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2671021 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
19a3b86f06
commit
ca27a7d841
@@ -42,11 +42,9 @@ int nvgpu_init_gr_manager(struct gk20a *g)
|
||||
int err = 0;
|
||||
const struct nvgpu_device *gr_dev = NULL;
|
||||
|
||||
#if defined(CONFIG_NVGPU_HAL_NON_FUSA) && defined(CONFIG_NVGPU_MIG)
|
||||
if (g->ops.grmgr.load_timestamp_prod != NULL) {
|
||||
g->ops.grmgr.load_timestamp_prod(g);
|
||||
}
|
||||
#endif
|
||||
/* Number of gpu instance is 1 for legacy mode */
|
||||
g->mig.max_gpc_count = g->ops.top.get_max_gpc_count(g);
|
||||
nvgpu_assert(g->mig.max_gpc_count > 0U);
|
||||
|
||||
@@ -955,7 +955,6 @@ int ga10b_grmgr_get_mig_gpu_instance_config(struct gk20a *g,
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_NVGPU_HAL_NON_FUSA) && defined(CONFIG_NVGPU_MIG)
|
||||
void ga10b_grmgr_load_smc_arb_timestamp_prod(struct gk20a *g)
|
||||
{
|
||||
u32 reg_val;
|
||||
@@ -968,7 +967,6 @@ void ga10b_grmgr_load_smc_arb_timestamp_prod(struct gk20a *g)
|
||||
nvgpu_writel(g, smcarb_timestamp_ctrl_r(), reg_val);
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
int ga10b_grmgr_discover_gpc_ids(struct gk20a *g,
|
||||
u32 num_gpc, struct nvgpu_gpc *gpcs)
|
||||
|
||||
@@ -42,9 +42,7 @@ int ga10b_grmgr_get_mig_gpu_instance_config(struct gk20a *g,
|
||||
void ga10b_grmgr_get_gpcgrp_count(struct gk20a *g);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_NVGPU_HAL_NON_FUSA) && defined(CONFIG_NVGPU_MIG)
|
||||
void ga10b_grmgr_load_smc_arb_timestamp_prod(struct gk20a *g);
|
||||
#endif
|
||||
int ga10b_grmgr_discover_gpc_ids(struct gk20a *g,
|
||||
u32 num_gpc, struct nvgpu_gpc *gpcs);
|
||||
|
||||
|
||||
@@ -1728,9 +1728,7 @@ static const struct gops_grmgr ga100_ops_grmgr = {
|
||||
#else
|
||||
.init_gr_manager = nvgpu_init_gr_manager,
|
||||
#endif
|
||||
#if defined(CONFIG_NVGPU_HAL_NON_FUSA) && defined(CONFIG_NVGPU_MIG)
|
||||
.load_timestamp_prod = ga10b_grmgr_load_smc_arb_timestamp_prod,
|
||||
#endif
|
||||
.discover_gpc_ids = ga10b_grmgr_discover_gpc_ids,
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -1707,9 +1707,7 @@ static const struct gops_grmgr ga10b_ops_grmgr = {
|
||||
#else
|
||||
.init_gr_manager = nvgpu_init_gr_manager,
|
||||
#endif
|
||||
#if defined(CONFIG_NVGPU_HAL_NON_FUSA) && defined(CONFIG_NVGPU_MIG)
|
||||
.load_timestamp_prod = ga10b_grmgr_load_smc_arb_timestamp_prod,
|
||||
#endif
|
||||
.discover_gpc_ids = ga10b_grmgr_discover_gpc_ids,
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2020-2022, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
@@ -85,8 +85,8 @@ struct gops_grmgr {
|
||||
u32 gpu_instance_id, u32 gr_syspipe_id, u32 *gpcgrp_id);
|
||||
int (*get_mig_gpu_instance_config)(struct gk20a *g,
|
||||
const char **config_name, u32 *num_config_supported);
|
||||
void (*load_timestamp_prod)(struct gk20a *g);
|
||||
#endif
|
||||
void (*load_timestamp_prod)(struct gk20a *g);
|
||||
};
|
||||
|
||||
#endif /* NVGPU_GOPS_GRMGR_H */
|
||||
|
||||
Reference in New Issue
Block a user