qeth_fs.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /*
  2. * linux/drivers/s390/net/qeth_fs.h
  3. *
  4. * Linux on zSeries OSA Express and HiperSockets support.
  5. *
  6. * This header file contains definitions related to sysfs and procfs.
  7. *
  8. * Copyright 2000,2003 IBM Corporation
  9. * Author(s): Thomas Spatzier <tspat@de.ibm.com>
  10. *
  11. */
  12. #ifndef __QETH_FS_H__
  13. #define __QETH_FS_H__
  14. #ifdef CONFIG_PROC_FS
  15. extern int
  16. qeth_create_procfs_entries(void);
  17. extern void
  18. qeth_remove_procfs_entries(void);
  19. #else
  20. static inline int
  21. qeth_create_procfs_entries(void)
  22. {
  23. return 0;
  24. }
  25. static inline void
  26. qeth_remove_procfs_entries(void)
  27. {
  28. }
  29. #endif /* CONFIG_PROC_FS */
  30. extern int
  31. qeth_create_device_attributes(struct device *dev);
  32. extern void
  33. qeth_remove_device_attributes(struct device *dev);
  34. extern int
  35. qeth_create_device_attributes_osn(struct device *dev);
  36. extern void
  37. qeth_remove_device_attributes_osn(struct device *dev);
  38. extern int
  39. qeth_create_driver_attributes(void);
  40. extern void
  41. qeth_remove_driver_attributes(void);
  42. /*
  43. * utility functions used in qeth_proc.c and qeth_sys.c
  44. */
  45. static inline const char *
  46. qeth_get_checksum_str(struct qeth_card *card)
  47. {
  48. if (card->options.checksum_type == SW_CHECKSUMMING)
  49. return "sw";
  50. else if (card->options.checksum_type == HW_CHECKSUMMING)
  51. return "hw";
  52. else
  53. return "no";
  54. }
  55. static inline const char *
  56. qeth_get_prioq_str(struct qeth_card *card, char *buf)
  57. {
  58. if (card->qdio.do_prio_queueing == QETH_NO_PRIO_QUEUEING)
  59. sprintf(buf, "always_q_%i", card->qdio.default_out_queue);
  60. else
  61. strcpy(buf, (card->qdio.do_prio_queueing ==
  62. QETH_PRIO_Q_ING_PREC)?
  63. "by_prec." : "by_ToS");
  64. return buf;
  65. }
  66. static inline const char *
  67. qeth_get_bufsize_str(struct qeth_card *card)
  68. {
  69. if (card->qdio.in_buf_size == 16384)
  70. return "16k";
  71. else if (card->qdio.in_buf_size == 24576)
  72. return "24k";
  73. else if (card->qdio.in_buf_size == 32768)
  74. return "32k";
  75. else if (card->qdio.in_buf_size == 40960)
  76. return "40k";
  77. else
  78. return "64k";
  79. }
  80. static inline const char *
  81. qeth_get_cardname(struct qeth_card *card)
  82. {
  83. if (card->info.guestlan) {
  84. switch (card->info.type) {
  85. case QETH_CARD_TYPE_OSAE:
  86. return " Guest LAN QDIO";
  87. case QETH_CARD_TYPE_IQD:
  88. return " Guest LAN Hiper";
  89. default:
  90. return " unknown";
  91. }
  92. } else {
  93. switch (card->info.type) {
  94. case QETH_CARD_TYPE_OSAE:
  95. return " OSD Express";
  96. case QETH_CARD_TYPE_IQD:
  97. return " HiperSockets";
  98. case QETH_CARD_TYPE_OSN:
  99. return " OSN QDIO";
  100. default:
  101. return " unknown";
  102. }
  103. }
  104. return " n/a";
  105. }
  106. /* max length to be returned: 14 */
  107. static inline const char *
  108. qeth_get_cardname_short(struct qeth_card *card)
  109. {
  110. if (card->info.guestlan){
  111. switch (card->info.type){
  112. case QETH_CARD_TYPE_OSAE:
  113. return "GuestLAN QDIO";
  114. case QETH_CARD_TYPE_IQD:
  115. return "GuestLAN Hiper";
  116. default:
  117. return "unknown";
  118. }
  119. } else {
  120. switch (card->info.type) {
  121. case QETH_CARD_TYPE_OSAE:
  122. switch (card->info.link_type) {
  123. case QETH_LINK_TYPE_FAST_ETH:
  124. return "OSD_100";
  125. case QETH_LINK_TYPE_HSTR:
  126. return "HSTR";
  127. case QETH_LINK_TYPE_GBIT_ETH:
  128. return "OSD_1000";
  129. case QETH_LINK_TYPE_10GBIT_ETH:
  130. return "OSD_10GIG";
  131. case QETH_LINK_TYPE_LANE_ETH100:
  132. return "OSD_FE_LANE";
  133. case QETH_LINK_TYPE_LANE_TR:
  134. return "OSD_TR_LANE";
  135. case QETH_LINK_TYPE_LANE_ETH1000:
  136. return "OSD_GbE_LANE";
  137. case QETH_LINK_TYPE_LANE:
  138. return "OSD_ATM_LANE";
  139. default:
  140. return "OSD_Express";
  141. }
  142. case QETH_CARD_TYPE_IQD:
  143. return "HiperSockets";
  144. case QETH_CARD_TYPE_OSN:
  145. return "OSN";
  146. default:
  147. return "unknown";
  148. }
  149. }
  150. return "n/a";
  151. }
  152. #endif /* __QETH_FS_H__ */