Lines Matching refs:iop
154 static __inline__ void iop_loadaddr(volatile struct mac_iop *iop, __u16 addr) in iop_loadaddr() argument
156 iop->ram_addr_lo = addr; in iop_loadaddr()
157 iop->ram_addr_hi = addr >> 8; in iop_loadaddr()
160 static __inline__ __u8 iop_readb(volatile struct mac_iop *iop, __u16 addr) in iop_readb() argument
162 iop->ram_addr_lo = addr; in iop_readb()
163 iop->ram_addr_hi = addr >> 8; in iop_readb()
164 return iop->ram_data; in iop_readb()
167 static __inline__ void iop_writeb(volatile struct mac_iop *iop, __u16 addr, __u8 data) in iop_writeb() argument
169 iop->ram_addr_lo = addr; in iop_writeb()
170 iop->ram_addr_hi = addr >> 8; in iop_writeb()
171 iop->ram_data = data; in iop_writeb()
174 static __inline__ void iop_stop(volatile struct mac_iop *iop) in iop_stop() argument
176 iop->status_ctrl &= ~IOP_RUN; in iop_stop()
179 static __inline__ void iop_start(volatile struct mac_iop *iop) in iop_start() argument
181 iop->status_ctrl = IOP_RUN | IOP_AUTOINC; in iop_start()
184 static __inline__ void iop_bypass(volatile struct mac_iop *iop) in iop_bypass() argument
186 iop->status_ctrl |= IOP_BYPASS; in iop_bypass()
189 static __inline__ void iop_interrupt(volatile struct mac_iop *iop) in iop_interrupt() argument
191 iop->status_ctrl |= IOP_IRQ; in iop_interrupt()
194 static int iop_alive(volatile struct mac_iop *iop) in iop_alive() argument
198 retval = (iop_readb(iop, IOP_ADDR_ALIVE) == 0xFF); in iop_alive()
199 iop_writeb(iop, IOP_ADDR_ALIVE, 0); in iop_alive()
375 volatile struct mac_iop *iop = iop_base[msg->iop_num]; in iop_do_send() local
381 iop_writeb(iop, offset, msg->message[i]); in iop_do_send()
384 iop_writeb(iop, IOP_ADDR_SEND_STATE + msg->channel, IOP_MSG_NEW); in iop_do_send()
386 iop_interrupt(iop); in iop_do_send()
396 volatile struct mac_iop *iop = iop_base[iop_num]; in iop_handle_send() local
404 iop_writeb(iop, IOP_ADDR_SEND_STATE + chan, IOP_MSG_IDLE); in iop_handle_send()
411 msg->reply[i] = iop_readb(iop, offset); in iop_handle_send()
429 volatile struct mac_iop *iop = iop_base[iop_num]; in iop_handle_recv() local
446 msg->message[i] = iop_readb(iop, offset); in iop_handle_recv()
449 iop_writeb(iop, IOP_ADDR_RECV_STATE + chan, IOP_MSG_RCVD); in iop_handle_recv()
574 volatile struct mac_iop *iop = iop_base[iop_num]; in iop_ism_irq() local
578 printk("iop_ism_irq: status = %02X\n", (uint) iop->status_ctrl); in iop_ism_irq()
583 if (iop->status_ctrl & IOP_INT0) { in iop_ism_irq()
584 iop->status_ctrl = IOP_INT0 | IOP_RUN | IOP_AUTOINC; in iop_ism_irq()
587 (uint) iop->status_ctrl); in iop_ism_irq()
590 state = iop_readb(iop, IOP_ADDR_SEND_STATE + i); in iop_ism_irq()
603 if (iop->status_ctrl & IOP_INT1) { /* INT1 for incoming msgs */ in iop_ism_irq()
604 iop->status_ctrl = IOP_INT1 | IOP_RUN | IOP_AUTOINC; in iop_ism_irq()
607 (uint) iop->status_ctrl); in iop_ism_irq()
610 state = iop_readb(iop, IOP_ADDR_RECV_STATE + i); in iop_ism_irq()