Lines Matching refs:T

77 pub struct Device<T: drm::Driver> {
79 data: T::Data,
82 impl<T: drm::Driver> Device<T> {
85 open: Some(drm::File::<T::File>::open_callback),
86 postclose: Some(drm::File::<T::File>::postclose_callback),
92 gem_create_object: T::Object::ALLOC_OPS.gem_create_object,
93 prime_handle_to_fd: T::Object::ALLOC_OPS.prime_handle_to_fd,
94 prime_fd_to_handle: T::Object::ALLOC_OPS.prime_fd_to_handle,
95 gem_prime_import: T::Object::ALLOC_OPS.gem_prime_import,
96 gem_prime_import_sg_table: T::Object::ALLOC_OPS.gem_prime_import_sg_table,
97 dumb_create: T::Object::ALLOC_OPS.dumb_create,
98 dumb_map_offset: T::Object::ALLOC_OPS.dumb_map_offset,
102 major: T::INFO.major,
103 minor: T::INFO.minor,
104 patchlevel: T::INFO.patchlevel,
105 name: crate::str::as_char_ptr_in_const_context(T::INFO.name).cast_mut(),
106 desc: crate::str::as_char_ptr_in_const_context(T::INFO.desc).cast_mut(),
109 ioctls: T::IOCTLS.as_ptr(),
110 num_ioctls: T::IOCTLS.len() as i32,
117 pub fn new(dev: &device::Device, data: impl PinInit<T::Data, Error>) -> Result<ARef<Self>> { in new()
220 impl<T: drm::Driver> Deref for Device<T> {
221 type Target = T::Data;
230 unsafe impl<T: drm::Driver> AlwaysRefCounted for Device<T> {
245 impl<T: drm::Driver> AsRef<device::Device> for Device<T> {
254 unsafe impl<T: drm::Driver> Send for Device<T> {}
258 unsafe impl<T: drm::Driver> Sync for Device<T> {}
260 impl<T, const ID: u64> WorkItem<ID> for Device<T>
262 T: drm::Driver,
263 T::Data: WorkItem<ID, Pointer = ARef<Device<T>>>,
264 T::Data: HasWork<Device<T>, ID>,
266 type Pointer = ARef<Device<T>>;
268 fn run(ptr: ARef<Device<T>>) { in run() argument
269 T::Data::run(ptr); in run()
283 unsafe impl<T, const ID: u64> HasWork<Device<T>, ID> for Device<T>
285 T: drm::Driver,
286 T::Data: HasWork<Device<T>, ID>,
288 unsafe fn raw_get_work(ptr: *mut Self) -> *mut Work<Device<T>, ID> { in raw_get_work() argument
293 unsafe { T::Data::raw_get_work(data_ptr) } in raw_get_work()
296 unsafe fn work_container_of(ptr: *mut Work<Device<T>, ID>) -> *mut Self { in work_container_of() argument
299 let data_ptr = unsafe { T::Data::work_container_of(ptr) }; in work_container_of()
311 unsafe impl<T, const ID: u64> HasDelayedWork<Device<T>, ID> for Device<T>
313 T: drm::Driver,
314 T::Data: HasDelayedWork<Device<T>, ID>,