mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: rmmod support in dgpu simulation
Changes added to support "rmmod nvgpu" in dgpu simulation after gpu poweron. nvgpu_engine-wait_for_idle got stuck in busy mode for nvdec and nvec engines in simulation as simulation doesnt support timeout. These engines are not valid engines in nvgpu engine list. Add nvgpu_engine_check_valid_id before checking engine status. Simulation crash on accessing 0xb81604 top interrupt register. Add func_priv_cpu_intr_top__size_1_v() function to get the supported size than using default MAX_INTR_TOP_REGS. nvlink is not supprted in dgpu simulation. Avoid warning for -ENODEV return. Avoid register read following gpu power off completion. Bug 2498574 Change-Id: I9f9f1cf1ac4620242bda1d2cc0f29f51f81a6711 Signed-off-by: vinodg <vinodg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2179930 Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
d93e82dedb
commit
087d4d3df4
@@ -605,7 +605,10 @@ static void nvgpu_pci_remove(struct pci_dev *pdev)
|
||||
WARN(err, "gpu failed to clear pci power");
|
||||
|
||||
err = nvgpu_nvlink_deinit(g);
|
||||
WARN(err, "gpu failed to remove nvlink");
|
||||
/* ENODEV is a legal error if there is no NVLINK */
|
||||
if (err != -ENODEV) {
|
||||
WARN(err, "gpu failed to remove nvlink");
|
||||
}
|
||||
|
||||
gk20a_driver_start_unload(g);
|
||||
|
||||
@@ -655,7 +658,10 @@ void nvgpu_pci_shutdown(struct pci_dev *pdev)
|
||||
|
||||
if (is_nvgpu_gpu_state_valid(g)) {
|
||||
err = nvgpu_nvlink_deinit(g);
|
||||
WARN(err, "gpu failed to remove nvlink");
|
||||
/* ENODEV is a legal error if there is no NVLINK */
|
||||
if (err != -ENODEV) {
|
||||
WARN(err, "gpu failed to remove nvlink");
|
||||
}
|
||||
} else
|
||||
nvgpu_err(g, "skipped nvlink deinit");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user