summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/tegra-nvlink-uapi.h76
1 files changed, 54 insertions, 22 deletions
diff --git a/include/uapi/linux/tegra-nvlink-uapi.h b/include/uapi/linux/tegra-nvlink-uapi.h
index 6ce53f703..88390430d 100644
--- a/include/uapi/linux/tegra-nvlink-uapi.h
+++ b/include/uapi/linux/tegra-nvlink-uapi.h
@@ -395,29 +395,61 @@ struct tegra_nvlink_clear_lp_counters {
395 __u32 link_id; 395 __u32 link_id;
396}; 396};
397 397
398/* Enum to represent IOCTLs inside the Tegra NVLINK driver */
399enum tnvlink_ioctl_num {
400 TNVLINK_IOCTL_GET_NVLINK_CAPS,
401 TNVLINK_IOCTL_GET_NVLINK_STATUS,
402 TNVLINK_IOCTL_CLEAR_COUNTERS,
403 TNVLINK_IOCTL_GET_COUNTERS,
404 TNVLINK_IOCTL_GET_ERR_INFO,
405 TNVLINK_IOCTL_GET_ERROR_RECOVERIES,
406 TNVLINK_IOCTL_SETUP_EOM,
407 TNVLINK_IOCTL_TRAIN_INTRANODE_CONN,
408 TNVLINK_IOCTL_GET_LP_COUNTERS,
409 TNVLINK_IOCTL_CLEAR_LP_COUNTERS,
410};
411
398/* TODO: choose a unique MAGIC number for ioctl implementation */ 412/* TODO: choose a unique MAGIC number for ioctl implementation */
399#define TEGRA_NVLINK_IOC_MAGIC 'T' 413#define TEGRA_NVLINK_IOC_MAGIC 'T'
400#define TEGRA_CTRL_CMD_NVLINK_GET_NVLINK_CAPS \ 414#define TEGRA_CTRL_CMD_NVLINK_GET_NVLINK_CAPS \
401 _IOR(TEGRA_NVLINK_IOC_MAGIC, 1, struct tegra_nvlink_caps) 415 _IOR(TEGRA_NVLINK_IOC_MAGIC, \
402#define TEGRA_CTRL_CMD_NVLINK_GET_NVLINK_STATUS \ 416 TNVLINK_IOCTL_GET_NVLINK_CAPS, \
403 _IOR(TEGRA_NVLINK_IOC_MAGIC, 2, struct tegra_nvlink_status) 417 struct tegra_nvlink_caps)
404#define TEGRA_CTRL_CMD_NVLINK_CLEAR_COUNTERS \ 418#define TEGRA_CTRL_CMD_NVLINK_GET_NVLINK_STATUS \
405 _IOW(TEGRA_NVLINK_IOC_MAGIC, 3, struct tegra_nvlink_clear_counters) 419 _IOR(TEGRA_NVLINK_IOC_MAGIC, \
406#define TEGRA_CTRL_CMD_NVLINK_GET_COUNTERS \ 420 TNVLINK_IOCTL_GET_NVLINK_STATUS, \
407 _IOWR(TEGRA_NVLINK_IOC_MAGIC, 4, struct tegra_nvlink_get_counters) 421 struct tegra_nvlink_status)
408#define TEGRA_CTRL_CMD_NVLINK_GET_ERR_INFO \ 422#define TEGRA_CTRL_CMD_NVLINK_CLEAR_COUNTERS \
409 _IOR(TEGRA_NVLINK_IOC_MAGIC, 5, struct tegra_nvlink_get_err_info) 423 _IOW(TEGRA_NVLINK_IOC_MAGIC, \
410#define TEGRA_CTRL_CMD_NVLINK_GET_ERROR_RECOVERIES \ 424 TNVLINK_IOCTL_CLEAR_COUNTERS, \
411 _IOWR(TEGRA_NVLINK_IOC_MAGIC, 6, \ 425 struct tegra_nvlink_clear_counters)
412 struct tegra_nvlink_get_error_recoveries) 426#define TEGRA_CTRL_CMD_NVLINK_GET_COUNTERS \
413#define TEGRA_CTRL_CMD_NVLINK_SETUP_EOM \ 427 _IOWR(TEGRA_NVLINK_IOC_MAGIC, \
414 _IOW(TEGRA_NVLINK_IOC_MAGIC, 7, struct tegra_nvlink_setup_eom) 428 TNVLINK_IOCTL_GET_COUNTERS, \
415#define TEGRA_CTRL_NVLINK_TRAIN_INTRANODE_CONN \ 429 struct tegra_nvlink_get_counters)
416 _IOWR(TEGRA_NVLINK_IOC_MAGIC, 8, \ 430#define TEGRA_CTRL_CMD_NVLINK_GET_ERR_INFO \
417 struct tegra_nvlink_train_intranode_conn) 431 _IOR(TEGRA_NVLINK_IOC_MAGIC, \
418#define TEGRA_CTRL_CMD_NVLINK_GET_LP_COUNTERS \ 432 TNVLINK_IOCTL_GET_ERR_INFO, \
419 _IOWR(TEGRA_NVLINK_IOC_MAGIC, 9, struct tegra_nvlink_get_lp_counters) 433 struct tegra_nvlink_get_err_info)
420#define TEGRA_CTRL_CMD_NVLINK_CLEAR_LP_COUNTERS \ 434#define TEGRA_CTRL_CMD_NVLINK_GET_ERROR_RECOVERIES \
421 _IOW(TEGRA_NVLINK_IOC_MAGIC, 10, struct tegra_nvlink_clear_lp_counters) 435 _IOWR(TEGRA_NVLINK_IOC_MAGIC, \
436 TNVLINK_IOCTL_GET_ERROR_RECOVERIES, \
437 struct tegra_nvlink_get_error_recoveries)
438#define TEGRA_CTRL_CMD_NVLINK_SETUP_EOM \
439 _IOW(TEGRA_NVLINK_IOC_MAGIC, \
440 TNVLINK_IOCTL_SETUP_EOM, \
441 struct tegra_nvlink_setup_eom)
442#define TEGRA_CTRL_NVLINK_TRAIN_INTRANODE_CONN \
443 _IOWR(TEGRA_NVLINK_IOC_MAGIC, \
444 TNVLINK_IOCTL_TRAIN_INTRANODE_CONN, \
445 struct tegra_nvlink_train_intranode_conn)
446#define TEGRA_CTRL_CMD_NVLINK_GET_LP_COUNTERS \
447 _IOWR(TEGRA_NVLINK_IOC_MAGIC, \
448 TNVLINK_IOCTL_GET_LP_COUNTERS, \
449 struct tegra_nvlink_get_lp_counters)
450#define TEGRA_CTRL_CMD_NVLINK_CLEAR_LP_COUNTERS \
451 _IOW(TEGRA_NVLINK_IOC_MAGIC, \
452 TNVLINK_IOCTL_CLEAR_LP_COUNTERS, \
453 struct tegra_nvlink_clear_lp_counters)
422 454
423#endif /* TEGRA_NVLINK_UAPI_H */ 455#endif /* TEGRA_NVLINK_UAPI_H */