Lines Matching defs:ecppunit

109 struct ecppunit {  struct
110 kmutex_t umutex; /* lock for this structure */
111 int instance; /* instance number */
112 dev_info_t *dip; /* device information */
113 ddi_iblock_cookie_t ecpp_trap_cookie; /* interrupt cookie */
114 ecpp_busy_t e_busy; /* ecpp busy flag */
115 kcondvar_t pport_cv; /* cv to signal idle state */
119 struct info_reg *i_reg; /* info registers */
120 struct fifo_reg *f_reg; /* fifo register */
121 ddi_acc_handle_t i_handle;
122 ddi_acc_handle_t f_handle;
126 ddi_dma_handle_t dma_handle; /* DMA handle */
127 ddi_dma_cookie_t dma_cookie; /* current cookie */
128 uint_t dma_cookie_count; /* # of cookies */
129 uint_t dma_nwin; /* # of DMA windows */
130 uint_t dma_curwin; /* current window number */
131 uint_t dma_dir; /* transfer direction */
135 struct ecpp_hw *hw; /* operations/attributes */
136 union { /* hw-dependent data */
142 } uh;
146 boolean_t oflag; /* instance open flag */
147 queue_t *readq; /* pointer to readq */
148 queue_t *writeq; /* pointer to writeq */
149 mblk_t *msg; /* current message block */
150 boolean_t suspended; /* driver suspended status */
154 int current_mode; /* 1284 mode */
155 uchar_t current_phase; /* 1284 phase */
156 uchar_t backchannel; /* backchannel mode supported */
157 uchar_t io_mode; /* transfer mode: PIO/DMA */
161 struct ecpp_transfer_parms xfer_parms; /* transfer parameters */
162 struct ecpp_regs regs; /* control/status registers */
163 uint8_t saved_dsr; /* store the dsr returned from TESTIO */
164 boolean_t timeout_error; /* store the timeout for GETERR */
165 uchar_t port; /* xfer type: dma/pio/tfifo */
166 struct prn_timeouts prn_timeouts; /* prnio timeouts */
170 uchar_t init_seq; /* centronics init seq */
171 uint32_t wsrv_retry; /* delay (ms) before next wsrv */
172 uint32_t wait_for_busy; /* wait for BUSY to deassert */
173 uint32_t data_setup_time; /* pio centronics handshake */
174 uint32_t strobe_pulse_width; /* pio centronics handshake */
175 uint8_t fast_centronics; /* DMA/PIO centronics */
176 uint8_t fast_compat; /* DMA/PIO 1284 compatible mode */
177 uint32_t ecp_rev_speed; /* rev xfer speed in ECP, bytes/sec */
178 uint32_t rev_watchdog; /* rev xfer watchdog period, ms */
182 timeout_id_t timeout_id; /* io transfers timer */
183 timeout_id_t fifo_timer_id; /* drain SuperIO FIFO */
184 timeout_id_t wsrv_timer_id; /* wsrv timeout */
188 ddi_softintr_t softintr_id;
189 int softintr_flags; /* flags indicating softintr task */
190 uint8_t softintr_pending;
194 caddr_t ioblock; /* transfer buffer block */
195 size_t xfercnt; /* # of bytes to transfer */
196 size_t resid; /* # of bytes not transferred */
197 caddr_t next_byte; /* next byte for PIO transfer */
198 caddr_t last_byte; /* last byte for PIO transfer */
199 uint32_t ecpp_drain_counter; /* allows fifo to drain */
200 uchar_t dma_cancelled; /* flushed while dma'ing */
201 uint8_t tfifo_intr; /* TFIFO switch interrupt workaround */
202 size_t nread; /* requested read */
203 size_t last_dmacnt; /* DMA counter value for rev watchdog */
204 uint32_t rev_timeout_cnt; /* number of watchdog invocations */
208 hrtime_t lastspur; /* last time spurious intrs started */
209 long nspur; /* spurious intrs counter */
213 kstat_t *ksp; /* kstat pointer */
214 kstat_t *intrstats; /* kstat interrupt counter */
241 _NOTE(MUTEX_PROTECTS_DATA(ecppunit::umutex, ecppunit)) argument