• Home
  • Raw
  • Download

Lines Matching refs:HostP

85 int RIORouteRup(struct rio_info *p, unsigned int Rup, struct Host *HostP, struct PKT __iomem * Pack…  in RIORouteRup()  argument
108 MapP = HostP->Mapping; in RIORouteRup()
119 TopP = HostP->Topology; in RIORouteRup()
121 MyName = HostP->Name; in RIORouteRup()
125 TopP = HostP->Mapping[Rup].Topology; in RIORouteRup()
127 MyName = HostP->Mapping[Rup].Name; in RIORouteRup()
200 RIOConCon(p, HostP, ThisUnit, ThisLink, OldUnit, OldLink, DISCONNECT); in RIORouteRup()
204 RIOConCon(p, HostP, ThisUnit, ThisLink, NewUnit, NewLink, CONNECT); in RIORouteRup()
220 if (HostP->Topology[OldLink].Unit == ThisUnit && HostP->Topology[OldLink].Link == ThisLink) { in RIORouteRup()
222 HostP->Topology[OldLink].Unit = ROUTE_DISCONNECT; in RIORouteRup()
223 HostP->Topology[OldLink].Link = NO_LINK; in RIORouteRup()
225 …O_DEBUG_ROUTE, "HOST(%c) WAS NOT CONNECTED TO %s (%c)!\n", OldLink + 'A', HostP->Mapping[ThisUnit … in RIORouteRup()
228 …if (HostP->Mapping[OldUnit - 1].Topology[OldLink].Unit == ThisUnit && HostP->Mapping[OldUnit - 1].… in RIORouteRup()
229 …rio_dprintk(RIO_DEBUG_ROUTE, "SETTING RTA %s (%c) TO DISCONNECTED!\n", HostP->Mapping[OldUnit - 1]… in RIORouteRup()
230 HostP->Mapping[OldUnit - 1].Topology[OldLink].Unit = ROUTE_DISCONNECT; in RIORouteRup()
231 HostP->Mapping[OldUnit - 1].Topology[OldLink].Link = NO_LINK; in RIORouteRup()
233 …E, "RTA %s (%c) WAS NOT CONNECTED TO %s (%c)\n", HostP->Mapping[OldUnit - 1].Name, OldLink + 'A', in RIORouteRup()
238 HostP->Topology[NewLink].Unit = ThisUnit; in RIORouteRup()
239 HostP->Topology[NewLink].Link = ThisLink; in RIORouteRup()
241 …rio_dprintk(RIO_DEBUG_ROUTE, "MARKING RTA %s (%c) CONNECTED TO %s (%c)\n", HostP->Mapping[NewUnit … in RIORouteRup()
242 HostP->Mapping[NewUnit - 1].Topology[NewLink].Unit = ThisUnit; in RIORouteRup()
243 HostP->Mapping[NewUnit - 1].Topology[NewLink].Link = ThisLink; in RIORouteRup()
247 RIOCheckIsolated(p, HostP, OldUnit); in RIORouteRup()
257 …"Unknown command %d received on rup %d host %p ROUTE_RUP\n", readb(&PktCmdP->Command), Rup, HostP); in RIORouteRup()
303 if (!RIOBootOk(p, HostP, RtaUniq)) { in RIORouteRup()
307 RIOQueueCmdBlk(HostP, Rup, CmdBlkP); in RIORouteRup()
316HostP->Mapping[ThisUnit].Flags & SLOT_IN_USE ? "Slot-In-Use" : "Not In Use", HostP->Mapping[ThisUn… in RIORouteRup()
321 …if ((HostP->Mapping[ThisUnit].Flags & (SLOT_IN_USE | SLOT_TENTATIVE)) && (HostP->Mapping[ThisUnit]… in RIORouteRup()
323 ThisUnit2 = HostP->Mapping[ThisUnit].ID2 - 1; in RIORouteRup()
333 …if ((HostP->Mapping[ThisUnit].Flags & SLOT_IN_USE) && !(HostP->Mapping[ThisUnit].Flags & RTA_BOOTE… in RIORouteRup()
334 if (!(HostP->Mapping[ThisUnit].Flags & MSG_DONE)) { in RIORouteRup()
336 printk(KERN_DEBUG "rio: RTA '%s' is being updated.\n", HostP->Mapping[ThisUnit].Name); in RIORouteRup()
337 HostP->Mapping[ThisUnit].Flags |= MSG_DONE; in RIORouteRup()
341 RIOQueueCmdBlk(HostP, Rup, CmdBlkP); in RIORouteRup()
354 if (HostP->Mapping[ThisUnit].Flags & SLOT_IN_USE) in RIORouteRup()
359 RIOFixPhbs(p, HostP, ThisUnit2); in RIORouteRup()
361 …rio_dprintk(RIO_DEBUG_ROUTE, "RTA '%s' has been allocated IDs %d+%d\n", HostP->Mapping[ThisUnit].N… in RIORouteRup()
364 …rio_dprintk(RIO_DEBUG_ROUTE, "RTA '%s' has been allocated ID %d\n", HostP->Mapping[ThisUnit].Name,… in RIORouteRup()
368 RIOQueueCmdBlk(HostP, Rup, CmdBlkP); in RIORouteRup()
375 …if ((HostP->Mapping[ThisUnit].Flags & RTA_NEWBOOT) && (HostP->Mapping[ThisUnit].SysPort != NO_PORT… in RIORouteRup()
382 PortP = p->RIOPortp[port + HostP->Mapping[ThisUnit].SysPort]; in RIORouteRup()
392 PortP = p->RIOPortp[port + HostP->Mapping[ThisUnit2].SysPort]; in RIORouteRup()
406 HostP->UnixRups[ThisUnit].ModTypes = Mod; in RIORouteRup()
408 HostP->UnixRups[ThisUnit2].ModTypes = Mod; in RIORouteRup()
415 if (HostP->Mapping[ThisUnit].SysPort != NO_PORT) { in RIORouteRup()
417 p->RIOPortp[port + HostP->Mapping[ThisUnit].SysPort]->Config &= ~RIO_NOMASK; in RIORouteRup()
418 …p->RIOPortp[port + HostP->Mapping[ThisUnit].SysPort]->Config |= p->RIOModuleTypes[Mod1].Flags[port… in RIORouteRup()
419 p->RIOPortp[port + PORTS_PER_MODULE + HostP->Mapping[ThisUnit].SysPort]->Config &= ~RIO_NOMASK; in RIORouteRup()
420 …p->RIOPortp[port + PORTS_PER_MODULE + HostP->Mapping[ThisUnit].SysPort]->Config |= p->RIOModuleTyp… in RIORouteRup()
424 p->RIOPortp[port + HostP->Mapping[ThisUnit2].SysPort]->Config &= ~RIO_NOMASK; in RIORouteRup()
425 …p->RIOPortp[port + HostP->Mapping[ThisUnit2].SysPort]->Config |= p->RIOModuleTypes[Mod1].Flags[por… in RIORouteRup()
426 … p->RIOPortp[port + PORTS_PER_MODULE + HostP->Mapping[ThisUnit2].SysPort]->Config &= ~RIO_NOMASK; in RIORouteRup()
427 …p->RIOPortp[port + PORTS_PER_MODULE + HostP->Mapping[ThisUnit2].SysPort]->Config |= p->RIOModuleTy… in RIORouteRup()
445 for (ThisUnit = 0; ThisUnit < HostP->NumExtraBooted; ThisUnit++) in RIORouteRup()
446 if (HostP->ExtraUnits[ThisUnit] == RtaUniq) in RIORouteRup()
448 if (ThisUnit == HostP->NumExtraBooted && ThisUnit != MAX_EXTRA_UNITS) { in RIORouteRup()
477 if (RIOFindFreeID(p, HostP, &ThisUnit, &ThisUnit2) == 0) { in RIORouteRup()
478 RIODefaultName(p, HostP, ThisUnit); in RIORouteRup()
479 rio_fill_host_slot(ThisUnit, ThisUnit2, RtaUniq, HostP); in RIORouteRup()
482 if (RIOFindFreeID(p, HostP, &ThisUnit, NULL) == 0) { in RIORouteRup()
483 RIODefaultName(p, HostP, ThisUnit); in RIORouteRup()
484 rio_fill_host_slot(ThisUnit, 0, RtaUniq, HostP); in RIORouteRup()
490 RIOQueueCmdBlk(HostP, Rup, CmdBlkP); in RIORouteRup()
495 void RIOFixPhbs(struct rio_info *p, struct Host *HostP, unsigned int unit) in RIOFixPhbs() argument
500 int PortN = HostP->Mapping[unit].SysPort; in RIOFixPhbs()
505 unsigned short dest_unit = HostP->Mapping[unit].ID2; in RIOFixPhbs()
510 PortP = p->RIOPortp[HostP->Mapping[dest_unit - 1].SysPort]; in RIOFixPhbs()
554 Pkt = (struct PKT __iomem *) RIO_PTR(HostP->Caddr, readw(TxPktP)); in RIOFixPhbs()
575 if (((unit * 8) + 7) > readw(&HostP->LinkStrP[link].last_port)) { in RIOFixPhbs()
577 writew((unit * 8) + 7, &HostP->LinkStrP[link].last_port); in RIOFixPhbs()
588 static int RIOCheckIsolated(struct rio_info *p, struct Host *HostP, unsigned int UnitId) in RIOCheckIsolated() argument
591 rio_spin_lock_irqsave(&HostP->HostLock, flags); in RIOCheckIsolated()
593 if (RIOCheck(HostP, UnitId)) { in RIOCheckIsolated()
595 rio_spin_unlock_irqrestore(&HostP->HostLock, flags); in RIOCheckIsolated()
599 RIOIsolate(p, HostP, UnitId); in RIOCheckIsolated()
601 rio_spin_unlock_irqrestore(&HostP->HostLock, flags); in RIOCheckIsolated()
610 static int RIOIsolate(struct rio_info *p, struct Host *HostP, unsigned int UnitId) in RIOIsolate() argument
619 if (HostP->Mapping[UnitId].Flags & BEEN_HERE) in RIOIsolate()
622 HostP->Mapping[UnitId].Flags |= BEEN_HERE; in RIOIsolate()
625 rio_dprintk(RIO_DEBUG_ROUTE, "RIOMesgIsolated %s", HostP->Mapping[UnitId].Name); in RIOIsolate()
628 unit = HostP->Mapping[UnitId].Topology[link].Unit; in RIOIsolate()
629 HostP->Mapping[UnitId].Topology[link].Unit = ROUTE_DISCONNECT; in RIOIsolate()
630 HostP->Mapping[UnitId].Topology[link].Link = NO_LINK; in RIOIsolate()
631 RIOIsolate(p, HostP, unit); in RIOIsolate()
633 HostP->Mapping[UnitId].Flags &= ~BEEN_HERE; in RIOIsolate()
637 static int RIOCheck(struct Host *HostP, unsigned int UnitId) in RIOCheck() argument
657 if (HostP->Mapping[UnitId].Topology[link].Unit == HOST_ID) { in RIOCheck()
664 if (HostP->Mapping[UnitId].Flags & BEEN_HERE) { in RIOCheck()
669 HostP->Mapping[UnitId].Flags |= BEEN_HERE; in RIOCheck()
673 if (RIOCheck(HostP, HostP->Mapping[UnitId].Topology[link].Unit)) { in RIOCheck()
675 HostP->Mapping[UnitId].Flags &= ~BEEN_HERE; in RIOCheck()
680 HostP->Mapping[UnitId].Flags &= ~BEEN_HERE; in RIOCheck()
727 struct Host *HostP, in RIOConCon() argument
786 FromName = FromId ? HostP->Mapping[FromId - 1].Name : HostP->Name; in RIOConCon()
788 ToName = ToId ? HostP->Mapping[ToId - 1].Name : HostP->Name; in RIOConCon()
825 static int RIOFreeDisconnected(struct rio_info *p, struct Host *HostP, int unit) in RIOFreeDisconnected() argument
837 if (HostP->Mapping[unit].Topology[link].Unit != ROUTE_DISCONNECT) in RIOFreeDisconnected()
868 if (HostP->Mapping[unit].ID2 != 0) { in RIOFreeDisconnected()
869 int nOther = (HostP->Mapping[unit].ID2) - 1; in RIOFreeDisconnected()
872 memset(&HostP->Mapping[nOther], 0, sizeof(struct Map)); in RIOFreeDisconnected()
874 RIORemoveFromSavedTable(p, &HostP->Mapping[unit]); in RIOFreeDisconnected()
887 int RIOFindFreeID(struct rio_info *p, struct Host *HostP, unsigned int * pID1, unsigned int * pID2) in RIOFindFreeID() argument
910 if (HostP->Mapping[unit].Flags == 0) { in RIOFindFreeID()
943 …if (((HostP->Mapping[unit].Flags & SLOT_TENTATIVE) || (HostP->Mapping[unit].Flags == 0)) && !(Host… in RIOFindFreeID()
959 if (HostP->Mapping[unit].Flags != 0) in RIOFindFreeID()
960 if (RIOFreeDisconnected(p, HostP, unit) != 0) in RIOFindFreeID()
972 memset(&HostP->Mapping[unit], 0, sizeof(struct Map)); in RIOFindFreeID()
990 memset(&HostP->Mapping[unit], 0, sizeof(struct Map)); in RIOFindFreeID()