Lines Matching refs:as
71 * The locked region is a naturally aligned power of 2 block encoded as
119 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op);
126 int as_nr = mmu->as;
160 int as;
164 as = mmu->as;
165 if (as >= 0) {
167 u32 mask = BIT(as) | BIT(16 + as);
192 as = ffz(pfdev->as_alloc_mask);
193 if (!(BIT(as) & pfdev->features.as_present)) {
203 as = lru_mmu->as;
205 WARN_ON(as < 0);
206 lru_mmu->as = -1;
210 mmu->as = as;
211 set_bit(as, &pfdev->as_alloc_mask);
215 dev_dbg(pfdev->dev, "Assigned AS%d to mmu %p, alloc_mask=%lx", as, mmu, pfdev->as_alloc_mask);
221 return as;
240 mmu->as = -1;
276 if (mmu->as < 0)
300 dev_dbg(pfdev->dev, "map: as=%d, iova=%llx, paddr=%lx, len=%zx", mmu->as, iova, paddr, len);
360 dev_dbg(pfdev->dev, "unmap: as=%d, iova=%llx, len=%zx",
361 mapping->mmu->as, iova, len);
403 addr_to_mapping(struct panfrost_device *pfdev, int as, u64 addr)
412 if (as == mmu->as)
439 static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
451 bomapping = addr_to_mapping(pfdev, as, addr);
462 WARN_ON(bomapping->mmu->as != as);
526 dev_dbg(pfdev->dev, "mapped page fault @ AS%d %llx", as, addr);
553 if (mmu->as >= 0) {
556 panfrost_mmu_disable(pfdev, mmu->as);
559 clear_bit(mmu->as, &pfdev->as_alloc_mask);
560 clear_bit(mmu->as, &pfdev->as_in_use_mask);
624 mmu->as = -1;
686 u32 as = ffs(status | (status >> 16)) - 1;
687 u32 mask = BIT(as) | BIT(as + 16);
694 fault_status = mmu_read(pfdev, AS_FAULTSTATUS(as));
695 addr = mmu_read(pfdev, AS_FAULTADDRESS_LO(as));
696 addr |= (u64)mmu_read(pfdev, AS_FAULTADDRESS_HI(as)) << 32;
707 if ((status & mask) == BIT(as) && (exception_type & 0xF8) == 0xC0)
708 ret = panfrost_mmu_map_fault_addr(pfdev, as, addr);
720 as, addr,
735 panfrost_mmu_disable(pfdev, as);