bfa_defs_adapter.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
  3. * All rights reserved
  4. * www.brocade.com
  5. *
  6. * Linux driver for Brocade Fibre Channel Host Bus Adapter.
  7. *
  8. * This program is free software; you can redistribute it and/or modify it
  9. * under the terms of the GNU General Public License (GPL) Version 2 as
  10. * published by the Free Software Foundation
  11. *
  12. * This program is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * General Public License for more details.
  16. */
  17. #ifndef __BFA_DEFS_ADAPTER_H__
  18. #define __BFA_DEFS_ADAPTER_H__
  19. #include <protocol/types.h>
  20. #include <defs/bfa_defs_version.h>
  21. #include <defs/bfa_defs_mfg.h>
  22. /**
  23. * BFA adapter level attributes.
  24. */
  25. enum {
  26. BFA_ADAPTER_SERIAL_NUM_LEN = STRSZ(BFA_MFG_SERIALNUM_SIZE),
  27. /*
  28. *!< adapter serial num length
  29. */
  30. BFA_ADAPTER_MODEL_NAME_LEN = 16, /* model name length */
  31. BFA_ADAPTER_MODEL_DESCR_LEN = 128, /* model description length */
  32. BFA_ADAPTER_MFG_NAME_LEN = 8, /* manufacturer name length */
  33. BFA_ADAPTER_SYM_NAME_LEN = 64, /* adapter symbolic name length */
  34. BFA_ADAPTER_OS_TYPE_LEN = 64, /* adapter os type length */
  35. };
  36. struct bfa_adapter_attr_s {
  37. char manufacturer[BFA_ADAPTER_MFG_NAME_LEN];
  38. char serial_num[BFA_ADAPTER_SERIAL_NUM_LEN];
  39. u32 rsvd1;
  40. char model[BFA_ADAPTER_MODEL_NAME_LEN];
  41. char model_descr[BFA_ADAPTER_MODEL_DESCR_LEN];
  42. wwn_t pwwn;
  43. char node_symname[FC_SYMNAME_MAX];
  44. char hw_ver[BFA_VERSION_LEN];
  45. char fw_ver[BFA_VERSION_LEN];
  46. char optrom_ver[BFA_VERSION_LEN];
  47. char os_type[BFA_ADAPTER_OS_TYPE_LEN];
  48. struct bfa_mfg_vpd_s vpd;
  49. struct mac_s mac;
  50. u8 nports;
  51. u8 max_speed;
  52. u8 prototype;
  53. char asic_rev;
  54. u8 pcie_gen;
  55. u8 pcie_lanes_orig;
  56. u8 pcie_lanes;
  57. u8 cna_capable;
  58. };
  59. /**
  60. * BFA adapter level events
  61. * Arguments below are in BFAL context from Mgmt
  62. * BFA_PORT_AEN_ADD: [in]: None [out]: serial_num, pwwn, nports
  63. * BFA_PORT_AEN_REMOVE: [in]: pwwn [out]: serial_num, pwwn, nports
  64. */
  65. enum bfa_adapter_aen_event {
  66. BFA_ADAPTER_AEN_ADD = 1, /* New Adapter found event */
  67. BFA_ADAPTER_AEN_REMOVE = 2, /* Adapter removed event */
  68. };
  69. struct bfa_adapter_aen_data_s {
  70. char serial_num[BFA_ADAPTER_SERIAL_NUM_LEN];
  71. u32 nports; /* Number of NPorts */
  72. wwn_t pwwn; /* WWN of one of its physical port */
  73. };
  74. #endif /* __BFA_DEFS_ADAPTER_H__ */