Lines Matching refs:scb

144 		       le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr);  in asd_unmap_scatterlist()
368 struct scb *scb; in asd_build_ata_ascb() local
372 scb = ascb->scb; in asd_build_ata_ascb()
375 scb->header.opcode = CONTROL_ATA_DEV; in asd_build_ata_ascb()
377 scb->header.opcode = INITIATE_ATAPI_TASK; in asd_build_ata_ascb()
379 scb->header.opcode = INITIATE_ATA_TASK; in asd_build_ata_ascb()
381 scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ in asd_build_ata_ascb()
383 scb->ata_task.proto_conn_rate |= dev->linkrate; in asd_build_ata_ascb()
385 scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ata_ascb()
386 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb()
388 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ in asd_build_ata_ascb()
389 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ in asd_build_ata_ascb()
391 memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet, in asd_build_ata_ascb()
393 scb->ata_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ata_ascb()
394 scb->ata_task.conn_handle = cpu_to_le16( in asd_build_ata_ascb()
405 scb->ata_task.ata_flags = flags; in asd_build_ata_ascb()
407 scb->ata_task.retry_count = task->ata_task.retry_count; in asd_build_ata_ascb()
414 scb->ata_task.flags = flags; in asd_build_ata_ascb()
419 res = asd_map_scatterlist(task, scb->ata_task.sg_element, in asd_build_ata_ascb()
437 struct scb *scb; in asd_build_smp_ascb() local
444 scb = ascb->scb; in asd_build_smp_ascb()
446 scb->header.opcode = INITIATE_SMP_TASK; in asd_build_smp_ascb()
448 scb->smp_task.proto_conn_rate = dev->linkrate; in asd_build_smp_ascb()
450 scb->smp_task.smp_req.bus_addr = in asd_build_smp_ascb()
452 scb->smp_task.smp_req.size = in asd_build_smp_ascb()
455 scb->smp_task.smp_resp.bus_addr = in asd_build_smp_ascb()
457 scb->smp_task.smp_resp.size = in asd_build_smp_ascb()
460 scb->smp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_smp_ascb()
461 scb->smp_task.conn_handle = cpu_to_le16((u16) in asd_build_smp_ascb()
486 struct scb *scb; in asd_build_ssp_ascb() local
489 scb = ascb->scb; in asd_build_ssp_ascb()
491 scb->header.opcode = INITIATE_SSP_TASK; in asd_build_ssp_ascb()
493 scb->ssp_task.proto_conn_rate = (1 << 4); /* SSP */ in asd_build_ssp_ascb()
494 scb->ssp_task.proto_conn_rate |= dev->linkrate; in asd_build_ssp_ascb()
495 scb->ssp_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ssp_ascb()
496 scb->ssp_task.ssp_frame.frame_type = SSP_DATA; in asd_build_ssp_ascb()
497 memcpy(scb->ssp_task.ssp_frame.hashed_dest_addr, dev->hashed_sas_addr, in asd_build_ssp_ascb()
499 memcpy(scb->ssp_task.ssp_frame.hashed_src_addr, in asd_build_ssp_ascb()
501 scb->ssp_task.ssp_frame.tptt = cpu_to_be16(0xFFFF); in asd_build_ssp_ascb()
503 memcpy(scb->ssp_task.ssp_cmd.lun, task->ssp_task.LUN, 8); in asd_build_ssp_ascb()
505 scb->ssp_task.ssp_cmd.efb_prio_attr |= EFB_MASK; in asd_build_ssp_ascb()
506 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_prio << 3); in asd_build_ssp_ascb()
507 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_attr & 7); in asd_build_ssp_ascb()
508 memcpy(scb->ssp_task.ssp_cmd.cdb, task->ssp_task.cmd->cmnd, in asd_build_ssp_ascb()
511 scb->ssp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ssp_ascb()
512 scb->ssp_task.conn_handle = cpu_to_le16( in asd_build_ssp_ascb()
514 scb->ssp_task.data_dir = data_dir_flags[task->data_dir]; in asd_build_ssp_ascb()
515 scb->ssp_task.retry_count = scb->ssp_task.retry_count; in asd_build_ssp_ascb()
519 res = asd_map_scatterlist(task, scb->ssp_task.sg_element, gfp_flags); in asd_build_ssp_ascb()