i40e_debug.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* Copyright(c) 2023 Intel Corporation. */
  3. #ifndef _I40E_DEBUG_H_
  4. #define _I40E_DEBUG_H_
  5. #include <linux/dev_printk.h>
  6. /* debug masks - set these bits in hw->debug_mask to control output */
  7. enum i40e_debug_mask {
  8. I40E_DEBUG_INIT = 0x00000001,
  9. I40E_DEBUG_RELEASE = 0x00000002,
  10. I40E_DEBUG_LINK = 0x00000010,
  11. I40E_DEBUG_PHY = 0x00000020,
  12. I40E_DEBUG_HMC = 0x00000040,
  13. I40E_DEBUG_NVM = 0x00000080,
  14. I40E_DEBUG_LAN = 0x00000100,
  15. I40E_DEBUG_FLOW = 0x00000200,
  16. I40E_DEBUG_DCB = 0x00000400,
  17. I40E_DEBUG_DIAG = 0x00000800,
  18. I40E_DEBUG_FD = 0x00001000,
  19. I40E_DEBUG_PACKAGE = 0x00002000,
  20. I40E_DEBUG_IWARP = 0x00F00000,
  21. I40E_DEBUG_AQ_MESSAGE = 0x01000000,
  22. I40E_DEBUG_AQ_DESCRIPTOR = 0x02000000,
  23. I40E_DEBUG_AQ_DESC_BUFFER = 0x04000000,
  24. I40E_DEBUG_AQ_COMMAND = 0x06000000,
  25. I40E_DEBUG_AQ = 0x0F000000,
  26. I40E_DEBUG_USER = 0xF0000000,
  27. I40E_DEBUG_ALL = 0xFFFFFFFF
  28. };
  29. struct i40e_hw;
  30. struct device *i40e_hw_to_dev(struct i40e_hw *hw);
  31. #define hw_dbg(hw, S, A...) dev_dbg(i40e_hw_to_dev(hw), S, ##A)
  32. #define hw_warn(hw, S, A...) dev_warn(i40e_hw_to_dev(hw), S, ##A)
  33. #define i40e_debug(h, m, s, ...) \
  34. do { \
  35. if (((m) & (h)->debug_mask)) \
  36. dev_info(i40e_hw_to_dev(hw), s, ##__VA_ARGS__); \
  37. } while (0)
  38. #endif /* _I40E_DEBUG_H_ */