diff options
author | Adeel Raza <araza@nvidia.com> | 2018-05-11 17:05:58 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-06-07 14:12:53 -0400 |
commit | 8af4db8e8ef8f67bc4757c54425f24511721be63 (patch) | |
tree | a074ea50f68d3d13b4e1b3296b838d32226a347f /include | |
parent | da1c92cefb1da1a412eca9200c8ea2d93d7c74ac (diff) |
nvlink: add shim driver shutdown IOCTLs
For the shim driver mode, RM needs to perform a graceful shutdown of
NVLINK during RM unload. Export the following T19x NVLINK endpoint
IOCTLs for shim driver NVLINK shutdown:
- INTERFACE_DISABLE IOCTL: Disables the NVLINK aperture
- FINALIZE_SHUTDOWN IOCTL: Does shutdown related SW cleanup
Bug 2113729
Jira NVLINK-173
Change-Id: I60e3f5fffd0b1e6cc87476b047ef1b761b5174d1
Signed-off-by: Adeel Raza <araza@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1714177
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/platform/tegra/tegra-nvlink.h | 1 | ||||
-rw-r--r-- | include/uapi/linux/tegra-nvlink-uapi.h | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/platform/tegra/tegra-nvlink.h b/include/linux/platform/tegra/tegra-nvlink.h index 66cec6115..09798b293 100644 --- a/include/linux/platform/tegra/tegra-nvlink.h +++ b/include/linux/platform/tegra/tegra-nvlink.h | |||
@@ -303,6 +303,7 @@ int nvlink_register_link(struct nvlink_link* link); | |||
303 | int nvlink_unregister_device(struct nvlink_device* device); | 303 | int nvlink_unregister_device(struct nvlink_device* device); |
304 | int nvlink_unregister_link(struct nvlink_link* link); | 304 | int nvlink_unregister_link(struct nvlink_link* link); |
305 | int nvlink_get_init_state(struct nvlink_device *ndev, enum init_state *state); | 305 | int nvlink_get_init_state(struct nvlink_device *ndev, enum init_state *state); |
306 | int nvlink_set_init_state(struct nvlink_device *ndev, enum init_state state); | ||
306 | int nvlink_enumerate(struct nvlink_device *ndev); | 307 | int nvlink_enumerate(struct nvlink_device *ndev); |
307 | int nvlink_transition_intranode_conn_off_to_safe(struct nvlink_device *ndev); | 308 | int nvlink_transition_intranode_conn_off_to_safe(struct nvlink_device *ndev); |
308 | int nvlink_train_intranode_conn_safe_to_hs(struct nvlink_device *ndev); | 309 | int nvlink_train_intranode_conn_safe_to_hs(struct nvlink_device *ndev); |
diff --git a/include/uapi/linux/tegra-nvlink-uapi.h b/include/uapi/linux/tegra-nvlink-uapi.h index 099ecaeb0..7ac8a81aa 100644 --- a/include/uapi/linux/tegra-nvlink-uapi.h +++ b/include/uapi/linux/tegra-nvlink-uapi.h | |||
@@ -518,6 +518,8 @@ enum tnvlink_ioctl_num { | |||
518 | TNVLINK_IOCTL_READ_DISCOVERY_TOKEN, | 518 | TNVLINK_IOCTL_READ_DISCOVERY_TOKEN, |
519 | TNVLINK_IOCTL_GET_LOCAL_PCI_INFO, | 519 | TNVLINK_IOCTL_GET_LOCAL_PCI_INFO, |
520 | TNVLINK_IOCTL_SET_TOPOLOGY_INFO, | 520 | TNVLINK_IOCTL_SET_TOPOLOGY_INFO, |
521 | TNVLINK_IOCTL_INTERFACE_DISABLE, | ||
522 | TNVLINK_IOCTL_FINALIZE_SHUTDOWN, | ||
521 | TNVLINK_IOCTL_NUM_IOCTLS | 523 | TNVLINK_IOCTL_NUM_IOCTLS |
522 | }; | 524 | }; |
523 | 525 | ||
@@ -622,5 +624,11 @@ enum tnvlink_ioctl_num { | |||
622 | _IOW(TEGRA_NVLINK_IOC_MAGIC, \ | 624 | _IOW(TEGRA_NVLINK_IOC_MAGIC, \ |
623 | TNVLINK_IOCTL_SET_TOPOLOGY_INFO, \ | 625 | TNVLINK_IOCTL_SET_TOPOLOGY_INFO, \ |
624 | struct tegra_nvlink_set_topology_info) | 626 | struct tegra_nvlink_set_topology_info) |
627 | #define TEGRA_CTRL_CMD_NVLINK_INTERFACE_DISABLE \ | ||
628 | _IO(TEGRA_NVLINK_IOC_MAGIC, \ | ||
629 | TNVLINK_IOCTL_INTERFACE_DISABLE) | ||
630 | #define TEGRA_CTRL_CMD_NVLINK_FINALIZE_SHUTDOWN \ | ||
631 | _IO(TEGRA_NVLINK_IOC_MAGIC, \ | ||
632 | TNVLINK_IOCTL_FINALIZE_SHUTDOWN) | ||
625 | 633 | ||
626 | #endif /* TEGRA_NVLINK_UAPI_H */ | 634 | #endif /* TEGRA_NVLINK_UAPI_H */ |