Lines Matching refs:scb

126 		       le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr);  in asd_unmap_scatterlist()
349 struct scb *scb; in asd_build_ata_ascb() local
353 scb = ascb->scb; in asd_build_ata_ascb()
356 scb->header.opcode = CONTROL_ATA_DEV; in asd_build_ata_ascb()
358 scb->header.opcode = INITIATE_ATAPI_TASK; in asd_build_ata_ascb()
360 scb->header.opcode = INITIATE_ATA_TASK; in asd_build_ata_ascb()
362 scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ in asd_build_ata_ascb()
364 scb->ata_task.proto_conn_rate |= dev->linkrate; in asd_build_ata_ascb()
366 scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ata_ascb()
367 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb()
369 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ in asd_build_ata_ascb()
370 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ in asd_build_ata_ascb()
372 memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet, in asd_build_ata_ascb()
374 scb->ata_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ata_ascb()
375 scb->ata_task.conn_handle = cpu_to_le16( in asd_build_ata_ascb()
386 scb->ata_task.ata_flags = flags; in asd_build_ata_ascb()
388 scb->ata_task.retry_count = task->ata_task.retry_count; in asd_build_ata_ascb()
395 scb->ata_task.flags = flags; in asd_build_ata_ascb()
400 res = asd_map_scatterlist(task, scb->ata_task.sg_element, in asd_build_ata_ascb()
418 struct scb *scb; in asd_build_smp_ascb() local
425 scb = ascb->scb; in asd_build_smp_ascb()
427 scb->header.opcode = INITIATE_SMP_TASK; in asd_build_smp_ascb()
429 scb->smp_task.proto_conn_rate = dev->linkrate; in asd_build_smp_ascb()
431 scb->smp_task.smp_req.bus_addr = in asd_build_smp_ascb()
433 scb->smp_task.smp_req.size = in asd_build_smp_ascb()
436 scb->smp_task.smp_resp.bus_addr = in asd_build_smp_ascb()
438 scb->smp_task.smp_resp.size = in asd_build_smp_ascb()
441 scb->smp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_smp_ascb()
442 scb->smp_task.conn_handle = cpu_to_le16((u16) in asd_build_smp_ascb()
467 struct scb *scb; in asd_build_ssp_ascb() local
470 scb = ascb->scb; in asd_build_ssp_ascb()
472 scb->header.opcode = INITIATE_SSP_TASK; in asd_build_ssp_ascb()
474 scb->ssp_task.proto_conn_rate = (1 << 4); /* SSP */ in asd_build_ssp_ascb()
475 scb->ssp_task.proto_conn_rate |= dev->linkrate; in asd_build_ssp_ascb()
476 scb->ssp_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ssp_ascb()
477 scb->ssp_task.ssp_frame.frame_type = SSP_DATA; in asd_build_ssp_ascb()
478 memcpy(scb->ssp_task.ssp_frame.hashed_dest_addr, dev->hashed_sas_addr, in asd_build_ssp_ascb()
480 memcpy(scb->ssp_task.ssp_frame.hashed_src_addr, in asd_build_ssp_ascb()
482 scb->ssp_task.ssp_frame.tptt = cpu_to_be16(0xFFFF); in asd_build_ssp_ascb()
484 memcpy(scb->ssp_task.ssp_cmd.lun, task->ssp_task.LUN, 8); in asd_build_ssp_ascb()
486 scb->ssp_task.ssp_cmd.efb_prio_attr |= EFB_MASK; in asd_build_ssp_ascb()
487 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_prio << 3); in asd_build_ssp_ascb()
488 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_attr & 7); in asd_build_ssp_ascb()
489 memcpy(scb->ssp_task.ssp_cmd.cdb, task->ssp_task.cmd->cmnd, in asd_build_ssp_ascb()
492 scb->ssp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ssp_ascb()
493 scb->ssp_task.conn_handle = cpu_to_le16( in asd_build_ssp_ascb()
495 scb->ssp_task.data_dir = data_dir_flags[task->data_dir]; in asd_build_ssp_ascb()
496 scb->ssp_task.retry_count = scb->ssp_task.retry_count; in asd_build_ssp_ascb()
500 res = asd_map_scatterlist(task, scb->ssp_task.sg_element, gfp_flags); in asd_build_ssp_ascb()