ca8f583a23
gem_backend.rs (80 lines): ShmemBackend: DMA-backed page allocation with byte tracking InternalBackend: heap-backed buffer pool for kernel-internal use PhysBackend: physically contiguous DmaBuffer allocation ClflushManager: cache flush counter gem_ttm.rs (60 lines): TtmManager: placement tracking + migration lifecycle Migration struct: src/dst offset, size, completed, timestamp PowerManager: suspend/resume with frozen state tracking gem_ioctl.rs (120 lines): UserptrManager: user pointer registration with GEM binding WaitManager: per-handle waiter queue with timeout/signal FrontbufferTracker: scanout buffer dirty rect tracking FrontbufferState: dirty/scanout flags + rect coordinate list Modules ported from Linux 7.1: gem/i915_gem_shmem.c → ShmemBackend gem/i915_gem_ttm.c → TtmManager + PowerManager gem/i915_gem_ttm_move.c → Migration gem/i915_gem_userptr.c → UserptrManager gem/i915_gem_wait.c → WaitManager gem/i915_gem_clflush.c → ClflushManager gem/i915_gem_internal.c → InternalBackend gem/i915_gem_phys.c → PhysBackend gem/i915_gem_object_frontbuffer.c → FrontbufferTracker gem/i915_gem_pm.c → PowerManager GEM subdirectory: 17 files, 1,310 lines, 0 errors