ascb 62 drivers/scsi/aic94xx/aic94xx.h void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id); ascb 913 drivers/scsi/aic94xx/aic94xx_dump.c static void asd_dump_scb(struct asd_ascb *ascb, int ind) ascb 917 drivers/scsi/aic94xx/aic94xx_dump.c ind, ascb->dma_scb.vaddr, ascb 918 drivers/scsi/aic94xx/aic94xx_dump.c (unsigned long long)ascb->dma_scb.dma_handle, ascb 920 drivers/scsi/aic94xx/aic94xx_dump.c le64_to_cpu(ascb->scb->header.next_scb), ascb 921 drivers/scsi/aic94xx/aic94xx_dump.c le16_to_cpu(ascb->scb->header.index), ascb 922 drivers/scsi/aic94xx/aic94xx_dump.c ascb->scb->header.opcode); ascb 925 drivers/scsi/aic94xx/aic94xx_dump.c void asd_dump_scb_list(struct asd_ascb *ascb, int num) ascb 931 drivers/scsi/aic94xx/aic94xx_dump.c asd_dump_scb(ascb, i++); ascb 934 drivers/scsi/aic94xx/aic94xx_dump.c if (num > 0 && !list_empty(&ascb->list)) { ascb 937 drivers/scsi/aic94xx/aic94xx_dump.c list_for_each(el, &ascb->list) { ascb 345 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb = seq->escb_arr[i]; ascb 346 drivers/scsi/aic94xx/aic94xx_hwi.c struct empty_scb *escb = &ascb->scb->escb; ascb 348 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->edb_index = z; ascb 722 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb; ascb 729 drivers/scsi/aic94xx/aic94xx_hwi.c ascb = asd_tc_index_find(seq, (int)le16_to_cpu(dl->index)); ascb 731 drivers/scsi/aic94xx/aic94xx_hwi.c if (unlikely(!ascb)) { ascb 734 drivers/scsi/aic94xx/aic94xx_hwi.c } else if (ascb->scb->header.opcode == EMPTY_SCB) { ascb 736 drivers/scsi/aic94xx/aic94xx_hwi.c } else if (!ascb->uldd_timer && !del_timer(&ascb->timer)) { ascb 740 drivers/scsi/aic94xx/aic94xx_hwi.c list_del_init(&ascb->list); ascb 744 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->tasklet_complete(ascb, dl); ascb 1035 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb; ascb 1038 drivers/scsi/aic94xx/aic94xx_hwi.c ascb = kmem_cache_zalloc(asd_ascb_cache, gfp_flags); ascb 1040 drivers/scsi/aic94xx/aic94xx_hwi.c if (ascb) { ascb 1041 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->dma_scb.size = sizeof(struct scb); ascb 1042 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->dma_scb.vaddr = dma_pool_zalloc(asd_ha->scb_pool, ascb 1044 drivers/scsi/aic94xx/aic94xx_hwi.c &ascb->dma_scb.dma_handle); ascb 1045 drivers/scsi/aic94xx/aic94xx_hwi.c if (!ascb->dma_scb.vaddr) { ascb 1046 drivers/scsi/aic94xx/aic94xx_hwi.c kmem_cache_free(asd_ascb_cache, ascb); ascb 1049 drivers/scsi/aic94xx/aic94xx_hwi.c asd_init_ascb(asd_ha, ascb); ascb 1052 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->tc_index = asd_tc_index_get(seq, ascb); ascb 1054 drivers/scsi/aic94xx/aic94xx_hwi.c if (ascb->tc_index == -1) ascb 1057 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->scb->header.index = cpu_to_le16((u16)ascb->tc_index); ascb 1060 drivers/scsi/aic94xx/aic94xx_hwi.c return ascb; ascb 1062 drivers/scsi/aic94xx/aic94xx_hwi.c dma_pool_free(asd_ha->scb_pool, ascb->dma_scb.vaddr, ascb 1063 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->dma_scb.dma_handle); ascb 1064 drivers/scsi/aic94xx/aic94xx_hwi.c kmem_cache_free(asd_ascb_cache, ascb); ascb 1092 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb = asd_ascb_alloc(asd_ha, gfp_flags); ascb 1094 drivers/scsi/aic94xx/aic94xx_hwi.c if (!ascb) ascb 1097 drivers/scsi/aic94xx/aic94xx_hwi.c first = ascb; ascb 1102 drivers/scsi/aic94xx/aic94xx_hwi.c list_add_tail(&ascb->list, &first->list); ascb 1104 drivers/scsi/aic94xx/aic94xx_hwi.c cpu_to_le64(((u64)ascb->dma_scb.dma_handle)); ascb 1130 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb) ascb 1133 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *last = list_entry(ascb->list.prev, ascb 1136 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_dma_tok t = ascb->dma_scb; ascb 1138 drivers/scsi/aic94xx/aic94xx_hwi.c memcpy(seq->next_scb.vaddr, ascb->scb, sizeof(*ascb->scb)); ascb 1139 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->dma_scb = seq->next_scb; ascb 1140 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->scb = ascb->dma_scb.vaddr; ascb 1158 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb; ascb 1159 drivers/scsi/aic94xx/aic94xx_hwi.c list_for_each_entry(ascb, list, list) { ascb 1160 drivers/scsi/aic94xx/aic94xx_hwi.c if (!ascb->uldd_timer) { ascb 1161 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->timer.function = asd_ascb_timedout; ascb 1162 drivers/scsi/aic94xx/aic94xx_hwi.c ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT; ascb 1163 drivers/scsi/aic94xx/aic94xx_hwi.c add_timer(&ascb->timer); ascb 1187 drivers/scsi/aic94xx/aic94xx_hwi.c int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, ascb 1207 drivers/scsi/aic94xx/aic94xx_hwi.c asd_swap_head_scb(asd_ha, ascb); ascb 1209 drivers/scsi/aic94xx/aic94xx_hwi.c __list_add(&list, ascb->list.prev, &ascb->list); ascb 1239 drivers/scsi/aic94xx/aic94xx_hwi.c int asd_post_escb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, ascb 1245 drivers/scsi/aic94xx/aic94xx_hwi.c asd_swap_head_scb(asd_ha, ascb); ascb 1340 drivers/scsi/aic94xx/aic94xx_hwi.c struct asd_ascb *ascb; ascb 1361 drivers/scsi/aic94xx/aic94xx_hwi.c ascb = ascb_list; ascb 1363 drivers/scsi/aic94xx/aic94xx_hwi.c asd_build_control_phy(ascb, i, ENABLE_PHY); ascb 1364 drivers/scsi/aic94xx/aic94xx_hwi.c ascb = list_entry(ascb->list.next, struct asd_ascb, list); ascb 271 drivers/scsi/aic94xx/aic94xx_hwi.h struct asd_ascb *ascb) ascb 273 drivers/scsi/aic94xx/aic94xx_hwi.h INIT_LIST_HEAD(&ascb->list); ascb 274 drivers/scsi/aic94xx/aic94xx_hwi.h ascb->scb = ascb->dma_scb.vaddr; ascb 275 drivers/scsi/aic94xx/aic94xx_hwi.h ascb->ha = asd_ha; ascb 276 drivers/scsi/aic94xx/aic94xx_hwi.h timer_setup(&ascb->timer, NULL, 0); ascb 277 drivers/scsi/aic94xx/aic94xx_hwi.h ascb->tc_index = -1; ascb 319 drivers/scsi/aic94xx/aic94xx_hwi.h static inline void asd_ascb_free(struct asd_ascb *ascb) ascb 321 drivers/scsi/aic94xx/aic94xx_hwi.h if (ascb) { ascb 322 drivers/scsi/aic94xx/aic94xx_hwi.h struct asd_ha_struct *asd_ha = ascb->ha; ascb 325 drivers/scsi/aic94xx/aic94xx_hwi.h BUG_ON(!list_empty(&ascb->list)); ascb 326 drivers/scsi/aic94xx/aic94xx_hwi.h spin_lock_irqsave(&ascb->ha->seq.tc_index_lock, flags); ascb 327 drivers/scsi/aic94xx/aic94xx_hwi.h asd_tc_index_release(&ascb->ha->seq, ascb->tc_index); ascb 328 drivers/scsi/aic94xx/aic94xx_hwi.h spin_unlock_irqrestore(&ascb->ha->seq.tc_index_lock, flags); ascb 329 drivers/scsi/aic94xx/aic94xx_hwi.h dma_pool_free(asd_ha->scb_pool, ascb->dma_scb.vaddr, ascb 330 drivers/scsi/aic94xx/aic94xx_hwi.h ascb->dma_scb.dma_handle); ascb 331 drivers/scsi/aic94xx/aic94xx_hwi.h kmem_cache_free(asd_ascb_cache, ascb); ascb 365 drivers/scsi/aic94xx/aic94xx_hwi.h int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, ascb 367 drivers/scsi/aic94xx/aic94xx_hwi.h int asd_post_escb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, ascb 371 drivers/scsi/aic94xx/aic94xx_hwi.h void asd_build_control_phy(struct asd_ascb *ascb, int phy_id, u8 subfunc); ascb 857 drivers/scsi/aic94xx/aic94xx_init.c struct asd_ascb *ascb = list_entry(pos, struct asd_ascb, list); ascb 864 drivers/scsi/aic94xx/aic94xx_init.c del_timer_sync(&ascb->timer); ascb 865 drivers/scsi/aic94xx/aic94xx_init.c WARN_ON(ascb->scb->header.opcode != CONTROL_PHY); ascb 869 drivers/scsi/aic94xx/aic94xx_init.c asd_ascb_free(ascb); ascb 67 drivers/scsi/aic94xx/aic94xx_scb.c static void asd_phy_event_tasklet(struct asd_ascb *ascb, ascb 70 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 217 drivers/scsi/aic94xx/aic94xx_scb.c static void asd_bytes_dmaed_tasklet(struct asd_ascb *ascb, ascb 222 drivers/scsi/aic94xx/aic94xx_scb.c int edb_el = edb_id + ascb->edb_index; ascb 223 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_dma_tok *edb = ascb->ha->seq.edb_arr[edb_el]; ascb 224 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_phy *phy = &ascb->ha->phys[phy_id]; ascb 236 drivers/scsi/aic94xx/aic94xx_scb.c asd_form_port(ascb->ha, phy); ascb 240 drivers/scsi/aic94xx/aic94xx_scb.c static void asd_link_reset_err_tasklet(struct asd_ascb *ascb, ascb 244 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 277 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ascb *cp = asd_ascb_alloc_list(ascb->ha, &num, ascb 286 drivers/scsi/aic94xx/aic94xx_scb.c if (asd_post_ascb_list(ascb->ha, cp, 1) != 0) ascb 293 drivers/scsi/aic94xx/aic94xx_scb.c static void asd_primitive_rcvd_tasklet(struct asd_ascb *ascb, ascb 298 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = &ascb->ha->sas_ha; ascb 300 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 364 drivers/scsi/aic94xx/aic94xx_scb.c void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id) ascb 366 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_seq_data *seq = &ascb->ha->seq; ascb 367 drivers/scsi/aic94xx/aic94xx_scb.c struct empty_scb *escb = &ascb->scb->escb; ascb 369 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_dma_tok *edb = seq->edb_arr[ascb->edb_index + edb_id]; ascb 389 drivers/scsi/aic94xx/aic94xx_scb.c if (!list_empty(&ascb->list)) ascb 390 drivers/scsi/aic94xx/aic94xx_scb.c list_del_init(&ascb->list); ascb 391 drivers/scsi/aic94xx/aic94xx_scb.c i = asd_post_escb_list(ascb->ha, ascb, 1); ascb 397 drivers/scsi/aic94xx/aic94xx_scb.c static void escb_tasklet_complete(struct asd_ascb *ascb, ascb 400 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 416 drivers/scsi/aic94xx/aic94xx_scb.c ascb->dma_scb.vaddr, ascb 417 drivers/scsi/aic94xx/aic94xx_scb.c (unsigned long long)ascb->dma_scb.dma_handle, ascb 419 drivers/scsi/aic94xx/aic94xx_scb.c le64_to_cpu(ascb->scb->header.next_scb), ascb 420 drivers/scsi/aic94xx/aic94xx_scb.c le16_to_cpu(ascb->scb->header.index), ascb 421 drivers/scsi/aic94xx/aic94xx_scb.c ascb->scb->header.opcode); ascb 547 drivers/scsi/aic94xx/aic94xx_scb.c asd_bytes_dmaed_tasklet(ascb, dl, edb, phy_id); ascb 552 drivers/scsi/aic94xx/aic94xx_scb.c asd_primitive_rcvd_tasklet(ascb, dl, phy_id); ascb 556 drivers/scsi/aic94xx/aic94xx_scb.c asd_phy_event_tasklet(ascb, dl); ascb 561 drivers/scsi/aic94xx/aic94xx_scb.c asd_link_reset_err_tasklet(ascb, dl, phy_id); ascb 582 drivers/scsi/aic94xx/aic94xx_scb.c ascb->dma_scb.vaddr, ascb 583 drivers/scsi/aic94xx/aic94xx_scb.c (unsigned long long)ascb->dma_scb.dma_handle, ascb 585 drivers/scsi/aic94xx/aic94xx_scb.c le64_to_cpu(ascb->scb->header.next_scb), ascb 586 drivers/scsi/aic94xx/aic94xx_scb.c le16_to_cpu(ascb->scb->header.index), ascb 587 drivers/scsi/aic94xx/aic94xx_scb.c ascb->scb->header.opcode); ascb 592 drivers/scsi/aic94xx/aic94xx_scb.c asd_invalidate_edb(ascb, edb); ascb 624 drivers/scsi/aic94xx/aic94xx_scb.c static void control_phy_tasklet_complete(struct asd_ascb *ascb, ascb 627 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 628 drivers/scsi/aic94xx/aic94xx_scb.c struct scb *scb = ascb->scb; ascb 631 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_phy *phy = &ascb->ha->phys[phy_id]; ascb 697 drivers/scsi/aic94xx/aic94xx_scb.c asd_ascb_free(ascb); ascb 762 drivers/scsi/aic94xx/aic94xx_scb.c void asd_build_control_phy(struct asd_ascb *ascb, int phy_id, u8 subfunc) ascb 764 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_phy *phy = &ascb->ha->phys[phy_id]; ascb 765 drivers/scsi/aic94xx/aic94xx_scb.c struct scb *scb = ascb->scb; ascb 805 drivers/scsi/aic94xx/aic94xx_scb.c ascb->tasklet_complete = control_phy_tasklet_complete; ascb 812 drivers/scsi/aic94xx/aic94xx_scb.c static void link_adm_tasklet_complete(struct asd_ascb *ascb, ascb 816 drivers/scsi/aic94xx/aic94xx_scb.c struct initiate_link_adm *link_adm = &ascb->scb->link_adm; ascb 826 drivers/scsi/aic94xx/aic94xx_scb.c asd_ascb_free(ascb); ascb 829 drivers/scsi/aic94xx/aic94xx_scb.c void asd_build_initiate_link_adm_task(struct asd_ascb *ascb, int phy_id, ascb 832 drivers/scsi/aic94xx/aic94xx_scb.c struct scb *scb = ascb->scb; ascb 841 drivers/scsi/aic94xx/aic94xx_scb.c ascb->tasklet_complete = link_adm_tasklet_complete; ascb 861 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ascb *ascb = from_timer(ascb, t, timer); ascb 862 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_seq_data *seq = &ascb->ha->seq; ascb 865 drivers/scsi/aic94xx/aic94xx_scb.c ASD_DPRINTK("scb:0x%x timed out\n", ascb->scb->header.opcode); ascb 869 drivers/scsi/aic94xx/aic94xx_scb.c list_del_init(&ascb->list); ascb 872 drivers/scsi/aic94xx/aic94xx_scb.c asd_ascb_free(ascb); ascb 890 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_ascb *ascb; ascb 914 drivers/scsi/aic94xx/aic94xx_scb.c ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL); ascb 915 drivers/scsi/aic94xx/aic94xx_scb.c if (!ascb) ascb 918 drivers/scsi/aic94xx/aic94xx_scb.c asd_build_control_phy(ascb, phy->id, phy_func_table[func]); ascb 919 drivers/scsi/aic94xx/aic94xx_scb.c res = asd_post_ascb_list(asd_ha, ascb , 1); ascb 921 drivers/scsi/aic94xx/aic94xx_scb.c asd_ascb_free(ascb); ascb 40 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ascb *ascb = task->lldd_task; ascb 41 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 72 drivers/scsi/aic94xx/aic94xx_task.c ascb->sg_arr = asd_alloc_coherent(asd_ha, ascb 75 drivers/scsi/aic94xx/aic94xx_task.c if (!ascb->sg_arr) { ascb 81 drivers/scsi/aic94xx/aic94xx_task.c &((struct sg_el *)ascb->sg_arr->vaddr)[i]; ascb 97 drivers/scsi/aic94xx/aic94xx_task.c sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle); ascb 116 drivers/scsi/aic94xx/aic94xx_task.c static void asd_unmap_scatterlist(struct asd_ascb *ascb) ascb 118 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 119 drivers/scsi/aic94xx/aic94xx_task.c struct sas_task *task = ascb->uldd_task; ascb 126 drivers/scsi/aic94xx/aic94xx_task.c le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr); ascb 127 drivers/scsi/aic94xx/aic94xx_task.c dma_unmap_single(&ascb->ha->pcidev->dev, dma, ascb 132 drivers/scsi/aic94xx/aic94xx_task.c asd_free_coherent(asd_ha, ascb->sg_arr); ascb 140 drivers/scsi/aic94xx/aic94xx_task.c static void asd_get_response_tasklet(struct asd_ascb *ascb, ascb 143 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 144 drivers/scsi/aic94xx/aic94xx_task.c struct sas_task *task = ascb->uldd_task; ascb 194 drivers/scsi/aic94xx/aic94xx_task.c static void asd_task_tasklet_complete(struct asd_ascb *ascb, ascb 197 drivers/scsi/aic94xx/aic94xx_task.c struct sas_task *task = ascb->uldd_task; ascb 202 drivers/scsi/aic94xx/aic94xx_task.c asd_can_dequeue(ascb->ha, 1); ascb 224 drivers/scsi/aic94xx/aic94xx_task.c asd_get_response_tasklet(ascb, dl); ascb 312 drivers/scsi/aic94xx/aic94xx_task.c asd_unbuild_ata_ascb(ascb); ascb 315 drivers/scsi/aic94xx/aic94xx_task.c asd_unbuild_smp_ascb(ascb); ascb 318 drivers/scsi/aic94xx/aic94xx_task.c asd_unbuild_ssp_ascb(ascb); ascb 328 drivers/scsi/aic94xx/aic94xx_task.c struct completion *completion = ascb->completion; ascb 338 drivers/scsi/aic94xx/aic94xx_task.c asd_ascb_free(ascb); ascb 346 drivers/scsi/aic94xx/aic94xx_task.c static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, ascb 354 drivers/scsi/aic94xx/aic94xx_task.c scb = ascb->scb; ascb 398 drivers/scsi/aic94xx/aic94xx_task.c ascb->tasklet_complete = asd_task_tasklet_complete; ascb 414 drivers/scsi/aic94xx/aic94xx_task.c static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task, ascb 417 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 426 drivers/scsi/aic94xx/aic94xx_task.c scb = ascb->scb; ascb 446 drivers/scsi/aic94xx/aic94xx_task.c ascb->tasklet_complete = asd_task_tasklet_complete; ascb 464 drivers/scsi/aic94xx/aic94xx_task.c static int asd_build_ssp_ascb(struct asd_ascb *ascb, struct sas_task *task, ascb 471 drivers/scsi/aic94xx/aic94xx_task.c scb = ascb->scb; ascb 499 drivers/scsi/aic94xx/aic94xx_task.c ascb->tasklet_complete = asd_task_tasklet_complete; ascb 533 drivers/scsi/aic94xx/aic94xx_task.c struct asd_ascb *ascb = NULL, *a; ascb 542 drivers/scsi/aic94xx/aic94xx_task.c ascb = asd_ascb_alloc_list(asd_ha, &res, gfp_flags); ascb 548 drivers/scsi/aic94xx/aic94xx_task.c __list_add(&alist, ascb->list.prev, &ascb->list); ascb 585 drivers/scsi/aic94xx/aic94xx_task.c res = asd_post_ascb_list(asd_ha, ascb, 1); ascb 588 drivers/scsi/aic94xx/aic94xx_task.c __list_add(&alist, ascb->list.prev, &ascb->list); ascb 621 drivers/scsi/aic94xx/aic94xx_task.c if (ascb) ascb 622 drivers/scsi/aic94xx/aic94xx_task.c asd_ascb_free_list(ascb); ascb 17 drivers/scsi/aic94xx/aic94xx_tmf.c static int asd_enqueue_internal(struct asd_ascb *ascb, ascb 24 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->tasklet_complete = tasklet_complete; ascb 25 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->uldd_timer = 1; ascb 27 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->timer.function = timed_out; ascb 28 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT; ascb 30 drivers/scsi/aic94xx/aic94xx_tmf.c add_timer(&ascb->timer); ascb 32 drivers/scsi/aic94xx/aic94xx_tmf.c res = asd_post_ascb_list(ascb->ha, ascb, 1); ascb 34 drivers/scsi/aic94xx/aic94xx_tmf.c del_timer(&ascb->timer); ascb 56 drivers/scsi/aic94xx/aic94xx_tmf.c static void asd_clear_nexus_tasklet_complete(struct asd_ascb *ascb, ascb 59 drivers/scsi/aic94xx/aic94xx_tmf.c struct tasklet_completion_status *tcs = ascb->uldd_task; ascb 61 drivers/scsi/aic94xx/aic94xx_tmf.c if (!del_timer(&ascb->timer)) { ascb 67 drivers/scsi/aic94xx/aic94xx_tmf.c complete(ascb->completion); ascb 68 drivers/scsi/aic94xx/aic94xx_tmf.c asd_ascb_free(ascb); ascb 73 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb = from_timer(ascb, t, timer); ascb 74 drivers/scsi/aic94xx/aic94xx_tmf.c struct tasklet_completion_status *tcs = ascb->uldd_task; ascb 78 drivers/scsi/aic94xx/aic94xx_tmf.c complete(ascb->completion); ascb 82 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb; \ ascb 90 drivers/scsi/aic94xx/aic94xx_tmf.c ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL); \ ascb 91 drivers/scsi/aic94xx/aic94xx_tmf.c if (!ascb) \ ascb 94 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->completion = &completion; \ ascb 95 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->uldd_task = &tcs; \ ascb 96 drivers/scsi/aic94xx/aic94xx_tmf.c scb = ascb->scb; \ ascb 101 drivers/scsi/aic94xx/aic94xx_tmf.c res = asd_enqueue_internal(ascb, asd_clear_nexus_tasklet_complete, \ ascb 112 drivers/scsi/aic94xx/aic94xx_tmf.c asd_ascb_free(ascb); \ ascb 247 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb = from_timer(ascb, t, timer); ascb 248 drivers/scsi/aic94xx/aic94xx_tmf.c struct tasklet_completion_status *tcs = ascb->uldd_task; ascb 252 drivers/scsi/aic94xx/aic94xx_tmf.c complete(ascb->completion); ascb 255 drivers/scsi/aic94xx/aic94xx_tmf.c static int asd_get_tmf_resp_tasklet(struct asd_ascb *ascb, ascb 258 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ha_struct *asd_ha = ascb->ha; ascb 286 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->tag = *(__be16 *)(edb->vaddr+4); ascb 293 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->tag = fh->tag; ascb 295 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->tag_valid = 1; ascb 301 drivers/scsi/aic94xx/aic94xx_tmf.c static void asd_tmf_tasklet_complete(struct asd_ascb *ascb, ascb 306 drivers/scsi/aic94xx/aic94xx_tmf.c if (!del_timer(&ascb->timer)) ascb 309 drivers/scsi/aic94xx/aic94xx_tmf.c tcs = ascb->uldd_task; ascb 315 drivers/scsi/aic94xx/aic94xx_tmf.c tcs->tmf_state = asd_get_tmf_resp_tasklet(ascb, dl); ascb 316 drivers/scsi/aic94xx/aic94xx_tmf.c tcs->tag_valid = ascb->tag_valid; ascb 317 drivers/scsi/aic94xx/aic94xx_tmf.c tcs->tag = ascb->tag; ascb 320 drivers/scsi/aic94xx/aic94xx_tmf.c complete(ascb->completion); ascb 321 drivers/scsi/aic94xx/aic94xx_tmf.c asd_ascb_free(ascb); ascb 392 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb = NULL; ascb 410 drivers/scsi/aic94xx/aic94xx_tmf.c ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL); ascb 411 drivers/scsi/aic94xx/aic94xx_tmf.c if (!ascb) ascb 414 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->uldd_task = &tcs; ascb 415 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->completion = &completion; ascb 416 drivers/scsi/aic94xx/aic94xx_tmf.c scb = ascb->scb; ascb 455 drivers/scsi/aic94xx/aic94xx_tmf.c res = asd_enqueue_internal(ascb, asd_tmf_tasklet_complete, ascb 536 drivers/scsi/aic94xx/aic94xx_tmf.c asd_ascb_free(ascb); ascb 560 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb; ascb 569 drivers/scsi/aic94xx/aic94xx_tmf.c ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL); ascb 570 drivers/scsi/aic94xx/aic94xx_tmf.c if (!ascb) ascb 573 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->completion = &completion; ascb 574 drivers/scsi/aic94xx/aic94xx_tmf.c ascb->uldd_task = &tcs; ascb 575 drivers/scsi/aic94xx/aic94xx_tmf.c scb = ascb->scb; ascb 603 drivers/scsi/aic94xx/aic94xx_tmf.c res = asd_enqueue_internal(ascb, asd_tmf_tasklet_complete, ascb 634 drivers/scsi/aic94xx/aic94xx_tmf.c asd_ascb_free(ascb); ascb 686 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ascb *ascb = task->lldd_task; ascb 689 drivers/scsi/aic94xx/aic94xx_tmf.c if (ascb) { ascb 690 drivers/scsi/aic94xx/aic94xx_tmf.c index = ascb->tc_index;