Lines Matching refs:fbl
15 #include <fbl/algorithm.h>
16 #include <fbl/auto_call.h>
17 #include <fbl/auto_lock.h>
23 zx_status_t PinnedMemoryTokenDispatcher::Create(fbl::RefPtr<BusTransactionInitiatorDispatcher> bti,
24 fbl::RefPtr<VmObject> vmo, size_t offset,
26 fbl::RefPtr<Dispatcher>* dispatcher,
50 auto unpin_vmo = fbl::MakeAutoCall([vmo, offset, size]() {
57 DEBUG_ASSERT(fbl::is_pow2(min_contig));
59 fbl::AllocChecker ac;
61 fbl::Array<dev_vaddr_t> addr_array(new (&ac) dev_vaddr_t[num_addrs], num_addrs);
67 auto pmo = fbl::AdoptRef(new (&ac) PinnedMemoryTokenDispatcher(fbl::move(bti), fbl::move(vmo),
69 fbl::move(addr_array)));
90 *dispatcher = fbl::move(pmo);
144 size_t addr_pages = fbl::min<size_t>(mapped_remaining, min_contig);
152 remaining -= fbl::min(mapped_len, remaining);
180 size_t size = fbl::min(remaining, min_contig);
200 Guard<fbl::Mutex> guard{get_lock()};
213 Guard<fbl::Mutex> guard{get_lock()};
229 bti_->Quarantine(fbl::WrapRefPtr(this));
255 fbl::RefPtr<BusTransactionInitiatorDispatcher> bti,
256 fbl::RefPtr<VmObject> vmo, size_t offset, size_t size,
258 fbl::Array<dev_vaddr_t> mapped_addrs)
259 : vmo_(fbl::move(vmo)), offset_(offset), size_(size), is_contiguous_(is_contiguous),
260 bti_(fbl::move(bti)), mapped_addrs_(fbl::move(mapped_addrs)) {
269 Guard<fbl::Mutex> guard{get_lock()};
271 const fbl::Array<dev_vaddr_t>& pmo_addrs = mapped_addrs_;