Lines Matching refs:dev
55 ForeachDevice([](const fbl::RefPtr<PcieDevice>& dev, void* ctx, uint level) -> bool { in ~PcieBusDriver() argument
56 DEBUG_ASSERT(dev); in ~PcieBusDriver()
178 ForeachDevice([](const fbl::RefPtr<PcieDevice>& dev, void* ctx, uint level) -> bool { in StartBusDriver() argument
179 PcieBusDriver::RunQuirks(dev); in StartBusDriver()
212 [](const fbl::RefPtr<PcieDevice>& dev, void* ctx, uint level) -> bool { in GetNthDevice() argument
213 DEBUG_ASSERT(dev && ctx); in GetNthDevice()
217 state->ret = dev; in GetNthDevice()
228 void PcieBusDriver::LinkDeviceToUpstream(PcieDevice& dev, PcieUpstreamNode& upstream) { in LinkDeviceToUpstream() argument
232 DEBUG_ASSERT(dev.upstream_ == nullptr); in LinkDeviceToUpstream()
233 dev.upstream_ = fbl::WrapRefPtr(&upstream); in LinkDeviceToUpstream()
236 uint ndx = (dev.dev_id() * PCIE_MAX_FUNCTIONS_PER_DEVICE) + dev.func_id(); in LinkDeviceToUpstream()
239 upstream.downstream_[ndx] = fbl::WrapRefPtr(&dev); in LinkDeviceToUpstream()
242 void PcieBusDriver::UnlinkDeviceFromUpstream(PcieDevice& dev) { in UnlinkDeviceFromUpstream() argument
245 if (dev.upstream_ != nullptr) { in UnlinkDeviceFromUpstream()
246 uint ndx = (dev.dev_id() * PCIE_MAX_FUNCTIONS_PER_DEVICE) + dev.func_id(); in UnlinkDeviceFromUpstream()
247 DEBUG_ASSERT(ndx < fbl::count_of(dev.upstream_->downstream_)); in UnlinkDeviceFromUpstream()
248 DEBUG_ASSERT(&dev == dev.upstream_->downstream_[ndx].get()); in UnlinkDeviceFromUpstream()
251 dev.upstream_->downstream_[ndx] = nullptr; in UnlinkDeviceFromUpstream()
254 dev.upstream_ = nullptr; in UnlinkDeviceFromUpstream()
258 fbl::RefPtr<PcieUpstreamNode> PcieBusDriver::GetUpstream(PcieDevice& dev) { in GetUpstream() argument
260 auto ret = dev.upstream_; in GetUpstream()
286 [](const fbl::RefPtr<PcieDevice>& dev, void* ctx, uint level) -> bool { in GetRefedDevice() argument
287 DEBUG_ASSERT(dev && ctx); in GetRefedDevice()
290 if ((state->bus_id == dev->bus_id()) && in GetRefedDevice()
291 (state->dev_id == dev->dev_id()) && in GetRefedDevice()
292 (state->func_id == dev->func_id())) { in GetRefedDevice()
293 state->ret = dev; in GetRefedDevice()
386 auto dev = upstream->GetDownstream(i); in ForeachDownstreamDevice() local
388 if (!dev) in ForeachDownstreamDevice()
391 keep_going = cbk(dev, ctx, level); in ForeachDownstreamDevice()
396 if (dev->is_bridge()) { in ForeachDownstreamDevice()
403 static_cast<PcieBridge*>(dev.get()))); in ForeachDownstreamDevice()
547 void PcieBusDriver::RunQuirks(const fbl::RefPtr<PcieDevice>& dev) { in RunQuirks() argument
548 if (dev && dev->quirks_done()) in RunQuirks()
552 pcie_quirk_handlers[i](dev); in RunQuirks()
555 if (dev != nullptr) in RunQuirks()
556 dev->SetQuirksDone(); in RunQuirks()
569 [](const fbl::RefPtr<PcieDevice>& dev, void* ctx, uint level) -> bool { in DisableBus() argument
570 if (!dev->is_bridge() && !(dev->vendor_id() == 0x8086 && dev->device_id() == 0x9d66)) { in DisableBus()
572 dev->dev_id(), dev->bus_id(), dev->func_id(), dev->vendor_id(), in DisableBus()
573 dev->device_id()); in DisableBus()
574 dev->EnableBusMaster(false); in DisableBus()
575 dev->Disable(); in DisableBus()