NVDRV: Implement sessions and initial implementation of SMMU

This commit is contained in:
Fernando Sahmkow 2023-12-24 18:20:02 +01:00 committed by Liam
parent 2f0418c101
commit 7a9d1ad2f8
37 changed files with 260 additions and 100 deletions

View file

@ -5,9 +5,8 @@
#include "common/common_types.h"
#include "common/address_space.h"
#include "video_core/host1x/gpu_device_memory_manager.h"
#include "video_core/host1x/syncpoint_manager.h"
#include "video_core/memory_manager.h"
namespace Core {
class System;
@ -29,27 +28,18 @@ public:
return syncpoint_manager;
}
Tegra::MemoryManager& MemoryManager() {
Tegra::MaxwellDeviceMemoryManager& MemoryManager() {
return memory_manager;
}
const Tegra::MemoryManager& MemoryManager() const {
const Tegra::MaxwellDeviceMemoryManager& MemoryManager() const {
return memory_manager;
}
Common::FlatAllocator<u32, 0, 32>& Allocator() {
return *allocator;
}
const Common::FlatAllocator<u32, 0, 32>& Allocator() const {
return *allocator;
}
private:
Core::System& system;
SyncpointManager syncpoint_manager;
Tegra::MemoryManager memory_manager;
std::unique_ptr<Common::FlatAllocator<u32, 0, 32>> allocator;
Tegra::MaxwellDeviceMemoryManager memory_manager;
};
} // namespace Host1x