diff options
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/tegra-nvlink-uapi.h | 76 |
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 */ | ||
| 399 | enum 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 */ |
