• Home
  • Raw
  • Download

Lines Matching refs:bsg_job

19 	struct fc_bsg_job *bsg_job = sp->u.bsg_job;  in qla2x00_bsg_job_done()  local
21 bsg_job->reply->result = res; in qla2x00_bsg_job_done()
22 bsg_job->job_done(bsg_job); in qla2x00_bsg_job_done()
31 struct fc_bsg_job *bsg_job = sp->u.bsg_job; in qla2x00_bsg_sp_free() local
37 &bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla2x00_bsg_sp_free()
41 bsg_job->request_payload.sg_list, in qla2x00_bsg_sp_free()
42 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_bsg_sp_free()
46 bsg_job->reply_payload.sg_list, in qla2x00_bsg_sp_free()
47 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_bsg_sp_free()
49 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_bsg_sp_free()
50 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_bsg_sp_free()
52 dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_bsg_sp_free()
53 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_bsg_sp_free()
119 qla24xx_proc_fcp_prio_cfg_cmd(struct fc_bsg_job *bsg_job) in qla24xx_proc_fcp_prio_cfg_cmd() argument
121 struct Scsi_Host *host = bsg_job->shost; in qla24xx_proc_fcp_prio_cfg_cmd()
134 oper = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla24xx_proc_fcp_prio_cfg_cmd()
148 bsg_job->reply->result = DID_OK; in qla24xx_proc_fcp_prio_cfg_cmd()
151 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
163 bsg_job->reply->result = DID_OK; in qla24xx_proc_fcp_prio_cfg_cmd()
166 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
173 len = bsg_job->reply_payload.payload_len; in qla24xx_proc_fcp_prio_cfg_cmd()
176 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
180 bsg_job->reply->result = DID_OK; in qla24xx_proc_fcp_prio_cfg_cmd()
181 bsg_job->reply->reply_payload_rcv_len = in qla24xx_proc_fcp_prio_cfg_cmd()
183 bsg_job->reply_payload.sg_list, in qla24xx_proc_fcp_prio_cfg_cmd()
184 bsg_job->reply_payload.sg_cnt, ha->fcp_prio_cfg, in qla24xx_proc_fcp_prio_cfg_cmd()
190 len = bsg_job->request_payload.payload_len; in qla24xx_proc_fcp_prio_cfg_cmd()
192 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
203 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
210 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla24xx_proc_fcp_prio_cfg_cmd()
211 bsg_job->request_payload.sg_cnt, ha->fcp_prio_cfg, in qla24xx_proc_fcp_prio_cfg_cmd()
218 bsg_job->reply->result = (DID_ERROR << 16); in qla24xx_proc_fcp_prio_cfg_cmd()
232 bsg_job->reply->result = DID_OK; in qla24xx_proc_fcp_prio_cfg_cmd()
240 bsg_job->job_done(bsg_job); in qla24xx_proc_fcp_prio_cfg_cmd()
245 qla2x00_process_els(struct fc_bsg_job *bsg_job) in qla2x00_process_els() argument
258 if (bsg_job->request->msgcode == FC_BSG_RPT_ELS) { in qla2x00_process_els()
259 rport = bsg_job->rport; in qla2x00_process_els()
266 host = bsg_job->shost; in qla2x00_process_els()
287 if (bsg_job->request_payload.sg_cnt > 1 || in qla2x00_process_els()
288 bsg_job->reply_payload.sg_cnt > 1) { in qla2x00_process_els()
292 bsg_job->request_payload.sg_cnt, in qla2x00_process_els()
293 bsg_job->reply_payload.sg_cnt); in qla2x00_process_els()
299 if (bsg_job->request->msgcode == FC_BSG_RPT_ELS) { in qla2x00_process_els()
325 bsg_job->request->rqst_data.h_els.port_id[0]; in qla2x00_process_els()
327 bsg_job->request->rqst_data.h_els.port_id[1]; in qla2x00_process_els()
329 bsg_job->request->rqst_data.h_els.port_id[2]; in qla2x00_process_els()
336 dma_map_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_process_els()
337 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_els()
339 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_process_els()
340 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_els()
345 rsp_sg_cnt = dma_map_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_process_els()
346 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_els()
348 dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_process_els()
349 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_els()
354 if ((req_sg_cnt != bsg_job->request_payload.sg_cnt) || in qla2x00_process_els()
355 (rsp_sg_cnt != bsg_job->reply_payload.sg_cnt)) { in qla2x00_process_els()
359 "dma_reply_sg_cnt:%x.\n", bsg_job->request_payload.sg_cnt, in qla2x00_process_els()
360 req_sg_cnt, bsg_job->reply_payload.sg_cnt, rsp_sg_cnt); in qla2x00_process_els()
373 (bsg_job->request->msgcode == FC_BSG_RPT_ELS ? in qla2x00_process_els()
376 (bsg_job->request->msgcode == FC_BSG_RPT_ELS ? in qla2x00_process_els()
378 sp->u.bsg_job = bsg_job; in qla2x00_process_els()
385 bsg_job->request->rqst_data.h_els.command_code, fcport->loop_id, in qla2x00_process_els()
399 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_process_els()
400 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_els()
401 dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_process_els()
402 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_els()
406 if (bsg_job->request->msgcode == FC_BSG_RPT_ELS) in qla2x00_process_els()
427 qla2x00_process_ct(struct fc_bsg_job *bsg_job) in qla2x00_process_ct() argument
430 struct Scsi_Host *host = bsg_job->shost; in qla2x00_process_ct()
440 dma_map_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_process_ct()
441 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_ct()
449 rsp_sg_cnt = dma_map_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_process_ct()
450 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_ct()
458 if ((req_sg_cnt != bsg_job->request_payload.sg_cnt) || in qla2x00_process_ct()
459 (rsp_sg_cnt != bsg_job->reply_payload.sg_cnt)) { in qla2x00_process_ct()
462 "dma_reply_sg_cnt: %x\n", bsg_job->request_payload.sg_cnt, in qla2x00_process_ct()
463 req_sg_cnt, bsg_job->reply_payload.sg_cnt, rsp_sg_cnt); in qla2x00_process_ct()
476 (bsg_job->request->rqst_data.h_ct.preamble_word1 & 0xFF000000) in qla2x00_process_ct()
507 fcport->d_id.b.al_pa = bsg_job->request->rqst_data.h_ct.port_id[0]; in qla2x00_process_ct()
508 fcport->d_id.b.area = bsg_job->request->rqst_data.h_ct.port_id[1]; in qla2x00_process_ct()
509 fcport->d_id.b.domain = bsg_job->request->rqst_data.h_ct.port_id[2]; in qla2x00_process_ct()
524 sp->u.bsg_job = bsg_job; in qla2x00_process_ct()
531 (bsg_job->request->rqst_data.h_ct.preamble_word2 >> 16), in qla2x00_process_ct()
548 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla2x00_process_ct()
549 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_ct()
550 dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla2x00_process_ct()
551 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_ct()
704 qla2x00_process_loopback(struct fc_bsg_job *bsg_job) in qla2x00_process_loopback() argument
706 struct Scsi_Host *host = bsg_job->shost; in qla2x00_process_loopback()
729 bsg_job->request_payload.sg_list, bsg_job->request_payload.sg_cnt, in qla2x00_process_loopback()
739 bsg_job->reply_payload.sg_list, bsg_job->reply_payload.sg_cnt, in qla2x00_process_loopback()
749 if ((elreq.req_sg_cnt != bsg_job->request_payload.sg_cnt) || in qla2x00_process_loopback()
750 (elreq.rsp_sg_cnt != bsg_job->reply_payload.sg_cnt)) { in qla2x00_process_loopback()
755 bsg_job->request_payload.sg_cnt, elreq.req_sg_cnt, in qla2x00_process_loopback()
756 bsg_job->reply_payload.sg_cnt, elreq.rsp_sg_cnt); in qla2x00_process_loopback()
760 req_data_len = rsp_data_len = bsg_job->request_payload.payload_len; in qla2x00_process_loopback()
780 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_process_loopback()
781 bsg_job->request_payload.sg_cnt, req_data, req_data_len); in qla2x00_process_loopback()
787 elreq.options = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla2x00_process_loopback()
789 bsg_job->request->rqst_data.h_vendor.vendor_cmd[2]; in qla2x00_process_loopback()
903 bsg_job->reply->result = (DID_ERROR << 16); in qla2x00_process_loopback()
904 bsg_job->reply->reply_payload_rcv_len = 0; in qla2x00_process_loopback()
908 bsg_job->reply->result = (DID_OK << 16); in qla2x00_process_loopback()
909 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla2x00_process_loopback()
910 bsg_job->reply_payload.sg_cnt, rsp_data, in qla2x00_process_loopback()
914 bsg_job->reply_len = sizeof(struct fc_bsg_reply) + in qla2x00_process_loopback()
916 fw_sts_ptr = ((uint8_t *)bsg_job->req->sense) + in qla2x00_process_loopback()
930 bsg_job->reply_payload.sg_list, in qla2x00_process_loopback()
931 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla2x00_process_loopback()
934 bsg_job->request_payload.sg_list, in qla2x00_process_loopback()
935 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla2x00_process_loopback()
937 bsg_job->job_done(bsg_job); in qla2x00_process_loopback()
942 qla84xx_reset(struct fc_bsg_job *bsg_job) in qla84xx_reset() argument
944 struct Scsi_Host *host = bsg_job->shost; in qla84xx_reset()
955 flag = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla84xx_reset()
967 bsg_job->reply->result = DID_OK; in qla84xx_reset()
968 bsg_job->job_done(bsg_job); in qla84xx_reset()
975 qla84xx_updatefw(struct fc_bsg_job *bsg_job) in qla84xx_updatefw() argument
977 struct Scsi_Host *host = bsg_job->shost; in qla84xx_updatefw()
996 sg_cnt = dma_map_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla84xx_updatefw()
997 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla84xx_updatefw()
1004 if (sg_cnt != bsg_job->request_payload.sg_cnt) { in qla84xx_updatefw()
1008 bsg_job->request_payload.sg_cnt, sg_cnt); in qla84xx_updatefw()
1013 data_len = bsg_job->request_payload.payload_len; in qla84xx_updatefw()
1023 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla84xx_updatefw()
1024 bsg_job->request_payload.sg_cnt, fw_buf, data_len); in qla84xx_updatefw()
1034 flag = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla84xx_updatefw()
1065 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla84xx_updatefw()
1066 bsg_job->reply->result = DID_OK; in qla84xx_updatefw()
1075 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla84xx_updatefw()
1076 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla84xx_updatefw()
1079 bsg_job->job_done(bsg_job); in qla84xx_updatefw()
1084 qla84xx_mgmt_cmd(struct fc_bsg_job *bsg_job) in qla84xx_mgmt_cmd() argument
1086 struct Scsi_Host *host = bsg_job->shost; in qla84xx_mgmt_cmd()
1114 ql84_mgmt = (void *)bsg_job->request + sizeof(struct fc_bsg_request); in qla84xx_mgmt_cmd()
1119 bsg_job->reply_payload.sg_list, in qla84xx_mgmt_cmd()
1120 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla84xx_mgmt_cmd()
1130 if (sg_cnt != bsg_job->reply_payload.sg_cnt) { in qla84xx_mgmt_cmd()
1134 bsg_job->reply_payload.sg_cnt, sg_cnt); in qla84xx_mgmt_cmd()
1139 data_len = bsg_job->reply_payload.payload_len; in qla84xx_mgmt_cmd()
1169 bsg_job->request_payload.sg_list, in qla84xx_mgmt_cmd()
1170 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla84xx_mgmt_cmd()
1181 if (sg_cnt != bsg_job->request_payload.sg_cnt) { in qla84xx_mgmt_cmd()
1185 bsg_job->request_payload.sg_cnt, sg_cnt); in qla84xx_mgmt_cmd()
1190 data_len = bsg_job->request_payload.payload_len; in qla84xx_mgmt_cmd()
1200 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla84xx_mgmt_cmd()
1201 bsg_job->request_payload.sg_cnt, mgmt_b, data_len); in qla84xx_mgmt_cmd()
1245 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla84xx_mgmt_cmd()
1246 bsg_job->reply->result = DID_OK; in qla84xx_mgmt_cmd()
1250 bsg_job->reply->reply_payload_rcv_len = in qla84xx_mgmt_cmd()
1251 bsg_job->reply_payload.payload_len; in qla84xx_mgmt_cmd()
1253 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla84xx_mgmt_cmd()
1254 bsg_job->reply_payload.sg_cnt, mgmt_b, in qla84xx_mgmt_cmd()
1264 dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, in qla84xx_mgmt_cmd()
1265 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla84xx_mgmt_cmd()
1267 dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, in qla84xx_mgmt_cmd()
1268 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla84xx_mgmt_cmd()
1274 bsg_job->job_done(bsg_job); in qla84xx_mgmt_cmd()
1279 qla24xx_iidma(struct fc_bsg_job *bsg_job) in qla24xx_iidma() argument
1281 struct Scsi_Host *host = bsg_job->shost; in qla24xx_iidma()
1295 port_param = (void *)bsg_job->request + sizeof(struct fc_bsg_request); in qla24xx_iidma()
1347 bsg_job->reply_len = sizeof(struct fc_bsg_reply) + in qla24xx_iidma()
1350 rsp_ptr = ((uint8_t *)bsg_job->reply) + in qla24xx_iidma()
1357 bsg_job->reply->result = DID_OK; in qla24xx_iidma()
1358 bsg_job->job_done(bsg_job); in qla24xx_iidma()
1365 qla2x00_optrom_setup(struct fc_bsg_job *bsg_job, scsi_qla_host_t *vha, in qla2x00_optrom_setup() argument
1375 start = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qla2x00_optrom_setup()
1402 bsg_job->request_payload.payload_len); in qla2x00_optrom_setup()
1407 bsg_job->request_payload.payload_len > ha->optrom_size ? in qla2x00_optrom_setup()
1409 bsg_job->request_payload.payload_len; in qla2x00_optrom_setup()
1413 bsg_job->reply_payload.payload_len > ha->optrom_size ? in qla2x00_optrom_setup()
1415 bsg_job->reply_payload.payload_len; in qla2x00_optrom_setup()
1434 qla2x00_read_optrom(struct fc_bsg_job *bsg_job) in qla2x00_read_optrom() argument
1436 struct Scsi_Host *host = bsg_job->shost; in qla2x00_read_optrom()
1445 rval = qla2x00_optrom_setup(bsg_job, vha, 0); in qla2x00_read_optrom()
1454 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla2x00_read_optrom()
1455 bsg_job->reply_payload.sg_cnt, ha->optrom_buffer, in qla2x00_read_optrom()
1458 bsg_job->reply->reply_payload_rcv_len = ha->optrom_region_size; in qla2x00_read_optrom()
1459 bsg_job->reply->result = DID_OK; in qla2x00_read_optrom()
1464 bsg_job->job_done(bsg_job); in qla2x00_read_optrom()
1469 qla2x00_update_optrom(struct fc_bsg_job *bsg_job) in qla2x00_update_optrom() argument
1471 struct Scsi_Host *host = bsg_job->shost; in qla2x00_update_optrom()
1477 rval = qla2x00_optrom_setup(bsg_job, vha, 1); in qla2x00_update_optrom()
1486 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_update_optrom()
1487 bsg_job->request_payload.sg_cnt, ha->optrom_buffer, in qla2x00_update_optrom()
1493 bsg_job->reply->result = DID_OK; in qla2x00_update_optrom()
1498 bsg_job->job_done(bsg_job); in qla2x00_update_optrom()
1503 qla2x00_update_fru_versions(struct fc_bsg_job *bsg_job) in qla2x00_update_fru_versions() argument
1505 struct Scsi_Host *host = bsg_job->shost; in qla2x00_update_fru_versions()
1516 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_update_fru_versions()
1521 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_update_fru_versions()
1522 bsg_job->request_payload.sg_cnt, list, sizeof(bsg)); in qla2x00_update_fru_versions()
1532 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_update_fru_versions()
1539 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = 0; in qla2x00_update_fru_versions()
1545 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla2x00_update_fru_versions()
1546 bsg_job->reply->result = DID_OK << 16; in qla2x00_update_fru_versions()
1547 bsg_job->job_done(bsg_job); in qla2x00_update_fru_versions()
1553 qla2x00_read_fru_status(struct fc_bsg_job *bsg_job) in qla2x00_read_fru_status() argument
1555 struct Scsi_Host *host = bsg_job->shost; in qla2x00_read_fru_status()
1564 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_read_fru_status()
1569 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_read_fru_status()
1570 bsg_job->request_payload.sg_cnt, sr, sizeof(*sr)); in qla2x00_read_fru_status()
1578 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_read_fru_status()
1583 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla2x00_read_fru_status()
1584 bsg_job->reply_payload.sg_cnt, sr, sizeof(*sr)); in qla2x00_read_fru_status()
1586 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = 0; in qla2x00_read_fru_status()
1592 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla2x00_read_fru_status()
1593 bsg_job->reply->reply_payload_rcv_len = sizeof(*sr); in qla2x00_read_fru_status()
1594 bsg_job->reply->result = DID_OK << 16; in qla2x00_read_fru_status()
1595 bsg_job->job_done(bsg_job); in qla2x00_read_fru_status()
1601 qla2x00_write_fru_status(struct fc_bsg_job *bsg_job) in qla2x00_write_fru_status() argument
1603 struct Scsi_Host *host = bsg_job->shost; in qla2x00_write_fru_status()
1612 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_write_fru_status()
1617 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_write_fru_status()
1618 bsg_job->request_payload.sg_cnt, sr, sizeof(*sr)); in qla2x00_write_fru_status()
1626 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_write_fru_status()
1631 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = 0; in qla2x00_write_fru_status()
1637 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla2x00_write_fru_status()
1638 bsg_job->reply->result = DID_OK << 16; in qla2x00_write_fru_status()
1639 bsg_job->job_done(bsg_job); in qla2x00_write_fru_status()
1645 qla2x00_write_i2c(struct fc_bsg_job *bsg_job) in qla2x00_write_i2c() argument
1647 struct Scsi_Host *host = bsg_job->shost; in qla2x00_write_i2c()
1656 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_write_i2c()
1661 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_write_i2c()
1662 bsg_job->request_payload.sg_cnt, i2c, sizeof(*i2c)); in qla2x00_write_i2c()
1669 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_write_i2c()
1674 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = 0; in qla2x00_write_i2c()
1680 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla2x00_write_i2c()
1681 bsg_job->reply->result = DID_OK << 16; in qla2x00_write_i2c()
1682 bsg_job->job_done(bsg_job); in qla2x00_write_i2c()
1688 qla2x00_read_i2c(struct fc_bsg_job *bsg_job) in qla2x00_read_i2c() argument
1690 struct Scsi_Host *host = bsg_job->shost; in qla2x00_read_i2c()
1699 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_read_i2c()
1704 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla2x00_read_i2c()
1705 bsg_job->request_payload.sg_cnt, i2c, sizeof(*i2c)); in qla2x00_read_i2c()
1711 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla2x00_read_i2c()
1717 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla2x00_read_i2c()
1718 bsg_job->reply_payload.sg_cnt, i2c, sizeof(*i2c)); in qla2x00_read_i2c()
1720 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = 0; in qla2x00_read_i2c()
1726 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla2x00_read_i2c()
1727 bsg_job->reply->reply_payload_rcv_len = sizeof(*i2c); in qla2x00_read_i2c()
1728 bsg_job->reply->result = DID_OK << 16; in qla2x00_read_i2c()
1729 bsg_job->job_done(bsg_job); in qla2x00_read_i2c()
1735 qla24xx_process_bidir_cmd(struct fc_bsg_job *bsg_job) in qla24xx_process_bidir_cmd() argument
1737 struct Scsi_Host *host = bsg_job->shost; in qla24xx_process_bidir_cmd()
1822 bsg_job->request_payload.sg_list, in qla24xx_process_bidir_cmd()
1823 bsg_job->request_payload.sg_cnt, in qla24xx_process_bidir_cmd()
1832 bsg_job->reply_payload.sg_list, bsg_job->reply_payload.sg_cnt, in qla24xx_process_bidir_cmd()
1840 if ((req_sg_cnt != bsg_job->request_payload.sg_cnt) || in qla24xx_process_bidir_cmd()
1841 (rsp_sg_cnt != bsg_job->reply_payload.sg_cnt)) { in qla24xx_process_bidir_cmd()
1846 bsg_job->request_payload.sg_cnt, req_sg_cnt, in qla24xx_process_bidir_cmd()
1847 bsg_job->reply_payload.sg_cnt, rsp_sg_cnt); in qla24xx_process_bidir_cmd()
1852 req_data_len = bsg_job->request_payload.payload_len; in qla24xx_process_bidir_cmd()
1853 rsp_data_len = bsg_job->reply_payload.payload_len; in qla24xx_process_bidir_cmd()
1872 sp->u.bsg_job = bsg_job; in qla24xx_process_bidir_cmd()
1890 bsg_job->reply_payload.sg_list, in qla24xx_process_bidir_cmd()
1891 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qla24xx_process_bidir_cmd()
1894 bsg_job->request_payload.sg_list, in qla24xx_process_bidir_cmd()
1895 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qla24xx_process_bidir_cmd()
1901 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = rval; in qla24xx_process_bidir_cmd()
1902 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla24xx_process_bidir_cmd()
1903 bsg_job->reply->reply_payload_rcv_len = 0; in qla24xx_process_bidir_cmd()
1904 bsg_job->reply->result = (DID_OK) << 16; in qla24xx_process_bidir_cmd()
1905 bsg_job->job_done(bsg_job); in qla24xx_process_bidir_cmd()
1911 qlafx00_mgmt_cmd(struct fc_bsg_job *bsg_job) in qlafx00_mgmt_cmd() argument
1913 struct Scsi_Host *host = bsg_job->shost; in qlafx00_mgmt_cmd()
1925 &bsg_job->request->rqst_data.h_vendor.vendor_cmd[1]; in qlafx00_mgmt_cmd()
1940 bsg_job->request_payload.sg_list, in qlafx00_mgmt_cmd()
1941 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qlafx00_mgmt_cmd()
1952 bsg_job->reply_payload.sg_list, in qlafx00_mgmt_cmd()
1953 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qlafx00_mgmt_cmd()
1964 "dma_reply_sg_cnt: %x\n", bsg_job->request_payload.sg_cnt, in qlafx00_mgmt_cmd()
1965 req_sg_cnt, bsg_job->reply_payload.sg_cnt, rsp_sg_cnt); in qlafx00_mgmt_cmd()
1996 sp->u.bsg_job = bsg_job; in qlafx00_mgmt_cmd()
2020 bsg_job->reply_payload.sg_list, in qlafx00_mgmt_cmd()
2021 bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); in qlafx00_mgmt_cmd()
2025 bsg_job->request_payload.sg_list, in qlafx00_mgmt_cmd()
2026 bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); in qlafx00_mgmt_cmd()
2033 qla26xx_serdes_op(struct fc_bsg_job *bsg_job) in qla26xx_serdes_op() argument
2035 struct Scsi_Host *host = bsg_job->shost; in qla26xx_serdes_op()
2042 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla26xx_serdes_op()
2043 bsg_job->request_payload.sg_cnt, &sr, sizeof(sr)); in qla26xx_serdes_op()
2048 bsg_job->reply->reply_payload_rcv_len = 0; in qla26xx_serdes_op()
2052 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla26xx_serdes_op()
2053 bsg_job->reply_payload.sg_cnt, &sr, sizeof(sr)); in qla26xx_serdes_op()
2054 bsg_job->reply->reply_payload_rcv_len = sizeof(sr); in qla26xx_serdes_op()
2063 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla26xx_serdes_op()
2066 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla26xx_serdes_op()
2067 bsg_job->reply->result = DID_OK << 16; in qla26xx_serdes_op()
2068 bsg_job->job_done(bsg_job); in qla26xx_serdes_op()
2073 qla8044_serdes_op(struct fc_bsg_job *bsg_job) in qla8044_serdes_op() argument
2075 struct Scsi_Host *host = bsg_job->shost; in qla8044_serdes_op()
2082 sg_copy_to_buffer(bsg_job->request_payload.sg_list, in qla8044_serdes_op()
2083 bsg_job->request_payload.sg_cnt, &sr, sizeof(sr)); in qla8044_serdes_op()
2088 bsg_job->reply->reply_payload_rcv_len = 0; in qla8044_serdes_op()
2092 sg_copy_from_buffer(bsg_job->reply_payload.sg_list, in qla8044_serdes_op()
2093 bsg_job->reply_payload.sg_cnt, &sr, sizeof(sr)); in qla8044_serdes_op()
2094 bsg_job->reply->reply_payload_rcv_len = sizeof(sr); in qla8044_serdes_op()
2103 bsg_job->reply->reply_data.vendor_reply.vendor_rsp[0] = in qla8044_serdes_op()
2106 bsg_job->reply_len = sizeof(struct fc_bsg_reply); in qla8044_serdes_op()
2107 bsg_job->reply->result = DID_OK << 16; in qla8044_serdes_op()
2108 bsg_job->job_done(bsg_job); in qla8044_serdes_op()
2113 qla2x00_process_vendor_specific(struct fc_bsg_job *bsg_job) in qla2x00_process_vendor_specific() argument
2115 switch (bsg_job->request->rqst_data.h_vendor.vendor_cmd[0]) { in qla2x00_process_vendor_specific()
2117 return qla2x00_process_loopback(bsg_job); in qla2x00_process_vendor_specific()
2120 return qla84xx_reset(bsg_job); in qla2x00_process_vendor_specific()
2123 return qla84xx_updatefw(bsg_job); in qla2x00_process_vendor_specific()
2126 return qla84xx_mgmt_cmd(bsg_job); in qla2x00_process_vendor_specific()
2129 return qla24xx_iidma(bsg_job); in qla2x00_process_vendor_specific()
2132 return qla24xx_proc_fcp_prio_cfg_cmd(bsg_job); in qla2x00_process_vendor_specific()
2135 return qla2x00_read_optrom(bsg_job); in qla2x00_process_vendor_specific()
2138 return qla2x00_update_optrom(bsg_job); in qla2x00_process_vendor_specific()
2141 return qla2x00_update_fru_versions(bsg_job); in qla2x00_process_vendor_specific()
2144 return qla2x00_read_fru_status(bsg_job); in qla2x00_process_vendor_specific()
2147 return qla2x00_write_fru_status(bsg_job); in qla2x00_process_vendor_specific()
2150 return qla2x00_write_i2c(bsg_job); in qla2x00_process_vendor_specific()
2153 return qla2x00_read_i2c(bsg_job); in qla2x00_process_vendor_specific()
2156 return qla24xx_process_bidir_cmd(bsg_job); in qla2x00_process_vendor_specific()
2159 return qlafx00_mgmt_cmd(bsg_job); in qla2x00_process_vendor_specific()
2162 return qla26xx_serdes_op(bsg_job); in qla2x00_process_vendor_specific()
2165 return qla8044_serdes_op(bsg_job); in qla2x00_process_vendor_specific()
2173 qla24xx_bsg_request(struct fc_bsg_job *bsg_job) in qla24xx_bsg_request() argument
2181 bsg_job->reply->reply_payload_rcv_len = 0; in qla24xx_bsg_request()
2183 if (bsg_job->request->msgcode == FC_BSG_RPT_ELS) { in qla24xx_bsg_request()
2184 rport = bsg_job->rport; in qla24xx_bsg_request()
2188 host = bsg_job->shost; in qla24xx_bsg_request()
2195 bsg_job->request->msgcode); in qla24xx_bsg_request()
2200 "Entered %s msgcode=0x%x.\n", __func__, bsg_job->request->msgcode); in qla24xx_bsg_request()
2202 switch (bsg_job->request->msgcode) { in qla24xx_bsg_request()
2205 ret = qla2x00_process_els(bsg_job); in qla24xx_bsg_request()
2208 ret = qla2x00_process_ct(bsg_job); in qla24xx_bsg_request()
2211 ret = qla2x00_process_vendor_specific(bsg_job); in qla24xx_bsg_request()
2224 qla24xx_bsg_timeout(struct fc_bsg_job *bsg_job) in qla24xx_bsg_timeout() argument
2226 scsi_qla_host_t *vha = shost_priv(bsg_job->shost); in qla24xx_bsg_timeout()
2246 && (sp->u.bsg_job == bsg_job)) { in qla24xx_bsg_timeout()
2253 bsg_job->req->errors = in qla24xx_bsg_timeout()
2254 bsg_job->reply->result = -EIO; in qla24xx_bsg_timeout()
2259 bsg_job->req->errors = in qla24xx_bsg_timeout()
2260 bsg_job->reply->result = 0; in qla24xx_bsg_timeout()
2270 bsg_job->req->errors = bsg_job->reply->result = -ENXIO; in qla24xx_bsg_timeout()