Lines Matching refs:chan
340 int iop_listen(uint iop_num, uint chan,
345 if (chan >= NUM_IOP_CHAN) return -EINVAL;
346 if (iop_listeners[iop_num][chan].handler && handler) return -EINVAL;
347 iop_listeners[iop_num][chan].devname = devname;
348 iop_listeners[iop_num][chan].handler = handler;
361 int chan = msg->channel;
365 printk("iop_complete(%p): iop %d chan %d\n", msg, msg->iop_num, msg->channel);
375 IOP_ADDR_RECV_STATE + chan, IOP_MSG_COMPLETE);
406 static void iop_handle_send(uint iop_num, uint chan, struct pt_regs *regs)
413 printk("iop_handle_send: iop %d channel %d\n", iop_num, chan);
416 iop_writeb(iop, IOP_ADDR_SEND_STATE + chan, IOP_MSG_IDLE);
418 if (!(msg = iop_send_queue[iop_num][chan])) return;
421 offset = IOP_ADDR_SEND_MSG + (chan * IOP_MSG_LEN);
430 iop_send_queue[iop_num][chan] = msg;
439 static void iop_handle_recv(uint iop_num, uint chan, struct pt_regs *regs)
446 printk("iop_handle_recv: iop %d channel %d\n", iop_num, chan);
451 msg->channel = chan;
453 msg->handler = iop_listeners[iop_num][chan].handler;
455 offset = IOP_ADDR_RECV_MSG + (chan * IOP_MSG_LEN);
461 iop_writeb(iop, IOP_ADDR_RECV_STATE + chan, IOP_MSG_RCVD);
470 printk("iop_handle_recv: unclaimed message on iop %d channel %d\n", iop_num, chan);
489 int iop_send_message(uint iop_num, uint chan, void *privdata,
496 if (chan >= NUM_IOP_CHAN) return -EINVAL;
505 msg->channel = chan;
510 if (!(q = iop_send_queue[iop_num][chan])) {
511 iop_send_queue[iop_num][chan] = msg;
518 IOP_ADDR_SEND_STATE + chan) == IOP_MSG_IDLE) {