mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 01:50:07 +03:00
Move the code involved in nvlink probe sequence into a separate unit called "nvlink_probe" nvlink probe code is spread over both the common and OS specific nvlink files. Nvlink Probe unit would encompass code needed to initialize the nvlink software state. Nvlink software initialization involves: 1. Allocate memory for nvlink_device and nvlink_link structs 2. Read the device tree pci node to know about nvlink topology 3. Initialize nvlink function pointers needed by Tegra nvlink core-driver 4. Register nvlink_device and nvlink_link with the core-driver. nvlink probe returns -ENODEV when nvlink is not supported. Nvlink is not supported in two cases: 1. There is no nvlink IP on the Tegra SoC which is denoted by CONFIG_TEGRA_NVLINK or 2. The pci device tree node does not have "nvidia,nvlink" child node needed to describe nvlink topology. Any negative return value other than -ENODEV denotes failure in execution of nvlink probe. JIRA NVGPU-1783 Change-Id: I50011b25d88d8cc01569caac7895abe32ee38215 Signed-off-by: Tejal Kudav <tkudav@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1994619 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
18 KiB
18 KiB