mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 01:50:07 +03:00
gpu: nvgpu: Add nvgpu_early_poweron() support
1) NvGpu dev node needs to be created in gpu power on early stage to avoid latency introduced by udevd. For creating dev node, device and grmgr init needs to move to early stage of GPU power on. After grmgr init, NvGpu can identify the number of MIG instance required for each physical GPU. For that, added a new API nvgpu_early_poweron() to handle early init which is required for before dev node creation. 2) Removed fifo dependency in nvgpu_init_gr_manager() 3) Used get_max_subctx_count() directly to query the veid/subctx count. JIRA NVGPU-6633 Change-Id: Ib9d7c3e184c71237b0da9305515ccd8ceda1d5ad Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2517173 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
3648fe4655
commit
3f8c562004
@@ -41,7 +41,6 @@
|
||||
#include <soc/tegra/fuse.h>
|
||||
#endif /* CONFIG_NVGPU_TEGRA_FUSE */
|
||||
|
||||
#include <nvgpu/hal_init.h>
|
||||
#include <nvgpu/dma.h>
|
||||
#include <nvgpu/kmem.h>
|
||||
#include <nvgpu/nvgpu_common.h>
|
||||
@@ -434,14 +433,12 @@ int gk20a_pm_finalize_poweron(struct device *dev)
|
||||
|
||||
nvgpu_restore_usermode_for_poweron(g);
|
||||
|
||||
err = nvgpu_detect_chip(g);
|
||||
if (err)
|
||||
err = nvgpu_early_poweron(g);
|
||||
if (err != 0) {
|
||||
nvgpu_err(g, "nvgpu_early_poweron failed[%d]", err);
|
||||
goto done;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Need to add nvgpu_early_poweron() sequence before
|
||||
* creating device nodes.
|
||||
*/
|
||||
if (!l->dev_nodes_created) {
|
||||
err = gk20a_user_init(dev);
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user