home *** CD-ROM | disk | FTP | other *** search
-
- /* semfddis.h */
-
- /*****************************************************************************/
- /* NT IBM SDLC Adapter Device Driver: IBM SDLC adapter-specific stuff */
- /* */
- /* Note that this also includes codes for the 8255 registers. The reason */
- /* for this is that the designation of these bits and the use of the 8255 */
- /* is really defined by the SDLC adapter. This is in contrast to the 8273: */
- /* this has its own definition file because the command codes etc. really */
- /* are a property of the 8273 chip and not of the SDLC adapter. */
- /*****************************************************************************/
-
- /*****************************************************************************/
- /* AR_ : offsets to Adapter Registers */
- /*****************************************************************************/
-
- #define AR_Max 0x0F /* Max port in the IO Port range */
-
- #define AR_8255A 0x00 /* 8255 register A */
- #define AR_8255B 0x01 /* 8255 register B */
- #define AR_8255C 0x02 /* 8255 register C */
- #define AR_8255 0x03 /* 8255 mode set */
-
- #define AR_8273S 0x08 /* 8273 Command/Status register */
- #define AR_8273P 0x09 /* 8273 Parameter/Result register */
- #define AR_8273T 0x0A /* 8273 TX result */
- #define AR_8273R 0x0B /* 8273 RX result */
- #define AR_8273D 0x0C /* 8273 Data Buffer */
-
- #define AC_MPCAD 0x0F /* MPCA command: disable */
-
- /*****************************************************************************/
- /* Equates for port values on the 8255 */
- /*****************************************************************************/
-
- #define A55_ModeSet 0x98
- #define A55_Reset8273On 0x17
- #define A55_Reset8273Off 0x07
- #define A55_InitPortC 0xf2
- #define A55_ResetPortC 0xfc
- #define A55_ResetModemStatusCh 0x08
-
- /*****************************************************************************/
- /* This is the value in the MCA POS ID register defining an MPA/A adapter. */
- /*****************************************************************************/
- #define POS_MPAATypeID 0xdeff
-
- /*****************************************************************************/
- /* Macro to wait for particular state of 8273 */
- /*****************************************************************************/
- #define CVHMAXWT 64 /* Max times to poll 8273 before error */
-
- #define WAITUNTIL(pDX,Mask,OP,StopVal) \
- { \
- register int waitcnt = CVHMAXWT; \
- \
- while (waitcnt--) \
- { \
- LastWaitUntilStatus = IO_IN (pDX->ADAPTERBASE + AR_8273S); \
- if ((LastWaitUntilStatus & (Mask)) OP (StopVal)) \
- break; \
- if (waitcnt <= 1) \
- { \
- pDX->pIR->StatusArray[SA_HardwareError]++; \
- pDX->pIR->StatusCount++; \
- pDX->DPCAction |= DPC_ACTION_PULSE; \
- pDX->HardwareError = TRUE; /* can be tested by callers if nec. */ \
- TRACE_EVENT (WaTo); \
- ASSERT (FALSE); \
- break; \
- } \
- KeStallExecutionProcessor (1L); \
- } \
- }
-
-