Lines Matching refs:device_object
105 device_pager_get_refcount(device_pager_t device_object) in device_pager_get_refcount() argument
107 return os_ref_get_count_raw(&device_object->dev_pgr_hdr_ref); in device_pager_get_refcount()
143 device_pager_t device_object; in device_pager_setup() local
147 device_object = device_object_create(); in device_pager_setup()
148 if (device_object == DEVICE_PAGER_NULL) { in device_pager_setup()
152 device_object->device_handle = device_handle; in device_pager_setup()
153 device_object->size = size; in device_pager_setup()
154 device_object->flags = flags; in device_pager_setup()
156 memory_object_create_named((memory_object_t) device_object, in device_pager_setup()
171 return (memory_object_t)device_object; in device_pager_setup()
184 device_pager_t device_object; in device_pager_populate_object() local
189 device_object = device_pager_lookup(device); in device_pager_populate_object()
190 if (device_object == DEVICE_PAGER_NULL) { in device_pager_populate_object()
195 device_object->dev_pgr_hdr.mo_control); in device_pager_populate_object()
234 device_pager_t device_object; in device_pager_lookup() local
237 device_object = (device_pager_t)mem_obj; in device_pager_lookup()
238 assert(device_pager_get_refcount(device_object) > 0); in device_pager_lookup()
239 return device_object; in device_pager_lookup()
251 device_pager_t device_object; in device_pager_init() local
262 device_object = device_pager_lookup(mem_obj); in device_pager_init()
265 device_object->dev_pgr_hdr.mo_control = control; in device_pager_init()
274 if (device_object->flags & DEVICE_PAGER_CONTIGUOUS) { in device_pager_init()
277 if (device_object->flags & DEVICE_PAGER_NOPHYSCACHE) { in device_pager_init()
281 vm_object->wimg_bits = device_object->flags & VM_WIMG_MASK; in device_pager_init()
318 device_pager_t device_object; in device_pager_data_return() local
320 device_object = device_pager_lookup(mem_obj); in device_pager_data_return()
321 if (device_object == DEVICE_PAGER_NULL) { in device_pager_data_return()
325 __IGNORE_WCASTALIGN(return device_data_action(device_object->device_handle, in device_pager_data_return()
326 (ipc_port_t) device_object, in device_pager_data_return()
342 device_pager_t device_object; in device_pager_data_request() local
344 device_object = device_pager_lookup(mem_obj); in device_pager_data_request()
346 if (device_object == DEVICE_PAGER_NULL) { in device_pager_data_request()
350 __IGNORE_WCASTALIGN(device_data_action(device_object->device_handle, in device_pager_data_request()
351 (ipc_port_t) device_object, in device_pager_data_request()
363 device_pager_t device_object; in device_pager_reference() local
365 device_object = device_pager_lookup(mem_obj); in device_pager_reference()
366 os_ref_retain_raw(&device_object->dev_pgr_hdr_ref, NULL); in device_pager_reference()
368 device_pager_t, device_object, in device_pager_reference()
369 unsigned int, device_pager_get_refcount(device_object)); in device_pager_reference()
379 device_pager_t device_object; in device_pager_deallocate() local
383 device_object = device_pager_lookup(mem_obj); in device_pager_deallocate()
386 device_pager_t, device_object, in device_pager_deallocate()
387 unsigned int, device_pager_get_refcount(device_object)); in device_pager_deallocate()
389 ref_count = os_ref_release_raw(&device_object->dev_pgr_hdr_ref, NULL); in device_pager_deallocate()
398 device_pager_t, device_object, in device_pager_deallocate()
399 unsigned int, device_pager_get_refcount(device_object)); in device_pager_deallocate()
401 assert(device_object->is_mapped == FALSE); in device_pager_deallocate()
402 if (device_object->device_handle != (device_port_t) NULL) { in device_pager_deallocate()
403 device_close(device_object->device_handle); in device_pager_deallocate()
404 device_object->device_handle = (device_port_t) NULL; in device_pager_deallocate()
406 device_control = device_object->dev_pgr_hdr.mo_control; in device_pager_deallocate()
413 device_pager_t, device_object, in device_pager_deallocate()
414 unsigned int, device_pager_get_refcount(device_object)); in device_pager_deallocate()
416 device_control = device_object->dev_pgr_hdr.mo_control; in device_pager_deallocate()
420 device_object->dev_pgr_hdr.mo_control = MEMORY_OBJECT_CONTROL_NULL; in device_pager_deallocate()
422 device_pager_lock_destroy(device_object); in device_pager_deallocate()
424 zfree(device_pager_zone, device_object); in device_pager_deallocate()
455 device_pager_t device_object; in device_pager_map() local
457 device_object = device_pager_lookup(mem_obj); in device_pager_map()
459 device_pager_lock(device_object); in device_pager_map()
460 assert(device_pager_get_refcount(device_object) > 0); in device_pager_map()
461 if (device_object->is_mapped == FALSE) { in device_pager_map()
467 device_object->is_mapped = TRUE; in device_pager_map()
470 device_pager_unlock(device_object); in device_pager_map()
479 device_pager_t device_object; in device_pager_last_unmap() local
482 device_object = device_pager_lookup(mem_obj); in device_pager_last_unmap()
484 device_pager_lock(device_object); in device_pager_last_unmap()
485 assert(device_pager_get_refcount(device_object) > 0); in device_pager_last_unmap()
486 if (device_object->is_mapped) { in device_pager_last_unmap()
487 device_object->is_mapped = FALSE; in device_pager_last_unmap()
492 device_pager_unlock(device_object); in device_pager_last_unmap()
509 device_pager_t device_object; in device_object_create() local
511 device_object = zalloc_flags(device_pager_zone, in device_object_create()
514 device_object->dev_pgr_hdr.mo_ikot = IKOT_MEMORY_OBJECT; in device_object_create()
515 device_object->dev_pgr_hdr.mo_pager_ops = &device_pager_ops; in device_object_create()
516 device_object->dev_pgr_hdr.mo_control = MEMORY_OBJECT_CONTROL_NULL; in device_object_create()
518 device_pager_lock_init(device_object); in device_object_create()
519 os_ref_init_raw(&device_object->dev_pgr_hdr_ref, NULL); in device_object_create()
520 device_object->is_mapped = FALSE; in device_object_create()
523 device_pager_t, device_object, in device_object_create()
524 unsigned int, device_pager_get_refcount(device_object)); in device_object_create()
526 return device_object; in device_object_create()