Skip to content

Commit 6024c7b

Browse files
committed
fixup! rust: drm: Add GPUVM Manager abstraction
1 parent b14caff commit 6024c7b

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

rust/kernel/drm/gpuvm.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -723,23 +723,36 @@ impl<T: DriverGpuVm> LockedGpuVm<'_, '_, T> {
723723
req_addr: u64,
724724
req_range: u64,
725725
req_offset: u64,
726+
req_gem_range: u32,
726727
flags: GpuVaFlags,
727728
) -> Result {
728729
let obj = self.obj.ok_or(EINVAL)?;
729730
let mut ctx = StepContext {
730731
ctx,
731732
gpuvm: self.gpuvm,
732733
};
734+
735+
let req = bindings::drm_gpuvm_map_req {
736+
map: bindings::drm_gpuva_op_map {
737+
va: bindings::drm_gpuva_op_map__bindgen_ty_1 {
738+
addr: req_addr,
739+
range: req_range,
740+
},
741+
gem: bindings::drm_gpuva_op_map__bindgen_ty_2 {
742+
offset: req_offset,
743+
range: req_gem_range,
744+
obj: obj.as_raw(),
745+
},
746+
flags: flags.as_raw(),
747+
}
748+
};
749+
733750
// SAFETY: LockedGpuVm implies the right locks are held.
734751
to_result(unsafe {
735752
bindings::drm_gpuvm_sm_map(
736753
self.gpuvm.gpuvm() as *mut _,
737754
&mut ctx as *mut _ as *mut _,
738-
req_addr,
739-
req_range,
740-
obj.as_raw() as *const _ as *mut _,
741-
req_offset,
742-
flags.as_raw(),
755+
&raw const req,
743756
)
744757
})
745758
}

0 commit comments

Comments
 (0)