Lines Matching refs:ioarcb
607 trace_entry->op_code = ipr_cmd->ioarcb.cmd_pkt.cdb[0]; in ipr_trc_hook()
612 trace_entry->ata_op_code = ipr_cmd->ioarcb.u.add_data.u.regs.command; in ipr_trc_hook()
614 trace_entry->res_handle = ipr_cmd->ioarcb.res_handle; in ipr_trc_hook()
648 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_reinit_ipr_cmnd() local
654 hrrq_id = ioarcb->cmd_pkt.hrrq_id; in ipr_reinit_ipr_cmnd()
655 memset(&ioarcb->cmd_pkt, 0, sizeof(struct ipr_cmd_pkt)); in ipr_reinit_ipr_cmnd()
656 ioarcb->cmd_pkt.hrrq_id = hrrq_id; in ipr_reinit_ipr_cmnd()
657 ioarcb->data_transfer_length = 0; in ipr_reinit_ipr_cmnd()
658 ioarcb->read_data_transfer_length = 0; in ipr_reinit_ipr_cmnd()
659 ioarcb->ioadl_len = 0; in ipr_reinit_ipr_cmnd()
660 ioarcb->read_ioadl_len = 0; in ipr_reinit_ipr_cmnd()
663 ioarcb->u.sis64_addr_data.data_ioadl_addr = in ipr_reinit_ipr_cmnd()
667 ioarcb->write_ioadl_addr = in ipr_reinit_ipr_cmnd()
669 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr; in ipr_reinit_ipr_cmnd()
1011 ipr_cmd->ioarcb.ioadl_len = in ipr_init_ioadl()
1013 ipr_cmd->ioarcb.data_transfer_length = cpu_to_be32(len); in ipr_init_ioadl()
1019 ipr_cmd->ioarcb.read_ioadl_len = in ipr_init_ioadl()
1021 ipr_cmd->ioarcb.read_data_transfer_length = cpu_to_be32(len); in ipr_init_ioadl()
1023 ipr_cmd->ioarcb.ioadl_len = in ipr_init_ioadl()
1025 ipr_cmd->ioarcb.data_transfer_length = cpu_to_be32(len); in ipr_init_ioadl()
1083 struct ipr_ioarcb *ioarcb; in ipr_send_hcam() local
1091 ioarcb = &ipr_cmd->ioarcb; in ipr_send_hcam()
1093 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_send_hcam()
1094 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_HCAM; in ipr_send_hcam()
1095 ioarcb->cmd_pkt.cdb[0] = IPR_HOST_CONTROLLED_ASYNC; in ipr_send_hcam()
1096 ioarcb->cmd_pkt.cdb[1] = type; in ipr_send_hcam()
1097 ioarcb->cmd_pkt.cdb[7] = (sizeof(hostrcb->hcam) >> 8) & 0xff; in ipr_send_hcam()
1098 ioarcb->cmd_pkt.cdb[8] = sizeof(hostrcb->hcam) & 0xff; in ipr_send_hcam()
3878 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ucode_ioadl64() local
3884 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ucode_ioadl64()
3885 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl64()
3887 ioarcb->ioadl_len = in ipr_build_ucode_ioadl64()
3909 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ucode_ioadl() local
3915 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ucode_ioadl()
3916 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl()
3918 ioarcb->ioadl_len = in ipr_build_ucode_ioadl()
5035 struct ipr_ioarcb *ioarcb; in ipr_device_reset() local
5042 ioarcb = &ipr_cmd->ioarcb; in ipr_device_reset()
5043 cmd_pkt = &ioarcb->cmd_pkt; in ipr_device_reset()
5047 ioarcb->add_cmd_parms_offset = cpu_to_be16(sizeof(*ioarcb)); in ipr_device_reset()
5049 regs = &ioarcb->u.add_data.u.regs; in ipr_device_reset()
5051 ioarcb->res_handle = res->res_handle; in ipr_device_reset()
5056 ioarcb->add_cmd_parms_len = cpu_to_be16(sizeof(regs->flags)); in ipr_device_reset()
5154 if (ipr_cmd->ioarcb.res_handle == res->res_handle) { in __ipr_eh_dev_reset()
5181 if (ipr_cmd->ioarcb.res_handle == in __ipr_eh_dev_reset()
5232 if (res->res_handle == ipr_cmd->ioarcb.res_handle) { in ipr_bus_reset_done()
5280 reset_cmd->ioarcb.res_handle = ipr_cmd->ioarcb.res_handle; in ipr_abort_timeout()
5281 cmd_pkt = &reset_cmd->ioarcb.cmd_pkt; in ipr_abort_timeout()
5350 ipr_cmd->ioarcb.res_handle = res->res_handle; in ipr_cancel_op()
5351 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt; in ipr_cancel_op()
5734 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ioadl64() local
5750 ioarcb->data_transfer_length = cpu_to_be32(length); in ipr_build_ioadl64()
5751 ioarcb->ioadl_len = in ipr_build_ioadl64()
5756 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ioadl64()
5786 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ioadl() local
5803 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ioadl()
5804 ioarcb->data_transfer_length = cpu_to_be32(length); in ipr_build_ioadl()
5805 ioarcb->ioadl_len = in ipr_build_ioadl()
5809 ioarcb->read_data_transfer_length = cpu_to_be32(length); in ipr_build_ioadl()
5810 ioarcb->read_ioadl_len = in ipr_build_ioadl()
5814 if (ipr_cmd->dma_use_sg <= ARRAY_SIZE(ioarcb->u.add_data.u.ioadl)) { in ipr_build_ioadl()
5815 ioadl = ioarcb->u.add_data.u.ioadl; in ipr_build_ioadl()
5816 ioarcb->write_ioadl_addr = cpu_to_be32((ipr_cmd->dma_addr) + in ipr_build_ioadl()
5818 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr; in ipr_build_ioadl()
5875 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_reinit_ipr_cmnd_for_erp() local
5879 memset(&ioarcb->cmd_pkt, 0, sizeof(struct ipr_cmd_pkt)); in ipr_reinit_ipr_cmnd_for_erp()
5880 ioarcb->data_transfer_length = 0; in ipr_reinit_ipr_cmnd_for_erp()
5881 ioarcb->read_data_transfer_length = 0; in ipr_reinit_ipr_cmnd_for_erp()
5882 ioarcb->ioadl_len = 0; in ipr_reinit_ipr_cmnd_for_erp()
5883 ioarcb->read_ioadl_len = 0; in ipr_reinit_ipr_cmnd_for_erp()
5888 ioarcb->u.sis64_addr_data.data_ioadl_addr = in ipr_reinit_ipr_cmnd_for_erp()
5891 ioarcb->write_ioadl_addr = in ipr_reinit_ipr_cmnd_for_erp()
5893 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr; in ipr_reinit_ipr_cmnd_for_erp()
5909 struct ipr_cmd_pkt *cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt; in ipr_erp_request_sense()
5960 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt; in ipr_erp_cancel_all()
6309 struct ipr_ioarcb *ioarcb; in ipr_queuecommand() local
6359 ioarcb = &ipr_cmd->ioarcb; in ipr_queuecommand()
6361 memcpy(ioarcb->cmd_pkt.cdb, scsi_cmd->cmnd, scsi_cmd->cmd_len); in ipr_queuecommand()
6367 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_ULEN_CHK; in ipr_queuecommand()
6369 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_LINK_DESC; in ipr_queuecommand()
6372 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_DELAY_AFTER_RST; in ipr_queuecommand()
6374 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_ALIGNED_BFR; in ipr_queuecommand()
6376 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_SIMPLE_TASK; in ipr_queuecommand()
6378 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_UNTAGGED_TASK; in ipr_queuecommand()
6383 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_queuecommand()
6386 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_PIPE; in ipr_queuecommand()
6409 ioarcb->res_handle = res->res_handle; in ipr_queuecommand()
6411 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_SYNC_COMPLETE; in ipr_queuecommand()
6653 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ata_ioadl64() local
6666 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ata_ioadl64()
6670 ioarcb->data_transfer_length = cpu_to_be32(len); in ipr_build_ata_ioadl64()
6671 ioarcb->ioadl_len = in ipr_build_ata_ioadl64()
6673 ioarcb->u.sis64_addr_data.data_ioadl_addr = in ipr_build_ata_ioadl64()
6699 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_ata_ioadl() local
6711 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_ata_ioadl()
6712 ioarcb->data_transfer_length = cpu_to_be32(len); in ipr_build_ata_ioadl()
6713 ioarcb->ioadl_len = in ipr_build_ata_ioadl()
6717 ioarcb->read_data_transfer_length = cpu_to_be32(len); in ipr_build_ata_ioadl()
6718 ioarcb->read_ioadl_len = in ipr_build_ata_ioadl()
6790 struct ipr_ioarcb *ioarcb; in ipr_qc_issue() local
6810 ioarcb = &ipr_cmd->ioarcb; in ipr_qc_issue()
6814 ioarcb->add_cmd_parms_offset = cpu_to_be16(sizeof(*ioarcb)); in ipr_qc_issue()
6816 regs = &ioarcb->u.add_data.u.regs; in ipr_qc_issue()
6819 ioarcb->add_cmd_parms_len = cpu_to_be16(sizeof(*regs)); in ipr_qc_issue()
6824 ipr_cmd->ioarcb.res_handle = res->res_handle; in ipr_qc_issue()
6825 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_ATA_PASSTHRU; in ipr_qc_issue()
6826 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_LINK_DESC; in ipr_qc_issue()
6827 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_ULEN_CHK; in ipr_qc_issue()
6837 memcpy(ioarcb->cmd_pkt.cdb, qc->cdb, IPR_MAX_CDB_LEN); in ipr_qc_issue()
7094 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_set_supported_devs() local
7106 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_set_supported_devs()
7107 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_set_supported_devs()
7108 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_set_supported_devs()
7110 ioarcb->cmd_pkt.cdb[0] = IPR_SET_SUPPORTED_DEVICES; in ipr_set_supported_devs()
7111 ioarcb->cmd_pkt.cdb[1] = IPR_SET_ALL_SUPPORTED_DEVICES; in ipr_set_supported_devs()
7112 ioarcb->cmd_pkt.cdb[7] = (sizeof(struct ipr_supported_device) >> 8) & 0xff; in ipr_set_supported_devs()
7113 ioarcb->cmd_pkt.cdb[8] = sizeof(struct ipr_supported_device) & 0xff; in ipr_set_supported_devs()
7295 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_mode_select() local
7297 ioarcb->res_handle = res_handle; in ipr_build_mode_select()
7298 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB; in ipr_build_mode_select()
7299 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ; in ipr_build_mode_select()
7300 ioarcb->cmd_pkt.cdb[0] = MODE_SELECT; in ipr_build_mode_select()
7301 ioarcb->cmd_pkt.cdb[1] = parm; in ipr_build_mode_select()
7302 ioarcb->cmd_pkt.cdb[4] = xfer_len; in ipr_build_mode_select()
7358 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_build_mode_sense() local
7360 ioarcb->res_handle = res_handle; in ipr_build_mode_sense()
7361 ioarcb->cmd_pkt.cdb[0] = MODE_SENSE; in ipr_build_mode_sense()
7362 ioarcb->cmd_pkt.cdb[2] = parm; in ipr_build_mode_sense()
7363 ioarcb->cmd_pkt.cdb[4] = xfer_len; in ipr_build_mode_sense()
7364 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB; in ipr_build_mode_sense()
7385 ipr_cmd->ioarcb.cmd_pkt.cdb[0], ioasc); in ipr_reset_cmd_failed()
7640 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_ioafp_query_ioa_cfg() local
7650 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_ioafp_query_ioa_cfg()
7651 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_ioafp_query_ioa_cfg()
7653 ioarcb->cmd_pkt.cdb[0] = IPR_QUERY_IOA_CONFIG; in ipr_ioafp_query_ioa_cfg()
7654 ioarcb->cmd_pkt.cdb[6] = (ioa_cfg->cfg_table_size >> 16) & 0xff; in ipr_ioafp_query_ioa_cfg()
7655 ioarcb->cmd_pkt.cdb[7] = (ioa_cfg->cfg_table_size >> 8) & 0xff; in ipr_ioafp_query_ioa_cfg()
7656 ioarcb->cmd_pkt.cdb[8] = ioa_cfg->cfg_table_size & 0xff; in ipr_ioafp_query_ioa_cfg()
7681 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_ioafp_inquiry() local
7684 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB; in ipr_ioafp_inquiry()
7685 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_ioafp_inquiry()
7687 ioarcb->cmd_pkt.cdb[0] = INQUIRY; in ipr_ioafp_inquiry()
7688 ioarcb->cmd_pkt.cdb[1] = flags; in ipr_ioafp_inquiry()
7689 ioarcb->cmd_pkt.cdb[2] = page; in ipr_ioafp_inquiry()
7690 ioarcb->cmd_pkt.cdb[4] = xfer_len; in ipr_ioafp_inquiry()
7858 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; in ipr_ioafp_identify_hrrq() local
7868 ioarcb->cmd_pkt.cdb[0] = IPR_ID_HOST_RR_Q; in ipr_ioafp_identify_hrrq()
7869 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_ioafp_identify_hrrq()
7871 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_ioafp_identify_hrrq()
7873 ioarcb->cmd_pkt.cdb[1] = 0x1; in ipr_ioafp_identify_hrrq()
7876 ioarcb->cmd_pkt.cdb[1] &= ~IPR_ID_HRRQ_SELE_ENABLE; in ipr_ioafp_identify_hrrq()
7878 ioarcb->cmd_pkt.cdb[1] |= IPR_ID_HRRQ_SELE_ENABLE; in ipr_ioafp_identify_hrrq()
7880 ioarcb->cmd_pkt.cdb[2] = in ipr_ioafp_identify_hrrq()
7882 ioarcb->cmd_pkt.cdb[3] = in ipr_ioafp_identify_hrrq()
7884 ioarcb->cmd_pkt.cdb[4] = in ipr_ioafp_identify_hrrq()
7886 ioarcb->cmd_pkt.cdb[5] = in ipr_ioafp_identify_hrrq()
7888 ioarcb->cmd_pkt.cdb[7] = in ipr_ioafp_identify_hrrq()
7890 ioarcb->cmd_pkt.cdb[8] = in ipr_ioafp_identify_hrrq()
7893 if (ioarcb->cmd_pkt.cdb[1] & IPR_ID_HRRQ_SELE_ENABLE) in ipr_ioafp_identify_hrrq()
7894 ioarcb->cmd_pkt.cdb[9] = in ipr_ioafp_identify_hrrq()
7898 ioarcb->cmd_pkt.cdb[10] = in ipr_ioafp_identify_hrrq()
7900 ioarcb->cmd_pkt.cdb[11] = in ipr_ioafp_identify_hrrq()
7902 ioarcb->cmd_pkt.cdb[12] = in ipr_ioafp_identify_hrrq()
7904 ioarcb->cmd_pkt.cdb[13] = in ipr_ioafp_identify_hrrq()
7908 if (ioarcb->cmd_pkt.cdb[1] & IPR_ID_HRRQ_SELE_ENABLE) in ipr_ioafp_identify_hrrq()
7909 ioarcb->cmd_pkt.cdb[14] = in ipr_ioafp_identify_hrrq()
8683 if (hcam_cmd->ioarcb.cmd_pkt.cdb[0] != IPR_HOST_CONTROLLED_ASYNC) in ipr_reset_cancel_hcam()
8686 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_reset_cancel_hcam()
8687 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_reset_cancel_hcam()
8688 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt; in ipr_reset_cancel_hcam()
8758 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_reset_ucode_download()
8759 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_SCSICDB; in ipr_reset_ucode_download()
8760 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = WRITE_BUFFER; in ipr_reset_ucode_download()
8761 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = IPR_WR_BUF_DOWNLOAD_AND_SAVE; in ipr_reset_ucode_download()
8762 ipr_cmd->ioarcb.cmd_pkt.cdb[6] = (sglist->buffer_len & 0xff0000) >> 16; in ipr_reset_ucode_download()
8763 ipr_cmd->ioarcb.cmd_pkt.cdb[7] = (sglist->buffer_len & 0x00ff00) >> 8; in ipr_reset_ucode_download()
8764 ipr_cmd->ioarcb.cmd_pkt.cdb[8] = sglist->buffer_len & 0x0000ff; in ipr_reset_ucode_download()
8802 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_reset_shutdown_ioa()
8803 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_reset_shutdown_ioa()
8804 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = IPR_IOA_SHUTDOWN; in ipr_reset_shutdown_ioa()
8805 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = shutdown_type; in ipr_reset_shutdown_ioa()
9281 struct ipr_ioarcb *ioarcb; in ipr_alloc_cmd_blks() local
9346 ioarcb = &ipr_cmd->ioarcb; in ipr_alloc_cmd_blks()
9349 ioarcb->a.ioarcb_host_pci_addr64 = cpu_to_be64(dma_addr); in ipr_alloc_cmd_blks()
9351 ioarcb->a.ioarcb_host_pci_addr = cpu_to_be32(dma_addr); in ipr_alloc_cmd_blks()
9353 ioarcb->host_response_handle = cpu_to_be32(i << 2); in ipr_alloc_cmd_blks()
9355 ioarcb->u.sis64_addr_data.data_ioadl_addr = in ipr_alloc_cmd_blks()
9357 ioarcb->u.sis64_addr_data.ioasa_host_pci_addr = in ipr_alloc_cmd_blks()
9360 ioarcb->write_ioadl_addr = in ipr_alloc_cmd_blks()
9362 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr; in ipr_alloc_cmd_blks()
9363 ioarcb->ioasa_host_pci_addr = in ipr_alloc_cmd_blks()
9366 ioarcb->ioasa_len = cpu_to_be16(sizeof(struct ipr_ioasa)); in ipr_alloc_cmd_blks()
9372 ipr_cmd->ioarcb.cmd_pkt.hrrq_id = hrrq_id; in ipr_alloc_cmd_blks()
10497 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); in ipr_halt()
10498 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD; in ipr_halt()
10499 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = IPR_IOA_SHUTDOWN; in ipr_halt()
10500 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = IPR_SHUTDOWN_PREPARE_FOR_NORMAL; in ipr_halt()