[PATCH] missing readb/readw in rio
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
0645819196
Коммит
92af11cdec
|
@ -407,12 +407,12 @@ static int RIOCommandRup(struct rio_info *p, uint Rup, struct Host *HostP, struc
|
||||||
} else
|
} else
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "CONTROL information: This is the RUP for link ``%c'' of host ``%s''\n", ('A' + Rup - MAX_RUP), HostP->Name);
|
rio_dprintk(RIO_DEBUG_CMD, "CONTROL information: This is the RUP for link ``%c'' of host ``%s''\n", ('A' + Rup - MAX_RUP), HostP->Name);
|
||||||
|
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Destination 0x%x:0x%x\n", PacketP->dest_unit, PacketP->dest_port);
|
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Destination 0x%x:0x%x\n", readb(&PacketP->dest_unit), readb(&PacketP->dest_port));
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Source 0x%x:0x%x\n", PacketP->src_unit, PacketP->src_port);
|
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Source 0x%x:0x%x\n", readb(&PacketP->src_unit), readb(&PacketP->src_port));
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Length 0x%x (%d)\n", PacketP->len, PacketP->len);
|
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Length 0x%x (%d)\n", readb(&PacketP->len), readb(&PacketP->len));
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Control 0x%x (%d)\n", PacketP->control, PacketP->control);
|
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Control 0x%x (%d)\n", readb(&PacketP->control), readb(&PacketP->control));
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Check 0x%x (%d)\n", PacketP->csum, PacketP->csum);
|
rio_dprintk(RIO_DEBUG_CMD, "PACKET information: Check 0x%x (%d)\n", readw(&PacketP->csum), readw(&PacketP->csum));
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "COMMAND information: Host Port Number 0x%x, " "Command Code 0x%x\n", PktCmdP->PhbNum, PktCmdP->Command);
|
rio_dprintk(RIO_DEBUG_CMD, "COMMAND information: Host Port Number 0x%x, " "Command Code 0x%x\n", readb(&PktCmdP->PhbNum), readb(&PktCmdP->Command));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
PortP = p->RIOPortp[SysPort];
|
PortP = p->RIOPortp[SysPort];
|
||||||
|
@ -601,7 +601,7 @@ int RIOQueueCmdBlk(struct Host *HostP, uint Rup, struct CmdBlk *CmdBlkP)
|
||||||
/*
|
/*
|
||||||
** Whammy! blat that pack!
|
** Whammy! blat that pack!
|
||||||
*/
|
*/
|
||||||
HostP->Copy(&CmdBlkP->Packet, RIO_PTR(HostP->Caddr, UnixRupP->RupP->txpkt), sizeof(struct PKT));
|
HostP->Copy(&CmdBlkP->Packet, RIO_PTR(HostP->Caddr, readw(&UnixRupP->RupP->txpkt)), sizeof(struct PKT));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** place command packet on the pending position.
|
** place command packet on the pending position.
|
||||||
|
@ -694,8 +694,8 @@ void RIOPollHostCommands(struct rio_info *p, struct Host *HostP)
|
||||||
*/
|
*/
|
||||||
rio_spin_unlock_irqrestore(&UnixRupP->RupLock, flags);
|
rio_spin_unlock_irqrestore(&UnixRupP->RupLock, flags);
|
||||||
FreeMe = RIOCommandRup(p, Rup, HostP, PacketP);
|
FreeMe = RIOCommandRup(p, Rup, HostP, PacketP);
|
||||||
if (PacketP->data[5] == MEMDUMP) {
|
if (readb(&PacketP->data[5]) == MEMDUMP) {
|
||||||
rio_dprintk(RIO_DEBUG_CMD, "Memdump from 0x%x complete\n", *(unsigned short *) & (PacketP->data[6]));
|
rio_dprintk(RIO_DEBUG_CMD, "Memdump from 0x%x complete\n", readw(&(PacketP->data[6])));
|
||||||
rio_memcpy_fromio(p->RIOMemDump, &(PacketP->data[8]), 32);
|
rio_memcpy_fromio(p->RIOMemDump, &(PacketP->data[8]), 32);
|
||||||
}
|
}
|
||||||
rio_spin_lock_irqsave(&UnixRupP->RupLock, flags);
|
rio_spin_lock_irqsave(&UnixRupP->RupLock, flags);
|
||||||
|
@ -782,7 +782,7 @@ void RIOPollHostCommands(struct rio_info *p, struct Host *HostP)
|
||||||
/*
|
/*
|
||||||
** Whammy! blat that pack!
|
** Whammy! blat that pack!
|
||||||
*/
|
*/
|
||||||
HostP->Copy(&CmdBlkP->Packet, RIO_PTR(HostP->Caddr, UnixRupP->RupP->txpkt), sizeof(struct PKT));
|
HostP->Copy(&CmdBlkP->Packet, RIO_PTR(HostP->Caddr, readw(&UnixRupP->RupP->txpkt)), sizeof(struct PKT));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** remove the command from the rup command queue...
|
** remove the command from the rup command queue...
|
||||||
|
|
|
@ -585,19 +585,19 @@ static void RIOReceive(struct rio_info *p, struct Port *PortP)
|
||||||
/*
|
/*
|
||||||
** check that it is not a command!
|
** check that it is not a command!
|
||||||
*/
|
*/
|
||||||
if (PacketP->len & PKT_CMD_BIT) {
|
if (readb(&PacketP->len) & PKT_CMD_BIT) {
|
||||||
rio_dprintk(RIO_DEBUG_INTR, "RIO: unexpected command packet received on PHB\n");
|
rio_dprintk(RIO_DEBUG_INTR, "RIO: unexpected command packet received on PHB\n");
|
||||||
/* rio_dprint(RIO_DEBUG_INTR, (" sysport = %d\n", p->RIOPortp->PortNum)); */
|
/* rio_dprint(RIO_DEBUG_INTR, (" sysport = %d\n", p->RIOPortp->PortNum)); */
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " dest_unit = %d\n", PacketP->dest_unit);
|
rio_dprintk(RIO_DEBUG_INTR, " dest_unit = %d\n", readb(&PacketP->dest_unit));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " dest_port = %d\n", PacketP->dest_port);
|
rio_dprintk(RIO_DEBUG_INTR, " dest_port = %d\n", readb(&PacketP->dest_port));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " src_unit = %d\n", PacketP->src_unit);
|
rio_dprintk(RIO_DEBUG_INTR, " src_unit = %d\n", readb(&PacketP->src_unit));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " src_port = %d\n", PacketP->src_port);
|
rio_dprintk(RIO_DEBUG_INTR, " src_port = %d\n", readb(&PacketP->src_port));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " len = %d\n", PacketP->len);
|
rio_dprintk(RIO_DEBUG_INTR, " len = %d\n", readb(&PacketP->len));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " control = %d\n", PacketP->control);
|
rio_dprintk(RIO_DEBUG_INTR, " control = %d\n", readb(&PacketP->control));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " csum = %d\n", PacketP->csum);
|
rio_dprintk(RIO_DEBUG_INTR, " csum = %d\n", readw(&PacketP->csum));
|
||||||
rio_dprintk(RIO_DEBUG_INTR, " data bytes: ");
|
rio_dprintk(RIO_DEBUG_INTR, " data bytes: ");
|
||||||
for (DataCnt = 0; DataCnt < PKT_MAX_DATA_LEN; DataCnt++)
|
for (DataCnt = 0; DataCnt < PKT_MAX_DATA_LEN; DataCnt++)
|
||||||
rio_dprintk(RIO_DEBUG_INTR, "%d\n", PacketP->data[DataCnt]);
|
rio_dprintk(RIO_DEBUG_INTR, "%d\n", readb(&PacketP->data[DataCnt]));
|
||||||
remove_receive(PortP);
|
remove_receive(PortP);
|
||||||
put_free_end(PortP->HostP, PacketP);
|
put_free_end(PortP->HostP, PacketP);
|
||||||
continue; /* with next packet */
|
continue; /* with next packet */
|
||||||
|
@ -618,7 +618,7 @@ static void RIOReceive(struct rio_info *p, struct Port *PortP)
|
||||||
** and available space.
|
** and available space.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
transCount = tty_buffer_request_room(TtyP, PacketP->len & PKT_LEN_MASK);
|
transCount = tty_buffer_request_room(TtyP, readb(&PacketP->len) & PKT_LEN_MASK);
|
||||||
rio_dprintk(RIO_DEBUG_REC, "port %d: Copy %d bytes\n", PortP->PortNum, transCount);
|
rio_dprintk(RIO_DEBUG_REC, "port %d: Copy %d bytes\n", PortP->PortNum, transCount);
|
||||||
/*
|
/*
|
||||||
** To use the following 'kkprintfs' for debugging - change the '#undef'
|
** To use the following 'kkprintfs' for debugging - change the '#undef'
|
||||||
|
@ -630,12 +630,12 @@ static void RIOReceive(struct rio_info *p, struct Port *PortP)
|
||||||
tty_prepare_flip_string(TtyP, &buf, transCount);
|
tty_prepare_flip_string(TtyP, &buf, transCount);
|
||||||
rio_memcpy_fromio(buf, ptr, transCount);
|
rio_memcpy_fromio(buf, ptr, transCount);
|
||||||
PortP->RxDataStart += transCount;
|
PortP->RxDataStart += transCount;
|
||||||
PacketP->len -= transCount;
|
writeb(readb(&PacketP->len)-transCount, &PacketP->len);
|
||||||
copied += transCount;
|
copied += transCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (PacketP->len == 0) {
|
if (readb(&PacketP->len) == 0) {
|
||||||
/*
|
/*
|
||||||
** If we have emptied the packet, then we can
|
** If we have emptied the packet, then we can
|
||||||
** free it, and reset the start pointer for
|
** free it, and reset the start pointer for
|
||||||
|
|
|
@ -546,11 +546,11 @@ int RIODeleteRta(struct rio_info *p, struct Map *MapP)
|
||||||
** accessed from the driver.
|
** accessed from the driver.
|
||||||
*/
|
*/
|
||||||
Pkt = (struct PKT __iomem *) RIO_PTR(HostP->Caddr, readw(&*TxPktP));
|
Pkt = (struct PKT __iomem *) RIO_PTR(HostP->Caddr, readw(&*TxPktP));
|
||||||
rio_dprintk(RIO_DEBUG_TABLE, "Tx packet (%x) destination: Old %x:%x New %x:%x\n", *TxPktP, Pkt->dest_unit, Pkt->dest_port, dest_unit, dest_port);
|
rio_dprintk(RIO_DEBUG_TABLE, "Tx packet (%x) destination: Old %x:%x New %x:%x\n", readw(TxPktP), readb(&Pkt->dest_unit), readb(&Pkt->dest_port), dest_unit, dest_port);
|
||||||
writew(dest_unit, &Pkt->dest_unit);
|
writew(dest_unit, &Pkt->dest_unit);
|
||||||
writew(dest_port, &Pkt->dest_port);
|
writew(dest_port, &Pkt->dest_port);
|
||||||
}
|
}
|
||||||
rio_dprintk(RIO_DEBUG_TABLE, "Port %d phb destination: Old %x:%x New %x:%x\n", port, PortP->PhbP->destination & 0xff, (PortP->PhbP->destination >> 8) & 0xff, dest_unit, dest_port);
|
rio_dprintk(RIO_DEBUG_TABLE, "Port %d phb destination: Old %x:%x New %x:%x\n", port, readb(&PortP->PhbP->destination) & 0xff, (readb(&PortP->PhbP->destination) >> 8) & 0xff, dest_unit, dest_port);
|
||||||
writew(dest_unit + (dest_port << 8), &PortP->PhbP->destination);
|
writew(dest_unit + (dest_port << 8), &PortP->PhbP->destination);
|
||||||
}
|
}
|
||||||
rio_spin_unlock_irqrestore(&PortP->portSem, sem_flags);
|
rio_spin_unlock_irqrestore(&PortP->portSem, sem_flags);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче