Lines Matching +full:8 +full:- +full:channel
40 #define IOATIOC ('T'<< 8)
70 #define IOAT_CHANCNT 0x0 /* 8-bit */
71 #define IOAT_XFERCAP 0x1 /* 8-bit */
72 #define IOAT_GENCTRL 0x2 /* 8-bit */
73 #define IOAT_INTRCTL 0x3 /* 8-bit */
74 #define IOAT_ATTNSTATUS 0x4 /* 32-bit */
75 #define IOAT_CBVER 0x8 /* 8-bit */
76 #define IOAT_PERPORT_OFF 0xA /* 16-bit */
77 #define IOAT_INTRDELAY 0xC /* 16-bit */
78 #define IOAT_CSSTATUS 0xE /* 16-bit */
79 #define IOAT_DMACAPABILITY 0x10 /* 32-bit */
83 /* Channel Registers */
84 #define IOAT_CHAN_CTL 0x0 /* 16-bit */
85 #define IOAT_CHAN_COMP 0x2 /* 16-bit */
86 #define IOAT_CHAN_CMPL_LO 0x18 /* 32-bit */
87 #define IOAT_CHAN_CMPL_HI 0x1C /* 32-bit */
88 #define IOAT_CHAN_ERR 0x28 /* 32-bit */
89 #define IOAT_CHAN_ERRMASK 0x2C /* 32-bit */
90 #define IOAT_CHAN_DCACTRL 0x30 /* 32-bit */
92 #define IOAT_V1_CHAN_STS_LO 0x4 /* 32-bit */
93 #define IOAT_V1_CHAN_STS_HI 0x8 /* 32-bit */
94 #define IOAT_V1_CHAN_ADDR_LO 0x0C /* 32-bit */
95 #define IOAT_V1_CHAN_ADDR_HI 0x10 /* 32-bit */
96 #define IOAT_V1_CHAN_CMD 0x14 /* 8-bit */
98 #define IOAT_V2_CHAN_CMD 0x4 /* 8-bit */
99 #define IOAT_V2_CHAN_CNT 0x6 /* 16-bit */
100 #define IOAT_V2_CHAN_STS_LO 0x8 /* 32-bit */
101 #define IOAT_V2_CHAN_STS_HI 0xC /* 32-bit */
102 #define IOAT_V2_CHAN_ADDR_LO 0x10 /* 32-bit */
103 #define IOAT_V2_CHAN_ADDR_HI 0x14 /* 32-bit */
108 #define IOAT_CMPL_INDEX(channel) \ argument
109 (((*channel->ic_cmpl & IOAT_CHAN_STS_ADDR_MASK) - \
110 ring->cr_phys_desc) >> 6)
111 #define IOAT_CMPL_FAILED(channel) \ argument
112 (*channel->ic_cmpl & IOAT_CHAN_STS_FAIL_MASK)
220 /* back pointer to the channel state */
227 /* track channel state so we can handle a failure */
235 /* channel's ring state */
242 * state to determine if it's OK to post the the channel and if all
247 /* channel command cache (*_cmd_alloc, *_cmd_free, etc) */
256 /* channel specific registers */
259 /* if this channel is using DCA */
262 /* DCA ID the channel is currently pointing to */
265 /* devices channel number */
284 /* if inuse, we need to re-init the channel during resume */
307 /* channel state */
347 void ioat_channel_intr(ioat_channel_t channel);
348 int ioat_cmd_alloc(void *channel, int flags, dcopy_cmd_t *cmd);
349 void ioat_cmd_free(void *channel, dcopy_cmd_t *cmd);
350 int ioat_cmd_post(void *channel, dcopy_cmd_t cmd);
351 int ioat_cmd_poll(void *channel, dcopy_cmd_t cmd);