Lines Matching refs:device

8 /*!	Emulation of SCSI commands that a device cannot handle.
35 scsi_free_emulation_buffer(scsi_device_info *device)
37 if (device->buffer_area)
38 delete_area(device->buffer_area);
40 device->buffer_area = 0;
41 device->buffer = NULL;
42 device->buffer_sg_list = NULL;
43 device->buffer_size = 0;
45 if (device->buffer_sem > 0)
46 delete_sem(device->buffer_sem);
54 scsi_init_emulation_buffer(scsi_device_info *device, size_t buffer_size)
61 device->buffer_sem = create_sem(1, "SCSI emulation buffer");
62 if (device->buffer_sem < 0) {
63 SHOW_ERROR(1, "cannot create DMA buffer semaphore (%s)", strerror(device->buffer_sem));
64 return device->buffer_sem;
76 device->buffer_area = create_area_etc(B_SYSTEM_TEAM, "ATAPI buffer",
81 if (device->buffer_area < 0) {
82 SHOW_ERROR( 1, "cannot create DMA buffer (%s)", strerror(device->buffer_area));
84 delete_sem(device->buffer_sem);
85 return device->buffer_area;
96 device->buffer = (char*)address;
97 device->buffer_size = buffer_size;
99 device->buffer_sg_list = (physical_entry*)((char*)address + buffer_size);
100 device->buffer_sg_list[0].address = physicalAddress;
101 device->buffer_sg_list[0].size = buffer_size;
102 device->buffer_sg_count = 1;
207 scsi_device_info *device = request->device;
211 scsi_mode_param_header_10 *header_10 = (scsi_mode_param_header_10 *)device->buffer;
225 if (param_list_length_10 > device->buffer_size)
306 scsi_device_info *device = request->device;
308 scsi_mode_param_header_10 *header_10 = (scsi_mode_param_header_10 *)device->buffer;
319 // check how much data we got from device and thus will copy into
520 scsi_device_info *device = request->device;
524 acquire_sem(device->buffer_sem);
534 scsi_device_info *device = request->device;
542 request->sg_list = device->buffer_sg_list;
543 request->sg_count = device->buffer_sg_count;
544 request->data_length = device->buffer_size;
554 release_sem(request->device->buffer_sem);