Skip to content

Commit 90b2d43

Browse files
committed
fixup! rust: drm: Add GPUVM Manager abstraction
1 parent 3505714 commit 90b2d43

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
@@ -714,23 +714,36 @@ impl<T: DriverGpuVm> LockedGpuVm<'_, '_, T> {
714714
req_addr: u64,
715715
req_range: u64,
716716
req_offset: u64,
717+
req_gem_range: u32,
717718
flags: GpuVaFlags,
718719
) -> Result {
719720
let obj = self.obj.ok_or(EINVAL)?;
720721
let mut ctx = StepContext {
721722
ctx,
722723
gpuvm: self.gpuvm,
723724
};
725+
726+
let req = bindings::drm_gpuvm_map_req {
727+
map: bindings::drm_gpuva_op_map {
728+
va: bindings::drm_gpuva_op_map__bindgen_ty_1 {
729+
addr: req_addr,
730+
range: req_range,
731+
},
732+
gem: bindings::drm_gpuva_op_map__bindgen_ty_2 {
733+
offset: req_offset,
734+
range: req_gem_range,
735+
obj: obj.as_raw(),
736+
},
737+
flags: flags.as_raw(),
738+
}
739+
};
740+
724741
// SAFETY: LockedGpuVm implies the right locks are held.
725742
to_result(unsafe {
726743
bindings::drm_gpuvm_sm_map(
727744
self.gpuvm.gpuvm() as *mut _,
728745
&mut ctx as *mut _ as *mut _,
729-
req_addr,
730-
req_range,
731-
obj.as_raw() as *const _ as *mut _,
732-
req_offset,
733-
flags.as_raw(),
746+
&raw const req,
734747
)
735748
})
736749
}

0 commit comments

Comments
 (0)