vnic_scsi.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright 2008 Cisco Systems, Inc. All rights reserved.
  4. * Copyright 2007 Nuova Systems, Inc. All rights reserved.
  5. */
  6. #ifndef _VNIC_SCSI_H_
  7. #define _VNIC_SCSI_H_
  8. #define VNIC_FNIC_WQ_COPY_COUNT_MIN 1
  9. #define VNIC_FNIC_WQ_COPY_COUNT_MAX 1
  10. #define VNIC_FNIC_WQ_DESCS_MIN 64
  11. #define VNIC_FNIC_WQ_DESCS_MAX 128
  12. #define VNIC_FNIC_WQ_COPY_DESCS_MIN 64
  13. #define VNIC_FNIC_WQ_COPY_DESCS_MAX 512
  14. #define VNIC_FNIC_RQ_DESCS_MIN 64
  15. #define VNIC_FNIC_RQ_DESCS_MAX 128
  16. #define VNIC_FNIC_EDTOV_MIN 1000
  17. #define VNIC_FNIC_EDTOV_MAX 255000
  18. #define VNIC_FNIC_EDTOV_DEF 2000
  19. #define VNIC_FNIC_RATOV_MIN 1000
  20. #define VNIC_FNIC_RATOV_MAX 255000
  21. #define VNIC_FNIC_MAXDATAFIELDSIZE_MIN 256
  22. #define VNIC_FNIC_MAXDATAFIELDSIZE_MAX 2112
  23. #define VNIC_FNIC_FLOGI_RETRIES_MIN 0
  24. #define VNIC_FNIC_FLOGI_RETRIES_MAX 0xffffffff
  25. #define VNIC_FNIC_FLOGI_RETRIES_DEF 0xffffffff
  26. #define VNIC_FNIC_FLOGI_TIMEOUT_MIN 1000
  27. #define VNIC_FNIC_FLOGI_TIMEOUT_MAX 255000
  28. #define VNIC_FNIC_PLOGI_RETRIES_MIN 0
  29. #define VNIC_FNIC_PLOGI_RETRIES_MAX 255
  30. #define VNIC_FNIC_PLOGI_RETRIES_DEF 8
  31. #define VNIC_FNIC_PLOGI_TIMEOUT_MIN 1000
  32. #define VNIC_FNIC_PLOGI_TIMEOUT_MAX 255000
  33. #define VNIC_FNIC_IO_THROTTLE_COUNT_MIN 1
  34. #define VNIC_FNIC_IO_THROTTLE_COUNT_MAX 2048
  35. #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MIN 0
  36. #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MAX 240000
  37. #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MIN 0
  38. #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MAX 240000
  39. #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MIN 0
  40. #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MAX 255
  41. #define VNIC_FNIC_LUNS_PER_TARGET_MIN 1
  42. #define VNIC_FNIC_LUNS_PER_TARGET_MAX 1024
  43. /* Device-specific region: scsi configuration */
  44. struct vnic_fc_config {
  45. u64 node_wwn;
  46. u64 port_wwn;
  47. u32 flags;
  48. u32 wq_enet_desc_count;
  49. u32 wq_copy_desc_count;
  50. u32 rq_desc_count;
  51. u32 flogi_retries;
  52. u32 flogi_timeout;
  53. u32 plogi_retries;
  54. u32 plogi_timeout;
  55. u32 io_throttle_count;
  56. u32 link_down_timeout;
  57. u32 port_down_timeout;
  58. u32 port_down_io_retries;
  59. u32 luns_per_tgt;
  60. u16 maxdatafieldsize;
  61. u16 ed_tov;
  62. u16 ra_tov;
  63. u16 intr_timer;
  64. u8 intr_timer_type;
  65. };
  66. #define VFCF_FCP_SEQ_LVL_ERR 0x1 /* Enable FCP-2 Error Recovery */
  67. #define VFCF_PERBI 0x2 /* persistent binding info available */
  68. #define VFCF_FIP_CAPABLE 0x4 /* firmware can handle FIP */
  69. #endif /* _VNIC_SCSI_H_ */