H A D | hpsa.c | 211 void *buff, size_t size, u16 page_code, unsigned char *scsi3addr, 253 u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk); 506 static inline int is_logical_dev_addr_mode(unsigned char scsi3addr[]) is_logical_dev_addr_mode() argument 508 return (scsi3addr[3] & 0xC0) == 0x40; is_logical_dev_addr_mode() 543 if (!is_logical_dev_addr_mode(hdev->scsi3addr)) { raid_level_show() 574 memcpy(lunid, hdev->scsi3addr, sizeof(lunid)); lunid_show() 844 static inline int is_hba_lunid(unsigned char scsi3addr[]) is_hba_lunid() argument 846 return memcmp(scsi3addr, RAID_CTLR_LUNID, 8) == 0; is_hba_lunid() 859 unsigned char scsi3addr[], int bus, int *target, int *lun) hpsa_find_target_lun() 910 if (device->scsi3addr[4] == 0) { hpsa_scsi_add_entry() 912 if (hpsa_find_target_lun(h, device->scsi3addr, hpsa_scsi_add_entry() 924 memcpy(addr1, device->scsi3addr, 8); hpsa_scsi_add_entry() 928 memcpy(addr2, sd->scsi3addr, 8); hpsa_scsi_add_entry() 934 device->lun = device->scsi3addr[4]; hpsa_scsi_add_entry() 1086 if (memcmp(dev1->scsi3addr, dev2->scsi3addr, device_is_the_same() 1087 sizeof(dev1->scsi3addr)) != 0) device_is_the_same() 1122 * and return needle location in *index. If scsi3addr matches, but not 1141 if (SCSI3ADDR_EQ(needle->scsi3addr, haystack[i]->scsi3addr)) { hpsa_scsi_find_entry() 1160 unsigned char scsi3addr[]) hpsa_monitor_offline_device() 1168 if (memcmp(device->scsi3addr, scsi3addr, hpsa_monitor_offline_device() 1169 sizeof(device->scsi3addr)) == 0) { hpsa_monitor_offline_device() 1182 memcpy(device->scsi3addr, scsi3addr, sizeof(device->scsi3addr)); hpsa_monitor_offline_device() 1294 if (is_logical_dev_addr_mode(dev[j]->scsi3addr)) hpsa_figure_phys_disk_ptrs() 1336 if (!is_logical_dev_addr_mode(dev[i]->scsi3addr)) hpsa_update_log_drive_phys_drive_ptrs() 1446 hpsa_monitor_offline_device(h, sd[i]->scsi3addr); adjust_hpsa_scsi_table() 1738 if (is_logical_dev_addr_mode(dev->scsi3addr) && process_ioaccel2_completion() 1828 if (is_logical_dev_addr_mode(dev->scsi3addr)) { complete_scsi_command() 2135 static int hpsa_scsi_do_inquiry(struct ctlr_info *h, unsigned char *scsi3addr, hpsa_scsi_do_inquiry() argument 2151 page, scsi3addr, TYPE_CMD)) { hpsa_scsi_do_inquiry() 2167 unsigned char *scsi3addr, unsigned char page, hpsa_bmic_ctrl_mode_sense() 2181 page, scsi3addr, TYPE_CMD)) { hpsa_bmic_ctrl_mode_sense() 2196 static int hpsa_send_reset(struct ctlr_info *h, unsigned char *scsi3addr, hpsa_send_reset() argument 2212 scsi3addr, TYPE_MSG); hpsa_send_reset() 2227 unsigned char *scsi3addr, unsigned char *raid_level) hpsa_get_raid_level() 2236 rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | 0xC1, buf, 64); hpsa_get_raid_level() 2324 unsigned char *scsi3addr, struct hpsa_scsi_dev_t *this_device) hpsa_get_raid_map() 2337 scsi3addr, TYPE_CMD)) { hpsa_get_raid_map() 2362 unsigned char scsi3addr[], u16 bmic_device_index, hpsa_bmic_id_physical_device() 2390 unsigned char scsi3addr[], u8 page) hpsa_vpd_page_supported() 2402 rc = hpsa_scsi_do_inquiry(h, scsi3addr, hpsa_vpd_page_supported() 2414 rc = hpsa_scsi_do_inquiry(h, scsi3addr, hpsa_vpd_page_supported() 2433 unsigned char *scsi3addr, struct hpsa_scsi_dev_t *this_device) hpsa_get_ioaccel_status() 2445 if (!hpsa_vpd_page_supported(h, scsi3addr, HPSA_VPD_LV_IOACCEL_STATUS)) hpsa_get_ioaccel_status() 2447 rc = hpsa_scsi_do_inquiry(h, scsi3addr, hpsa_get_ioaccel_status() 2461 if (hpsa_get_raid_map(h, scsi3addr, this_device)) hpsa_get_ioaccel_status() 2470 static int hpsa_get_device_id(struct ctlr_info *h, unsigned char *scsi3addr, hpsa_get_device_id() argument 2481 rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | 0x83, buf, 64); hpsa_get_device_id() 2494 unsigned char scsi3addr[8]; hpsa_scsi_do_report_luns() local 2503 memset(scsi3addr, 0, sizeof(scsi3addr)); hpsa_scsi_do_report_luns() 2505 buf, bufsize, 0, scsi3addr, TYPE_CMD)) { hpsa_scsi_do_report_luns() 2556 unsigned char scsi3addr[]) hpsa_get_volume_status() 2568 if (!hpsa_vpd_page_supported(h, scsi3addr, HPSA_VPD_LV_STATUS)) hpsa_get_volume_status() 2572 rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | HPSA_VPD_LV_STATUS, hpsa_get_volume_status() 2579 rc = hpsa_scsi_do_inquiry(h, scsi3addr, VPD_PAGE | HPSA_VPD_LV_STATUS, hpsa_get_volume_status() 2600 unsigned char scsi3addr[]) hpsa_volume_offline() 2614 (void) fill_cmd(c, TEST_UNIT_READY, h, NULL, 0, 0, scsi3addr, TYPE_CMD); hpsa_volume_offline() 2632 ldstat = hpsa_get_volume_status(h, scsi3addr); hpsa_volume_offline() 2660 unsigned char scsi3addr[], struct hpsa_scsi_dev_t *this_device, hpsa_update_device_info() 2677 if (hpsa_scsi_do_inquiry(h, scsi3addr, 0, inq_buff, hpsa_update_device_info() 2686 memcpy(this_device->scsi3addr, scsi3addr, 8); hpsa_update_device_info() 2693 hpsa_get_device_id(h, scsi3addr, this_device->device_id, hpsa_update_device_info() 2697 is_logical_dev_addr_mode(scsi3addr)) { hpsa_update_device_info() 2700 hpsa_get_raid_level(h, scsi3addr, &this_device->raid_level); hpsa_update_device_info() 2702 hpsa_get_ioaccel_status(h, scsi3addr, this_device); hpsa_update_device_info() 2703 volume_offline = hpsa_volume_offline(h, scsi3addr); hpsa_update_device_info() 2804 unsigned char scsi3addr[8]; add_ext_target_dev() local 2818 memset(scsi3addr, 0, 8); add_ext_target_dev() 2819 scsi3addr[3] = tmpdevice->target; add_ext_target_dev() 2820 if (is_hba_lunid(scsi3addr)) add_ext_target_dev() 2833 if (hpsa_update_device_info(h, scsi3addr, this_device, NULL)) add_ext_target_dev() 2847 * 1 and set scsi3addr to address of matching physical 2851 struct CommandList *ioaccel2_cmd_to_abort, unsigned char *scsi3addr) hpsa_get_pdisk_of_ioaccel2() 2919 memcpy(scsi3addr, entry->lunid, 8); hpsa_get_pdisk_of_ioaccel2() 2924 entry->ioaccel_handle, scsi3addr); hpsa_get_pdisk_of_ioaccel2() 3062 * The scsi3addr's of devices won't change so long as the hpsa_update_scsi_devices() 3362 u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel1_queue_command() 3441 memcpy(cp->CISS_LUN, scsi3addr, 8); 3460 cmd->cmnd, cmd->cmd_len, dev->scsi3addr, dev); hpsa_scsi_ioaccel_direct_map() 3522 u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel2_queue_command() 3622 u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel_queue_command() 3632 cdb, cdb_len, scsi3addr, hpsa_scsi_ioaccel_queue_command() 3636 cdb, cdb_len, scsi3addr, hpsa_scsi_ioaccel_queue_command() 3991 dev->scsi3addr, hpsa_scsi_ioaccel_raid_map() 3998 unsigned char scsi3addr[]) hpsa_ciss_submit() 4004 memcpy(&c->Header.LUN.LunAddrBytes[0], &scsi3addr[0], 8); hpsa_ciss_submit() 4075 if (hpsa_ciss_submit(c->h, c, cmd, dev->scsi3addr)) { hpsa_command_resubmit_worker() 4091 unsigned char scsi3addr[8]; hpsa_scsi_queue_command() local 4103 memcpy(scsi3addr, dev->scsi3addr, sizeof(scsi3addr)); hpsa_scsi_queue_command() 4152 return hpsa_ciss_submit(h, c, cmd, scsi3addr); hpsa_scsi_queue_command() 4366 rc = hpsa_send_reset(h, dev->scsi3addr, HPSA_RESET_TYPE_LUN); hpsa_eh_device_reset_handler() 4367 if (rc == 0 && wait_for_device_to_become_ready(h, dev->scsi3addr) == 0) hpsa_eh_device_reset_handler() 4414 static int hpsa_send_abort(struct ctlr_info *h, unsigned char *scsi3addr, hpsa_send_abort() argument 4430 0, 0, scsi3addr, TYPE_MSG); hpsa_send_abort() 4467 unsigned char *scsi3addr, struct CommandList *abort) hpsa_send_reset_as_abort_ioaccel2() 4486 "Reset as abort: Abort requested on C%d:B%d:T%d:L%d scsi3addr 0x%02x%02x%02x%02x%02x%02x%02x%02x\n", hpsa_send_reset_as_abort_ioaccel2() 4488 scsi3addr[0], scsi3addr[1], scsi3addr[2], scsi3addr[3], hpsa_send_reset_as_abort_ioaccel2() 4489 scsi3addr[4], scsi3addr[5], scsi3addr[6], scsi3addr[7]); hpsa_send_reset_as_abort_ioaccel2() 4497 /* Incoming scsi3addr is logical addr. We need physical disk addr. */ hpsa_send_reset_as_abort_ioaccel2() 4506 "Reset as abort: Resetting physical device at scsi3addr 0x%02x%02x%02x%02x%02x%02x%02x%02x\n", hpsa_send_reset_as_abort_ioaccel2() 4512 "Reset as abort: Failed on physical device at scsi3addr 0x%02x%02x%02x%02x%02x%02x%02x%02x\n", hpsa_send_reset_as_abort_ioaccel2() 4529 "Reset as abort: Device recovered from reset: scsi3addr 0x%02x%02x%02x%02x%02x%02x%02x%02x\n", hpsa_send_reset_as_abort_ioaccel2() 4543 unsigned char *scsi3addr, struct CommandList *abort) hpsa_send_abort_both_ways() 4551 return hpsa_send_reset_as_abort_ioaccel2(h, scsi3addr, abort); hpsa_send_abort_both_ways() 4553 return hpsa_send_abort(h, scsi3addr, abort, 0) && hpsa_send_abort_both_ways() 4554 hpsa_send_abort(h, scsi3addr, abort, 1); hpsa_send_abort_both_ways() 4626 rc = hpsa_send_abort_both_ways(h, dev->scsi3addr, abort); hpsa_eh_abort_handler() 5166 static int hpsa_send_host_reset(struct ctlr_info *h, unsigned char *scsi3addr, hpsa_send_host_reset() argument 5188 void *buff, size_t size, u16 page_code, unsigned char *scsi3addr, fill_cmd() 5203 memcpy(c->Header.LUN.LunAddrBytes, scsi3addr, 8); fill_cmd() 6776 if (!hpsa_volume_offline(h, d->scsi3addr)) { hpsa_offline_devices_ready() 858 hpsa_find_target_lun(struct ctlr_info *h, unsigned char scsi3addr[], int bus, int *target, int *lun) hpsa_find_target_lun() argument 1159 hpsa_monitor_offline_device(struct ctlr_info *h, unsigned char scsi3addr[]) hpsa_monitor_offline_device() argument 2166 hpsa_bmic_ctrl_mode_sense(struct ctlr_info *h, unsigned char *scsi3addr, unsigned char page, struct bmic_controller_parameters *buf, size_t bufsize) hpsa_bmic_ctrl_mode_sense() argument 2226 hpsa_get_raid_level(struct ctlr_info *h, unsigned char *scsi3addr, unsigned char *raid_level) hpsa_get_raid_level() argument 2323 hpsa_get_raid_map(struct ctlr_info *h, unsigned char *scsi3addr, struct hpsa_scsi_dev_t *this_device) hpsa_get_raid_map() argument 2361 hpsa_bmic_id_physical_device(struct ctlr_info *h, unsigned char scsi3addr[], u16 bmic_device_index, struct bmic_identify_physical_device *buf, size_t bufsize) hpsa_bmic_id_physical_device() argument 2389 hpsa_vpd_page_supported(struct ctlr_info *h, unsigned char scsi3addr[], u8 page) hpsa_vpd_page_supported() argument 2432 hpsa_get_ioaccel_status(struct ctlr_info *h, unsigned char *scsi3addr, struct hpsa_scsi_dev_t *this_device) hpsa_get_ioaccel_status() argument 2555 hpsa_get_volume_status(struct ctlr_info *h, unsigned char scsi3addr[]) hpsa_get_volume_status() argument 2599 hpsa_volume_offline(struct ctlr_info *h, unsigned char scsi3addr[]) hpsa_volume_offline() argument 2659 hpsa_update_device_info(struct ctlr_info *h, unsigned char scsi3addr[], struct hpsa_scsi_dev_t *this_device, unsigned char *is_OBDR_device) hpsa_update_device_info() argument 2850 hpsa_get_pdisk_of_ioaccel2(struct ctlr_info *h, struct CommandList *ioaccel2_cmd_to_abort, unsigned char *scsi3addr) hpsa_get_pdisk_of_ioaccel2() argument 3360 hpsa_scsi_ioaccel1_queue_command(struct ctlr_info *h, struct CommandList *c, u32 ioaccel_handle, u8 *cdb, int cdb_len, u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel1_queue_command() argument 3520 hpsa_scsi_ioaccel2_queue_command(struct ctlr_info *h, struct CommandList *c, u32 ioaccel_handle, u8 *cdb, int cdb_len, u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel2_queue_command() argument 3620 hpsa_scsi_ioaccel_queue_command(struct ctlr_info *h, struct CommandList *c, u32 ioaccel_handle, u8 *cdb, int cdb_len, u8 *scsi3addr, struct hpsa_scsi_dev_t *phys_disk) hpsa_scsi_ioaccel_queue_command() argument 3996 hpsa_ciss_submit(struct ctlr_info *h, struct CommandList *c, struct scsi_cmnd *cmd, unsigned char scsi3addr[]) hpsa_ciss_submit() argument 4466 hpsa_send_reset_as_abort_ioaccel2(struct ctlr_info *h, unsigned char *scsi3addr, struct CommandList *abort) hpsa_send_reset_as_abort_ioaccel2() argument 4542 hpsa_send_abort_both_ways(struct ctlr_info *h, unsigned char *scsi3addr, struct CommandList *abort) hpsa_send_abort_both_ways() argument 5187 fill_cmd(struct CommandList *c, u8 cmd, struct ctlr_info *h, void *buff, size_t size, u16 page_code, unsigned char *scsi3addr, int cmd_type) fill_cmd() argument
|