Lines Matching +full:network +full:- +full:on +full:- +full:chip
16 /** Each chip is connected to two TOD topologies: active and backup. The values
50 /** The chips sourcing the clocks to non-MDMT chips with faults. */
55 * @brief Sets this chip as the MDMT at fault for this topology.
57 * @param i_chipAtFault The chip reporting step check fault.
67 * @return The MDMT chip for this topology, if at fault. Otherwise, nullptr.
75 * @brief Indicates the given chip has an internal fault.
77 * @param i_chipAtFault The chip reporting a step check fault.
95 * @brief Indicates the given non-MDMT chip has seen a fault in the TOD
96 * network.
98 * @param i_chipSourcingClock The chip sourcing the clock for the chip at
100 * @param i_chipAtFault The chip reporting the fault.
114 * @return The list of all chips sourcing the clocks for the non-MDMT chips
141 trace::err("Register read failed: addr=0x%08x chip=%s", in readRegister()
158 // Given the chip reporting the error and the IOHS position within that in getChipSourcingClock()
159 // chip, we must get in getChipSourcingClock()
160 // - The associated IOHS target on this chip. in getChipSourcingClock()
161 // - Next, the IOHS target on the other side of the bus. in getChipSourcingClock()
162 // - Finally, the chip containing the IOHS target on the other side of the in getChipSourcingClock()
180 * @brief Collects TOD fault data for each processor chip.
197 return; // cannot continue on this chip in collectTodFaultData()
203 return; // cannot continue on this chip in collectTodFaultData()
224 // Bit positions in some registers are dependent on this topology's in collectTodFaultData()
228 // Determine if this is the MDMT chip. in collectTodFaultData()
244 "TOD MDMT fault found: top=%u config=%u path=%u chip=%s", in collectTodFaultData()
252 else // not the MDMT on this topology in collectTodFaultData()
263 // Get the IOHS unit position on this chip that is connected to in collectTodFaultData()
264 // the clock source chip. in collectTodFaultData()
282 trace::inf("TOD network fault found: top=%u config=%u " in collectTodFaultData()
283 "path=%u chip=%s iohs=%u clockSrc=%s", in collectTodFaultData()
297 trace::inf("TOD internal fault found: top=%u config=%u chip=%s", in collectTodFaultData()
312 void tod_step_check_fault(unsigned int, const libhei::Chip& i_chip, in tod_step_check_fault()
319 for (const auto& chip : chipList) in tod_step_check_fault() local
321 tod::collectTodFaultData(chip, data); in tod_step_check_fault()
325 // - First, check if the MDMT chip is reporting a fault. If so, it is in tod_step_check_fault()
328 // - If MDMT is not reporting a fault, look for any network path errors in tod_step_check_fault()
329 // from the non-MDMT chips. In which case, we will want to call out all in tod_step_check_fault()
332 // - If no other errors found, callout any chips reporting internal step in tod_step_check_fault()
351 // Callout the MDMT chip (no guard to avoid fatal guard on primary in tod_step_check_fault()
360 else if (!networkFaults.empty()) // network path faults in tod_step_check_fault()
364 // Callout all chips with network errors (no guard to avoid fatal in tod_step_check_fault()
365 // guard on primary processor when the error could be anywhere in in tod_step_check_fault()
367 for (const auto& chip : networkFaults) in tod_step_check_fault() local
369 io_servData.calloutTarget(chip, callout::Priority::MED, false); in tod_step_check_fault()
378 for (const auto& chip : internalFaults) in tod_step_check_fault() local
380 io_servData.calloutTarget(chip, callout::Priority::MED, true); in tod_step_check_fault()
385 // If no callouts are made, default to calling out the chip that reported in tod_step_check_fault()