skgesirq.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /******************************************************************************
  2. *
  3. * Name: skgesirq.h
  4. * Project: Gigabit Ethernet Adapters, Common Modules
  5. * Version: $Revision: 1.30 $
  6. * Date: $Date: 2003/07/04 12:34:13 $
  7. * Purpose: SK specific Gigabit Ethernet special IRQ functions
  8. *
  9. ******************************************************************************/
  10. /******************************************************************************
  11. *
  12. * (C)Copyright 1998-2002 SysKonnect.
  13. * (C)Copyright 2002-2003 Marvell.
  14. *
  15. * This program is free software; you can redistribute it and/or modify
  16. * it under the terms of the GNU General Public License as published by
  17. * the Free Software Foundation; either version 2 of the License, or
  18. * (at your option) any later version.
  19. *
  20. * The information in this file is provided "AS IS" without warranty.
  21. *
  22. ******************************************************************************/
  23. #ifndef _INC_SKGESIRQ_H_
  24. #define _INC_SKGESIRQ_H_
  25. /* Define return codes of SkGePortCheckUp and CheckShort */
  26. #define SK_HW_PS_NONE 0 /* No action needed */
  27. #define SK_HW_PS_RESTART 1 /* Restart needed */
  28. #define SK_HW_PS_LINK 2 /* Link Up actions needed */
  29. /*
  30. * Define the Event the special IRQ/INI module can handle
  31. */
  32. #define SK_HWEV_WATIM 1 /* Timeout for WA Errata #2 XMAC */
  33. #define SK_HWEV_PORT_START 2 /* Port Start Event by RLMT */
  34. #define SK_HWEV_PORT_STOP 3 /* Port Stop Event by RLMT */
  35. #define SK_HWEV_CLEAR_STAT 4 /* Clear Statistics by PNMI */
  36. #define SK_HWEV_UPDATE_STAT 5 /* Update Statistics by PNMI */
  37. #define SK_HWEV_SET_LMODE 6 /* Set Link Mode by PNMI */
  38. #define SK_HWEV_SET_FLOWMODE 7 /* Set Flow Control Mode by PNMI */
  39. #define SK_HWEV_SET_ROLE 8 /* Set Master/Slave (Role) by PNMI */
  40. #define SK_HWEV_SET_SPEED 9 /* Set Link Speed by PNMI */
  41. #define SK_HWEV_HALFDUP_CHK 10 /* Half Duplex Hangup Workaround */
  42. #define SK_WA_ACT_TIME (5000000UL) /* 5 sec */
  43. #define SK_WA_INA_TIME (100000UL) /* 100 msec */
  44. #define SK_HALFDUP_CHK_TIME (10000UL) /* 10 msec */
  45. /*
  46. * Define the error numbers and messages
  47. */
  48. #define SKERR_SIRQ_E001 (SK_ERRBASE_SIRQ+0)
  49. #define SKERR_SIRQ_E001MSG "Unknown event"
  50. #define SKERR_SIRQ_E002 (SKERR_SIRQ_E001+1)
  51. #define SKERR_SIRQ_E002MSG "Packet timeout RX1"
  52. #define SKERR_SIRQ_E003 (SKERR_SIRQ_E002+1)
  53. #define SKERR_SIRQ_E003MSG "Packet timeout RX2"
  54. #define SKERR_SIRQ_E004 (SKERR_SIRQ_E003+1)
  55. #define SKERR_SIRQ_E004MSG "MAC 1 not correctly initialized"
  56. #define SKERR_SIRQ_E005 (SKERR_SIRQ_E004+1)
  57. #define SKERR_SIRQ_E005MSG "MAC 2 not correctly initialized"
  58. #define SKERR_SIRQ_E006 (SKERR_SIRQ_E005+1)
  59. #define SKERR_SIRQ_E006MSG "CHECK failure R1"
  60. #define SKERR_SIRQ_E007 (SKERR_SIRQ_E006+1)
  61. #define SKERR_SIRQ_E007MSG "CHECK failure R2"
  62. #define SKERR_SIRQ_E008 (SKERR_SIRQ_E007+1)
  63. #define SKERR_SIRQ_E008MSG "CHECK failure XS1"
  64. #define SKERR_SIRQ_E009 (SKERR_SIRQ_E008+1)
  65. #define SKERR_SIRQ_E009MSG "CHECK failure XA1"
  66. #define SKERR_SIRQ_E010 (SKERR_SIRQ_E009+1)
  67. #define SKERR_SIRQ_E010MSG "CHECK failure XS2"
  68. #define SKERR_SIRQ_E011 (SKERR_SIRQ_E010+1)
  69. #define SKERR_SIRQ_E011MSG "CHECK failure XA2"
  70. #define SKERR_SIRQ_E012 (SKERR_SIRQ_E011+1)
  71. #define SKERR_SIRQ_E012MSG "unexpected IRQ Master error"
  72. #define SKERR_SIRQ_E013 (SKERR_SIRQ_E012+1)
  73. #define SKERR_SIRQ_E013MSG "unexpected IRQ Status error"
  74. #define SKERR_SIRQ_E014 (SKERR_SIRQ_E013+1)
  75. #define SKERR_SIRQ_E014MSG "Parity error on RAM (read)"
  76. #define SKERR_SIRQ_E015 (SKERR_SIRQ_E014+1)
  77. #define SKERR_SIRQ_E015MSG "Parity error on RAM (write)"
  78. #define SKERR_SIRQ_E016 (SKERR_SIRQ_E015+1)
  79. #define SKERR_SIRQ_E016MSG "Parity error MAC 1"
  80. #define SKERR_SIRQ_E017 (SKERR_SIRQ_E016+1)
  81. #define SKERR_SIRQ_E017MSG "Parity error MAC 2"
  82. #define SKERR_SIRQ_E018 (SKERR_SIRQ_E017+1)
  83. #define SKERR_SIRQ_E018MSG "Parity error RX 1"
  84. #define SKERR_SIRQ_E019 (SKERR_SIRQ_E018+1)
  85. #define SKERR_SIRQ_E019MSG "Parity error RX 2"
  86. #define SKERR_SIRQ_E020 (SKERR_SIRQ_E019+1)
  87. #define SKERR_SIRQ_E020MSG "MAC transmit FIFO underrun"
  88. #define SKERR_SIRQ_E021 (SKERR_SIRQ_E020+1)
  89. #define SKERR_SIRQ_E021MSG "Spurious TWSI interrupt"
  90. #define SKERR_SIRQ_E022 (SKERR_SIRQ_E021+1)
  91. #define SKERR_SIRQ_E022MSG "Cable pair swap error"
  92. #define SKERR_SIRQ_E023 (SKERR_SIRQ_E022+1)
  93. #define SKERR_SIRQ_E023MSG "Auto-negotiation error"
  94. #define SKERR_SIRQ_E024 (SKERR_SIRQ_E023+1)
  95. #define SKERR_SIRQ_E024MSG "FIFO overflow error"
  96. #define SKERR_SIRQ_E025 (SKERR_SIRQ_E024+1)
  97. #define SKERR_SIRQ_E025MSG "2 Pair Downshift detected"
  98. extern void SkGeSirqIsr(SK_AC *pAC, SK_IOC IoC, SK_U32 Istatus);
  99. extern int SkGeSirqEvent(SK_AC *pAC, SK_IOC IoC, SK_U32 Event, SK_EVPARA Para);
  100. extern void SkHWLinkDown(SK_AC *pAC, SK_IOC IoC, int Port);
  101. #endif /* _INC_SKGESIRQ_H_ */