Lines Matching refs:drive
316 bd_create_inquiry_props(dev_info_t *dip, bd_drive_t *drive) in bd_create_inquiry_props() argument
318 if (drive->d_vendor_len > 0) in bd_create_inquiry_props()
320 drive->d_vendor, drive->d_vendor_len); in bd_create_inquiry_props()
322 if (drive->d_product_len > 0) in bd_create_inquiry_props()
324 drive->d_product, drive->d_product_len); in bd_create_inquiry_props()
326 if (drive->d_serial_len > 0) in bd_create_inquiry_props()
328 drive->d_serial, drive->d_serial_len); in bd_create_inquiry_props()
330 if (drive->d_revision_len > 0) in bd_create_inquiry_props()
332 drive->d_revision, drive->d_revision_len); in bd_create_inquiry_props()
336 bd_create_errstats(bd_t *bd, int inst, bd_drive_t *drive) in bd_create_errstats() argument
383 if (drive->d_model_len > 0) { in bd_create_errstats()
435 bd_init_errstats(bd_t *bd, bd_drive_t *drive) in bd_init_errstats() argument
441 if (drive->d_model_len > 0 && in bd_init_errstats()
443 bd_errstats_setstr(&est->bd_model, drive->d_model, in bd_init_errstats()
444 drive->d_model_len, NULL); in bd_init_errstats()
446 bd_errstats_setstr(&est->bd_vid, drive->d_vendor, in bd_init_errstats()
447 drive->d_vendor_len, "Unknown "); in bd_init_errstats()
448 bd_errstats_setstr(&est->bd_pid, drive->d_product, in bd_init_errstats()
449 drive->d_product_len, "Unknown "); in bd_init_errstats()
452 bd_errstats_setstr(&est->bd_revision, drive->d_revision, in bd_init_errstats()
453 drive->d_revision_len, "0001"); in bd_init_errstats()
454 bd_errstats_setstr(&est->bd_serial, drive->d_serial, in bd_init_errstats()
455 drive->d_serial_len, "0 "); in bd_init_errstats()
466 bd_drive_t drive; in bd_attach() local
573 bzero(&drive, sizeof (drive)); in bd_attach()
574 bd->d_ops.o_drive_info(bd->d_private, &drive); in bd_attach()
575 bd->d_qsize = drive.d_qsize; in bd_attach()
576 bd->d_removable = drive.d_removable; in bd_attach()
577 bd->d_hotpluggable = drive.d_hotpluggable; in bd_attach()
579 if (drive.d_maxxfer && drive.d_maxxfer < bd->d_maxxfer) in bd_attach()
580 bd->d_maxxfer = drive.d_maxxfer; in bd_attach()
582 bd_create_inquiry_props(dip, &drive); in bd_attach()
584 bd_create_errstats(bd, inst, &drive); in bd_attach()
585 bd_init_errstats(bd, &drive); in bd_attach()
591 *(uint64_t *)drive.d_eui64 != 0 ? DDI_NT_BLOCK_BLKDEV : in bd_attach()
592 drive.d_lun >= 0 ? DDI_NT_BLOCK_CHAN : DDI_NT_BLOCK, in bd_attach()
1820 bd_drive_t drive = { 0 }; in bd_attach_handle() local
1833 drive.d_lun = -1; in bd_attach_handle()
1834 hdl->h_ops.o_drive_info(hdl->h_private, &drive); in bd_attach_handle()
1840 if (*(uint64_t *)drive.d_eui64 != 0) { in bd_attach_handle()
1841 if (drive.d_lun >= 0) { in bd_attach_handle()
1844 drive.d_eui64[0], drive.d_eui64[1], in bd_attach_handle()
1845 drive.d_eui64[2], drive.d_eui64[3], in bd_attach_handle()
1846 drive.d_eui64[4], drive.d_eui64[5], in bd_attach_handle()
1847 drive.d_eui64[6], drive.d_eui64[7], drive.d_lun); in bd_attach_handle()
1851 drive.d_eui64[0], drive.d_eui64[1], in bd_attach_handle()
1852 drive.d_eui64[2], drive.d_eui64[3], in bd_attach_handle()
1853 drive.d_eui64[4], drive.d_eui64[5], in bd_attach_handle()
1854 drive.d_eui64[6], drive.d_eui64[7]); in bd_attach_handle()
1857 if (drive.d_lun >= 0) { in bd_attach_handle()
1859 "%X,%X", drive.d_target, drive.d_lun); in bd_attach_handle()
1862 "%X", drive.d_target); in bd_attach_handle()