Lines Matching refs:hscb
444 scb->hscb->task_attribute = scb->hscb->control & SCB_TAG_TYPE; in ahd_setup_scb_common()
447 scb->hscb->task_attribute = SCB_XFERLEN_ODD; in ahd_setup_scb_common()
449 scb->hscb->task_attribute = 0; in ahd_setup_scb_common()
452 if (scb->hscb->cdb_len <= MAX_CDB_LEN_WITH_SENSE_ADDR in ahd_setup_scb_common()
453 || (scb->hscb->cdb_len & SCB_CDB_LEN_PTR) != 0) in ahd_setup_scb_common()
454 scb->hscb->shared_data.idata.cdb_plus_saddr.sense_addr = in ahd_setup_scb_common()
468 scb->hscb->dataptr = sg->addr; in ahd_setup_data_scb()
469 scb->hscb->datacnt = sg->len; in ahd_setup_data_scb()
475 dataptr_words = (uint32_t*)&scb->hscb->dataptr; in ahd_setup_data_scb()
482 scb->hscb->dataptr |= ahd_htole64(high_addr << 8); in ahd_setup_data_scb()
484 scb->hscb->datacnt = sg->len; in ahd_setup_data_scb()
492 scb->hscb->sgptr = ahd_htole32(scb->sg_list_busaddr|SG_FULL_RESID); in ahd_setup_data_scb()
498 scb->hscb->sgptr = ahd_htole32(SG_LIST_NULL); in ahd_setup_noxfer_scb()
499 scb->hscb->dataptr = 0; in ahd_setup_noxfer_scb()
500 scb->hscb->datacnt = 0; in ahd_setup_noxfer_scb()
531 /*offset*/(uint8_t*)scb->hscb - scb->hscb_map->vaddr, in ahd_sync_scb()
532 /*len*/sizeof(*scb->hscb), op); in ahd_sync_scb()
831 memcpy(q_hscb, scb->hscb, sizeof(*scb->hscb)); in ahd_swap_with_next_hscb()
833 q_hscb->next_hscb_busaddr = scb->hscb->hscb_busaddr; in ahd_swap_with_next_hscb()
836 ahd->next_queued_hscb = scb->hscb; in ahd_swap_with_next_hscb()
838 scb->hscb = q_hscb; in ahd_swap_with_next_hscb()
879 host_dataptr = ahd_le64toh(scb->hscb->dataptr); in ahd_queue_scb()
882 SCB_GET_TAG(scb), scb->hscb->scsiid, in ahd_queue_scb()
883 ahd_le32toh(scb->hscb->hscb_busaddr), in ahd_queue_scb()
886 ahd_le32toh(scb->hscb->datacnt)); in ahd_queue_scb()
1104 sgptr = ahd_le32toh(scb->hscb->sgptr); in ahd_update_residual()
1114 sgptr = ahd_le32toh(scb->hscb->sgptr); in ahd_complete_scb()
1346 hscb_ptr = (uint8_t *)scb->hscb; in ahd_flush_qoutfifo()
1826 ahd_outb(ahd, SAVED_SCSIID, scb->hscb->scsiid); in ahd_handle_seqint()
1827 ahd_outb(ahd, SAVED_LUN, scb->hscb->lun); in ahd_handle_seqint()
1966 scb->hscb->control &= ~(TAG_ENB|SCB_TAG_TYPE); in ahd_handle_seqint()
1967 scb->hscb->control |= MK_MESSAGE; in ahd_handle_seqint()
1968 ahd_outb(ahd, SCB_CONTROL, scb->hscb->control); in ahd_handle_seqint()
1970 ahd_outb(ahd, SAVED_SCSIID, scb->hscb->scsiid); in ahd_handle_seqint()
2289 scb->hscb->task_management); in ahd_handle_seqint()
2293 switch (scb->hscb->task_management) { in ahd_handle_seqint()
2298 lun = scb->hscb->lun; in ahd_handle_seqint()
2305 lun = scb->hscb->lun; in ahd_handle_seqint()
3107 saved_lun = scb->hscb->lun; in ahd_handle_nonpkt_busfree()
3291 if ((scb->hscb->control & TAG_ENB) != 0) in ahd_handle_nonpkt_busfree()
3600 struct hardware_scb *hscb;
3603 hscb = scb->hscb;
3606 hscb->control,
3607 hscb->scsiid,
3608 hscb->lun,
3609 hscb->cdb_len);
3611 for (i = 0; i < sizeof(hscb->shared_data.idata.cdb); i++)
3612 printk("%#02x", hscb->shared_data.idata.cdb[i]);
3614 (uint32_t)((ahd_le64toh(hscb->dataptr) >> 32) & 0xFFFFFFFF),
3615 (uint32_t)(ahd_le64toh(hscb->dataptr) & 0xFFFFFFFF),
3616 ahd_le32toh(hscb->datacnt),
3617 ahd_le32toh(hscb->sgptr),
4251 pending_scb->hscb->control &= ~MK_MESSAGE; in ahd_update_pending_scbs()
4291 control |= pending_scb->hscb->control & MK_MESSAGE; in ahd_update_pending_scbs()
4384 our_id = SCSIID_OUR_ID(scb->hscb->scsiid); in ahd_scb_devinfo()
4386 if ((scb->hscb->control & TARGET_SCB) != 0) in ahd_scb_devinfo()
4440 if ((scb->hscb->control & DISCENB) != 0) in ahd_setup_initiator_msgout()
4445 if ((scb->hscb->control & TAG_ENB) != 0) { in ahd_setup_initiator_msgout()
4447 scb->hscb->control & (TAG_ENB|SCB_TAG_TYPE); in ahd_setup_initiator_msgout()
4468 if ((scb->hscb->control & TAG_ENB) != 0) { in ahd_setup_initiator_msgout()
4476 (scb->hscb->control & TAG_ENB) != 0 ? " Tag" : ""); in ahd_setup_initiator_msgout()
4498 printk("SCSIID = %x, target_mask = %x\n", scb->hscb->scsiid, in ahd_setup_initiator_msgout()
4501 "SCB flags = %x", SCB_GET_TAG(scb), scb->hscb->control, in ahd_setup_initiator_msgout()
4512 scb->hscb->control &= ~MK_MESSAGE; in ahd_setup_initiator_msgout()
5616 } else if ((scb->hscb->control & MSG_SIMPLE_TASK) != 0) { in ahd_handle_msg_reject()
5620 tag_type = (scb->hscb->control & MSG_SIMPLE_TASK); in ahd_handle_msg_reject()
5644 scb->hscb->control &= mask; in ahd_handle_msg_reject()
5649 ahd_busy_tcl(ahd, BUILD_TCL(scb->hscb->scsiid, devinfo->lun), in ahd_handle_msg_reject()
6756 scb->hscb->control = 0; in ahd_free_scb()
6780 && (scb->col_scb->hscb->control & TAG_ENB) != 0) { in ahd_free_scb()
6808 struct hardware_scb *hscb; in ahd_alloc_scbs() local
6828 offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left; in ahd_alloc_scbs()
6830 hscb = &((struct hardware_scb *)hscb_map->vaddr)[offset]; in ahd_alloc_scbs()
6831 hscb_busaddr = hscb_map->physaddr + (offset * sizeof(*hscb)); in ahd_alloc_scbs()
6852 hscb = (struct hardware_scb *)hscb_map->vaddr; in ahd_alloc_scbs()
6854 scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb); in ahd_alloc_scbs()
6957 memset(hscb, 0, sizeof(*hscb)); in ahd_alloc_scbs()
6958 next_scb->hscb = hscb; in ahd_alloc_scbs()
6959 hscb->hscb_busaddr = ahd_htole32(hscb_busaddr); in ahd_alloc_scbs()
6982 next_scb->hscb->tag = ahd_htole16(scb_data->numscbs); in ahd_alloc_scbs()
6988 hscb++; in ahd_alloc_scbs()
6989 hscb_busaddr += sizeof(*hscb); in ahd_alloc_scbs()
8114 busaddr = ahd_le32toh(scb->hscb->hscb_busaddr); in ahd_qinfifo_requeue()
8117 prev_scb->hscb->next_hscb_busaddr = scb->hscb->hscb_busaddr; in ahd_qinfifo_requeue()
8123 scb->hscb->next_hscb_busaddr = ahd->next_queued_hscb->hscb_busaddr; in ahd_qinfifo_requeue()
8908 struct hardware_scb *hscb; in ahd_handle_scsi_status() local
8920 hscb = scb->hscb; in ahd_handle_scsi_status()
8950 ahd_set_scsi_status(scb, hscb->shared_data.istatus.scsi_status); in ahd_handle_scsi_status()
8951 switch (hscb->shared_data.istatus.scsi_status) { in ahd_handle_scsi_status()
9044 sc = (struct scsi_sense *)hscb->shared_data.idata.cdb; in ahd_handle_scsi_status()
9076 hscb->control = 0; in ahd_handle_scsi_status()
9092 hscb->control |= MK_MESSAGE; in ahd_handle_scsi_status()
9097 hscb->cdb_len = sizeof(*sc); in ahd_handle_scsi_status()
9116 if (scb->hscb->shared_data.istatus.scsi_status != 0) { in ahd_handle_scb_status()
9130 struct hardware_scb *hscb; in ahd_calc_residual() local
9152 hscb = scb->hscb; in ahd_calc_residual()
9153 sgptr = ahd_le32toh(hscb->sgptr); in ahd_calc_residual()
9169 spkt = &hscb->shared_data.istatus; in ahd_calc_residual()