Lines Matching refs:scb
129 le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr);
353 struct scb *scb;
357 scb = ascb->scb;
360 scb->header.opcode = CONTROL_ATA_DEV;
362 scb->header.opcode = INITIATE_ATAPI_TASK;
364 scb->header.opcode = INITIATE_ATA_TASK;
366 scb->ata_task.proto_conn_rate = (1 << 5); /* STP */
368 scb->ata_task.proto_conn_rate |= dev->linkrate;
370 scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len);
371 scb->ata_task.fis = task->ata_task.fis;
373 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */
374 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */
376 memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet,
378 scb->ata_task.sister_scb = cpu_to_le16(0xFFFF);
379 scb->ata_task.conn_handle = cpu_to_le16(
390 scb->ata_task.ata_flags = flags;
392 scb->ata_task.retry_count = task->ata_task.retry_count;
399 scb->ata_task.flags = flags;
404 res = asd_map_scatterlist(task, scb->ata_task.sg_element,
422 struct scb *scb;
429 scb = ascb->scb;
431 scb->header.opcode = INITIATE_SMP_TASK;
433 scb->smp_task.proto_conn_rate = dev->linkrate;
435 scb->smp_task.smp_req.bus_addr =
437 scb->smp_task.smp_req.size =
440 scb->smp_task.smp_resp.bus_addr =
442 scb->smp_task.smp_resp.size =
445 scb->smp_task.sister_scb = cpu_to_le16(0xFFFF);
446 scb->smp_task.conn_handle = cpu_to_le16((u16)
471 struct scb *scb;
474 scb = ascb->scb;
476 scb->header.opcode = INITIATE_SSP_TASK;
478 scb->ssp_task.proto_conn_rate = (1 << 4); /* SSP */
479 scb->ssp_task.proto_conn_rate |= dev->linkrate;
480 scb->ssp_task.total_xfer_len = cpu_to_le32(task->total_xfer_len);
481 scb->ssp_task.ssp_frame.frame_type = SSP_DATA;
482 memcpy(scb->ssp_task.ssp_frame.hashed_dest_addr, dev->hashed_sas_addr,
484 memcpy(scb->ssp_task.ssp_frame.hashed_src_addr,
486 scb->ssp_task.ssp_frame.tptt = cpu_to_be16(0xFFFF);
488 memcpy(scb->ssp_task.ssp_cmd.lun, task->ssp_task.LUN, 8);
490 scb->ssp_task.ssp_cmd.efb_prio_attr |= EFB_MASK;
491 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_prio << 3);
492 scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_attr & 7);
493 memcpy(scb->ssp_task.ssp_cmd.cdb, task->ssp_task.cmd->cmnd,
496 scb->ssp_task.sister_scb = cpu_to_le16(0xFFFF);
497 scb->ssp_task.conn_handle = cpu_to_le16(
499 scb->ssp_task.data_dir = data_dir_flags[task->data_dir];
500 scb->ssp_task.retry_count = scb->ssp_task.retry_count;
504 res = asd_map_scatterlist(task, scb->ssp_task.sg_element, gfp_flags);