mlx5.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES
  4. *
  5. * These are definitions for the command interface for mlx5 HW. mlx5 FW has a
  6. * User Context mechanism which allows the FW to understand a security scope.
  7. * FWCTL binds each FD to a FW user context and then places the User Context ID
  8. * (UID) in each command header. The created User Context has a capability set
  9. * that is appropriate for FWCTL's security model.
  10. *
  11. * Command formation should use a copy of the structs in mlx5_ifc.h following
  12. * the Programmers Reference Manual. A open release is available here:
  13. *
  14. * https://network.nvidia.com/files/doc-2020/ethernet-adapters-programming-manual.pdf
  15. *
  16. * The device_type for this file is FWCTL_DEVICE_TYPE_MLX5.
  17. */
  18. #ifndef _FWCTL_MLX5_H
  19. #define _FWCTL_MLX5_H
  20. #include <linux/types.h>
  21. /**
  22. * struct fwctl_info_mlx5 - ioctl(FWCTL_INFO) out_device_data
  23. * @uid: The FW UID this FD is bound to. Each command header will force
  24. * this value.
  25. * @uctx_caps: The FW capabilities that are enabled for the uid.
  26. *
  27. * Return basic information about the FW interface available.
  28. */
  29. struct fwctl_info_mlx5 {
  30. __u32 uid;
  31. __u32 uctx_caps;
  32. };
  33. #endif