Lines Matching refs:scb

129 		       le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr);  in asd_unmap_scatterlist()
352 struct scb *scb; in asd_build_ata_ascb() local
356 scb = ascb->scb; in asd_build_ata_ascb()
359 scb->header.opcode = CONTROL_ATA_DEV; in asd_build_ata_ascb()
361 scb->header.opcode = INITIATE_ATAPI_TASK; in asd_build_ata_ascb()
363 scb->header.opcode = INITIATE_ATA_TASK; in asd_build_ata_ascb()
365 scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ in asd_build_ata_ascb()
367 scb->ata_task.proto_conn_rate |= dev->linkrate; in asd_build_ata_ascb()
369 scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ata_ascb()
370 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb()
372 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ in asd_build_ata_ascb()
373 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ in asd_build_ata_ascb()
375 memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet, in asd_build_ata_ascb()
377 scb->ata_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ata_ascb()
378 scb->ata_task.conn_handle = cpu_to_le16( in asd_build_ata_ascb()
389 scb->ata_task.ata_flags = flags; in asd_build_ata_ascb()
391 scb->ata_task.retry_count = task->ata_task.retry_count; in asd_build_ata_ascb()
398 scb->ata_task.flags = flags; in asd_build_ata_ascb()
403 res = asd_map_scatterlist(task, scb->ata_task.sg_element, in asd_build_ata_ascb()
421 struct scb *scb; in asd_build_smp_ascb() local
428 scb = ascb->scb; in asd_build_smp_ascb()
430 scb->header.opcode = INITIATE_SMP_TASK; in asd_build_smp_ascb()
432 scb->smp_task.proto_conn_rate = dev->linkrate; in asd_build_smp_ascb()
434 scb->smp_task.smp_req.bus_addr = in asd_build_smp_ascb()
436 scb->smp_task.smp_req.size = in asd_build_smp_ascb()
439 scb->smp_task.smp_resp.bus_addr = in asd_build_smp_ascb()
441 scb->smp_task.smp_resp.size = in asd_build_smp_ascb()
444 scb->smp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_smp_ascb()
445 scb->smp_task.conn_handle = cpu_to_le16((u16) in asd_build_smp_ascb()
470 struct scb *scb; in asd_build_ssp_ascb() local
473 scb = ascb->scb; in asd_build_ssp_ascb()
475 scb->header.opcode = INITIATE_SSP_TASK; in asd_build_ssp_ascb()
477 scb->ssp_task.proto_conn_rate = (1 << 4); /* SSP */ in asd_build_ssp_ascb()
478 scb->ssp_task.proto_conn_rate |= dev->linkrate; in asd_build_ssp_ascb()
479 scb->ssp_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ssp_ascb()
480 scb->ssp_task.ssp_frame.frame_type = SSP_DATA; in asd_build_ssp_ascb()
481 memcpy(scb->ssp_task.ssp_frame.hashed_dest_addr, dev->hashed_sas_addr, in asd_build_ssp_ascb()
483 memcpy(scb->ssp_task.ssp_frame.hashed_src_addr, in asd_build_ssp_ascb()
485 scb->ssp_task.ssp_frame.tptt = cpu_to_be16(0xFFFF); in asd_build_ssp_ascb()
487 memcpy(scb->ssp_task.ssp_cmd.lun, task->ssp_task.LUN, 8); in asd_build_ssp_ascb()
489 scb->ssp_task.ssp_cmd.efb_prio_attr |= EFB_MASK; in asd_build_ssp_ascb()
490 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_prio << 3); in asd_build_ssp_ascb()
491 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_attr & 7); in asd_build_ssp_ascb()
492 memcpy(scb->ssp_task.ssp_cmd.cdb, task->ssp_task.cmd->cmnd, in asd_build_ssp_ascb()
495 scb->ssp_task.sister_scb = cpu_to_le16(0xFFFF); in asd_build_ssp_ascb()
496 scb->ssp_task.conn_handle = cpu_to_le16( in asd_build_ssp_ascb()
498 scb->ssp_task.data_dir = data_dir_flags[task->data_dir]; in asd_build_ssp_ascb()
499 scb->ssp_task.retry_count = scb->ssp_task.retry_count; in asd_build_ssp_ascb()
503 res = asd_map_scatterlist(task, scb->ssp_task.sg_element, gfp_flags); in asd_build_ssp_ascb()