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;