SMMU: Add continuity tracking optimization.

This commit is contained in:
Fernando Sahmkow 2023-12-30 09:37:16 +01:00 committed by Liam
parent 9b11b9dce5
commit d8f1ce2f76
4 changed files with 63 additions and 13 deletions

View file

@ -95,6 +95,7 @@ size_t Container::OpenSession(Kernel::KProcess* process) {
if (start_region != 0) {
session.mapper = std::make_unique<HeapMapper>(region_start, start_region, region_size,
smmu_id, impl->host1x);
smmu.TrackContinuity(start_region, region_start, region_size, smmu_id);
session.has_preallocated_area = true;
LOG_CRITICAL(Debug, "Preallocation created!");
}

View file

@ -221,7 +221,7 @@ DAddr NvMap::PinHandle(NvMap::Handle::Id handle, size_t session_id, bool low_are
}
handle_description->d_address = address;
smmu.Map(address, vaddress, map_size, session->smmu_id);
smmu.Map(address, vaddress, map_size, session->smmu_id, true);
handle_description->in_heap = false;
}
}