acb               285 drivers/media/i2c/msp3400-driver.c 		state->acb &= ~scarts[out][0];
acb               286 drivers/media/i2c/msp3400-driver.c 		state->acb |=  scarts[out][in + 1];
acb               288 drivers/media/i2c/msp3400-driver.c 		state->acb = 0xf60; /* Mute Input and SCART 1 Output */
acb               291 drivers/media/i2c/msp3400-driver.c 					scart_names[in], out, state->acb);
acb               292 drivers/media/i2c/msp3400-driver.c 	msp_write_dsp(client, 0x13, state->acb);
acb               601 drivers/media/i2c/msp3400-driver.c 	dev_info(&client->dev, "ACB:      0x%04x\n", state->acb);
acb                88 drivers/media/i2c/msp3400-driver.h 	int acb;
acb              1054 drivers/media/i2c/msp3400-kthreads.c 		if (msp_write_dsp(client, 0x13, state->acb))
acb               120 drivers/media/i2c/sony-btf-mpx.c 	u16 acb;
acb               213 drivers/media/i2c/sony-btf-mpx.c 	mpx_write(client, 0x12, 0x0013, mpx_audio_modes[mode].acb);
acb               235 drivers/media/i2c/sony-btf-mpx.c 			mpx_audio_modes[mode].acb,
acb                65 drivers/net/dsa/bcm_sf2.h 	void __iomem			*acb;
acb               199 drivers/net/dsa/bcm_sf2.h SF2_IO_MACRO(acb);
acb               307 drivers/scsi/arcmsr/arcmsr.h #define MEM_BASE0(x)	(u32 __iomem *)((unsigned long)acb->mem_base0 + x)
acb               308 drivers/scsi/arcmsr/arcmsr.h #define MEM_BASE1(x)	(u32 __iomem *)((unsigned long)acb->mem_base1 + x)
acb               862 drivers/scsi/arcmsr/arcmsr.h 	struct AdapterControlBlock	*acb;		/*x32: 4byte, x64: 8byte*/
acb               949 drivers/scsi/arcmsr/arcmsr.h void arcmsr_free_sysfs_attr(struct AdapterControlBlock *acb);
acb                71 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata;
acb                81 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb                82 drivers/scsi/arcmsr/arcmsr_attr.c 	if (acb->rqbuf_getIndex != acb->rqbuf_putIndex) {
acb                83 drivers/scsi/arcmsr/arcmsr_attr.c 		unsigned int tail = acb->rqbuf_getIndex;
acb                84 drivers/scsi/arcmsr/arcmsr_attr.c 		unsigned int head = acb->rqbuf_putIndex;
acb                92 drivers/scsi/arcmsr/arcmsr_attr.c 			memcpy(ptmpQbuffer, acb->rqbuffer + tail, allxfer_len);
acb                94 drivers/scsi/arcmsr/arcmsr_attr.c 			memcpy(ptmpQbuffer, acb->rqbuffer + tail, cnt_to_end);
acb                95 drivers/scsi/arcmsr/arcmsr_attr.c 			memcpy(ptmpQbuffer + cnt_to_end, acb->rqbuffer, allxfer_len - cnt_to_end);
acb                97 drivers/scsi/arcmsr/arcmsr_attr.c 		acb->rqbuf_getIndex = (acb->rqbuf_getIndex + allxfer_len) % ARCMSR_MAX_QBUFFER;
acb                99 drivers/scsi/arcmsr/arcmsr_attr.c 	if (acb->acb_flags & ACB_F_IOPDATA_OVERFLOW) {
acb               101 drivers/scsi/arcmsr/arcmsr_attr.c 		acb->acb_flags &= ~ACB_F_IOPDATA_OVERFLOW;
acb               102 drivers/scsi/arcmsr/arcmsr_attr.c 		prbuffer = arcmsr_get_iop_rqbuffer(acb);
acb               103 drivers/scsi/arcmsr/arcmsr_attr.c 		if (arcmsr_Read_iop_rqbuffer_data(acb, prbuffer) == 0)
acb               104 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->acb_flags |= ACB_F_IOPDATA_OVERFLOW;
acb               106 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb               118 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata;
acb               130 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb               131 drivers/scsi/arcmsr/arcmsr_attr.c 	if (acb->wqbuf_putIndex != acb->wqbuf_getIndex) {
acb               132 drivers/scsi/arcmsr/arcmsr_attr.c 		arcmsr_write_ioctldata2iop(acb);
acb               133 drivers/scsi/arcmsr/arcmsr_attr.c 		spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb               136 drivers/scsi/arcmsr/arcmsr_attr.c 		pQbuffer = &acb->wqbuffer[acb->wqbuf_putIndex];
acb               137 drivers/scsi/arcmsr/arcmsr_attr.c 		cnt2end = ARCMSR_MAX_QBUFFER - acb->wqbuf_putIndex;
acb               142 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->wqbuf_putIndex = 0;
acb               143 drivers/scsi/arcmsr/arcmsr_attr.c 			pQbuffer = acb->wqbuffer;
acb               146 drivers/scsi/arcmsr/arcmsr_attr.c 		acb->wqbuf_putIndex += user_len;
acb               147 drivers/scsi/arcmsr/arcmsr_attr.c 		acb->wqbuf_putIndex %= ARCMSR_MAX_QBUFFER;
acb               148 drivers/scsi/arcmsr/arcmsr_attr.c 		if (acb->acb_flags & ACB_F_MESSAGE_WQBUFFER_CLEARED) {
acb               149 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->acb_flags &=
acb               151 drivers/scsi/arcmsr/arcmsr_attr.c 			arcmsr_write_ioctldata2iop(acb);
acb               153 drivers/scsi/arcmsr/arcmsr_attr.c 		spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb               166 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata;
acb               173 drivers/scsi/arcmsr/arcmsr_attr.c 	arcmsr_clear_iop2drv_rqueue_buffer(acb);
acb               174 drivers/scsi/arcmsr/arcmsr_attr.c 	acb->acb_flags |=
acb               178 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb               179 drivers/scsi/arcmsr/arcmsr_attr.c 	acb->rqbuf_getIndex = 0;
acb               180 drivers/scsi/arcmsr/arcmsr_attr.c 	acb->rqbuf_putIndex = 0;
acb               181 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb               182 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb               183 drivers/scsi/arcmsr/arcmsr_attr.c 	acb->wqbuf_getIndex = 0;
acb               184 drivers/scsi/arcmsr/arcmsr_attr.c 	acb->wqbuf_putIndex = 0;
acb               185 drivers/scsi/arcmsr/arcmsr_attr.c 	spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb               186 drivers/scsi/arcmsr/arcmsr_attr.c 	pQbuffer = acb->rqbuffer;
acb               188 drivers/scsi/arcmsr/arcmsr_attr.c 	pQbuffer = acb->wqbuffer;
acb               220 drivers/scsi/arcmsr/arcmsr_attr.c int arcmsr_alloc_sysfs_attr(struct AdapterControlBlock *acb)
acb               222 drivers/scsi/arcmsr/arcmsr_attr.c 	struct Scsi_Host *host = acb->host;
acb               249 drivers/scsi/arcmsr/arcmsr_attr.c void arcmsr_free_sysfs_attr(struct AdapterControlBlock *acb)
acb               251 drivers/scsi/arcmsr/arcmsr_attr.c 	struct Scsi_Host *host = acb->host;
acb               273 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               277 drivers/scsi/arcmsr/arcmsr_attr.c 			atomic_read(&acb->ccboutstandingcount));
acb               285 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               289 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->num_resets);
acb               297 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               301 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->num_aborts);
acb               309 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               313 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_model);
acb               321 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               326 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_version);
acb               334 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               339 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_request_len);
acb               347 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               352 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_numbers_queue);
acb               360 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               365 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_sdram_size);
acb               373 drivers/scsi/arcmsr/arcmsr_attr.c 	struct AdapterControlBlock *acb =
acb               378 drivers/scsi/arcmsr/arcmsr_attr.c 			acb->firm_hd_channels);
acb               106 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb,
acb               108 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_iop_confirm(struct AdapterControlBlock *acb);
acb               120 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop_init(struct AdapterControlBlock *acb);
acb               121 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_free_ccb_pool(struct AdapterControlBlock *acb);
acb               122 drivers/scsi/arcmsr/arcmsr_hba.c static u32 arcmsr_disable_outbound_ints(struct AdapterControlBlock *acb);
acb               123 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_enable_outbound_ints(struct AdapterControlBlock *acb,
acb               125 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_stop_adapter_bgrb(struct AdapterControlBlock *acb);
acb               126 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_flush_cache(struct AdapterControlBlock *acb);
acb               127 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_flush_cache(struct AdapterControlBlock *acb);
acb               130 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_get_firmware_spec(struct AdapterControlBlock *acb);
acb               131 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_start_adapter_bgrb(struct AdapterControlBlock *acb);
acb               133 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaD_message_isr(struct AdapterControlBlock *acb);
acb               134 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaE_message_isr(struct AdapterControlBlock *acb);
acb               135 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaE_postqueue_isr(struct AdapterControlBlock *acb);
acb               136 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hardware_reset(struct AdapterControlBlock *acb);
acb               138 drivers/scsi/arcmsr/arcmsr_hba.c static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb);
acb               140 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb);
acb               230 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_free_io_queue(struct AdapterControlBlock *acb)
acb               232 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               236 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_free_coherent(&acb->pdev->dev, acb->ioqueue_size,
acb               237 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->dma_coherent2, acb->dma_coherent_handle2);
acb               243 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_remap_pciregion(struct AdapterControlBlock *acb)
acb               245 drivers/scsi/arcmsr/arcmsr_hba.c 	struct pci_dev *pdev = acb->pdev;
acb               246 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type){
acb               248 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuA = ioremap(pci_resource_start(pdev,0), pci_resource_len(pdev,0));
acb               249 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!acb->pmuA) {
acb               250 drivers/scsi/arcmsr/arcmsr_hba.c 			printk(KERN_NOTICE "arcmsr%d: memory mapping region fail \n", acb->host->host_no);
acb               259 drivers/scsi/arcmsr/arcmsr_hba.c 			printk(KERN_NOTICE "arcmsr%d: memory mapping region fail \n", acb->host->host_no);
acb               265 drivers/scsi/arcmsr/arcmsr_hba.c 			printk(KERN_NOTICE "arcmsr%d: memory mapping region fail \n", acb->host->host_no);
acb               268 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->mem_base0 = mem_base0;
acb               269 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->mem_base1 = mem_base1;
acb               273 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuC = ioremap_nocache(pci_resource_start(pdev, 1), pci_resource_len(pdev, 1));
acb               274 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!acb->pmuC) {
acb               275 drivers/scsi/arcmsr/arcmsr_hba.c 			printk(KERN_NOTICE "arcmsr%d: memory mapping region fail \n", acb->host->host_no);
acb               278 drivers/scsi/arcmsr/arcmsr_hba.c 		if (readl(&acb->pmuC->outbound_doorbell) & ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE) {
acb               279 drivers/scsi/arcmsr/arcmsr_hba.c 			writel(ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE_DOORBELL_CLEAR, &acb->pmuC->outbound_doorbell_clear);/*clear interrupt*/
acb               294 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb               297 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->mem_base0 = mem_base0;
acb               301 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuE = ioremap(pci_resource_start(pdev, 1),
acb               303 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!acb->pmuE) {
acb               305 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb               308 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(0, &acb->pmuE->host_int_status); /*clear interrupt*/
acb               309 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(ARCMSR_HBEMU_DOORBELL_SYNC, &acb->pmuE->iobound_doorbell);	/* synchronize doorbell to 0 */
acb               310 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->in_doorbell = 0;
acb               311 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell = 0;
acb               318 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_unmap_pciregion(struct AdapterControlBlock *acb)
acb               320 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               322 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->pmuA);
acb               326 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->mem_base0);
acb               327 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->mem_base1);
acb               332 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->pmuC);
acb               336 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->mem_base0);
acb               339 drivers/scsi/arcmsr/arcmsr_hba.c 		iounmap(acb->pmuE);
acb               347 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb = dev_id;
acb               349 drivers/scsi/arcmsr/arcmsr_hba.c 	handle_state = arcmsr_interrupt(acb);
acb               381 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_hbaA_wait_msgint_ready(struct AdapterControlBlock *acb)
acb               383 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb               399 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_hbaB_wait_msgint_ready(struct AdapterControlBlock *acb)
acb               401 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb               472 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_flush_cache(struct AdapterControlBlock *acb)
acb               474 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb               478 drivers/scsi/arcmsr/arcmsr_hba.c 		if (arcmsr_hbaA_wait_msgint_ready(acb))
acb               483 drivers/scsi/arcmsr/arcmsr_hba.c 			timeout, retry count down = %d \n", acb->host->host_no, retry_count);
acb               488 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_flush_cache(struct AdapterControlBlock *acb)
acb               490 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb               494 drivers/scsi/arcmsr/arcmsr_hba.c 		if (arcmsr_hbaB_wait_msgint_ready(acb))
acb               499 drivers/scsi/arcmsr/arcmsr_hba.c 			timeout,retry count down = %d \n", acb->host->host_no, retry_count);
acb               557 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_flush_adapter_cache(struct AdapterControlBlock *acb)
acb               559 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               562 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaA_flush_cache(acb);
acb               567 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaB_flush_cache(acb);
acb               571 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaC_flush_cache(acb);
acb               575 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaD_flush_cache(acb);
acb               578 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaE_flush_cache(acb);
acb               583 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_assign_regAddr(struct AdapterControlBlock *acb)
acb               585 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb               587 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->pdev->device == PCI_DEVICE_ID_ARECA_1203) {
acb               603 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaD_assign_regAddr(struct AdapterControlBlock *acb)
acb               605 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_D *reg = acb->pmuD;
acb               635 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_alloc_io_queue(struct AdapterControlBlock *acb)
acb               640 drivers/scsi/arcmsr/arcmsr_hba.c 	struct pci_dev *pdev = acb->pdev;
acb               642 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               644 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->ioqueue_size = roundup(sizeof(struct MessageUnit_B), 32);
acb               645 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent = dma_alloc_coherent(&pdev->dev, acb->ioqueue_size,
acb               648 drivers/scsi/arcmsr/arcmsr_hba.c 			pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no);
acb               651 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent_handle2 = dma_coherent_handle;
acb               652 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent2 = dma_coherent;
acb               653 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuB = (struct MessageUnit_B *)dma_coherent;
acb               654 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaB_assign_regAddr(acb);
acb               658 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->ioqueue_size = roundup(sizeof(struct MessageUnit_D), 32);
acb               659 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent = dma_alloc_coherent(&pdev->dev, acb->ioqueue_size,
acb               662 drivers/scsi/arcmsr/arcmsr_hba.c 			pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no);
acb               665 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent_handle2 = dma_coherent_handle;
acb               666 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent2 = dma_coherent;
acb               667 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuD = (struct MessageUnit_D *)dma_coherent;
acb               668 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaD_assign_regAddr(acb);
acb               674 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->ioqueue_size = roundup(completeQ_size, 32);
acb               675 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent = dma_alloc_coherent(&pdev->dev, acb->ioqueue_size,
acb               678 drivers/scsi/arcmsr/arcmsr_hba.c 			pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no);
acb               681 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent_handle2 = dma_coherent_handle;
acb               682 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->dma_coherent2 = dma_coherent;
acb               683 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pCompletionQ = dma_coherent;
acb               684 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->completionQ_entry = acb->ioqueue_size / sizeof(struct deliver_completeQ);
acb               685 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->doneq_index = 0;
acb               694 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_alloc_ccb_pool(struct AdapterControlBlock *acb)
acb               696 drivers/scsi/arcmsr/arcmsr_hba.c 	struct pci_dev *pdev = acb->pdev;
acb               709 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->devstate[i][j] = ARECA_RAID_GONE;
acb               713 drivers/scsi/arcmsr/arcmsr_hba.c 	firm_config_version = acb->firm_cfg_version;
acb               718 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->host->max_sectors = max_xfer_len/512;
acb               719 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->host->sg_tablesize = max_sg_entrys;
acb               721 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->uncache_size = roundup_ccbsize * acb->maxFreeCCB;
acb               722 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->uncache_size += acb->ioqueue_size;
acb               723 drivers/scsi/arcmsr/arcmsr_hba.c 	dma_coherent = dma_alloc_coherent(&pdev->dev, acb->uncache_size, &dma_coherent_handle, GFP_KERNEL);
acb               725 drivers/scsi/arcmsr/arcmsr_hba.c 		printk(KERN_NOTICE "arcmsr%d: dma_alloc_coherent got error\n", acb->host->host_no);
acb               728 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->dma_coherent = dma_coherent;
acb               729 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->dma_coherent_handle = dma_coherent_handle;
acb               730 drivers/scsi/arcmsr/arcmsr_hba.c 	memset(dma_coherent, 0, acb->uncache_size);
acb               731 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->ccbsize = roundup_ccbsize;
acb               734 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->vir2phy_offset = (unsigned long)dma_coherent - (unsigned long)dma_coherent_handle;
acb               735 drivers/scsi/arcmsr/arcmsr_hba.c 	for(i = 0; i < acb->maxFreeCCB; i++){
acb               737 drivers/scsi/arcmsr/arcmsr_hba.c 		switch (acb->adapter_type) {
acb               748 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pccb_pool[i] = ccb_tmp;
acb               749 drivers/scsi/arcmsr/arcmsr_hba.c 		ccb_tmp->acb = acb;
acb               754 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->maxFreeCCB = i;
acb               755 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->host->can_queue = i;
acb               759 drivers/scsi/arcmsr/arcmsr_hba.c 			list_add_tail(&ccb_tmp->list, &acb->ccb_free_list);
acb               763 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->dma_coherent_handle2 = dma_coherent_handle;
acb               764 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->dma_coherent2 = ccb_tmp;
acb               765 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               767 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuB = (struct MessageUnit_B *)acb->dma_coherent2;
acb               768 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaB_assign_regAddr(acb);
acb               771 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pmuD = (struct MessageUnit_D *)acb->dma_coherent2;
acb               772 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaD_assign_regAddr(acb);
acb               775 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->pCompletionQ = acb->dma_coherent2;
acb               776 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->completionQ_entry = acb->ioqueue_size / sizeof(struct deliver_completeQ);
acb               777 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->doneq_index = 0;
acb               785 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb = container_of(work,
acb               787 drivers/scsi/arcmsr/arcmsr_hba.c 	char *acb_dev_map = (char *)acb->device_map;
acb               794 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_MSG_GET_CONFIG;
acb               795 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb               797 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg  = acb->pmuA;
acb               804 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg  = acb->pmuB;
acb               811 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg  = acb->pmuC;
acb               818 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg  = acb->pmuD;
acb               825 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg  = acb->pmuE;
acb               832 drivers/scsi/arcmsr/arcmsr_hba.c 	atomic_inc(&acb->rq_map_token);
acb               845 drivers/scsi/arcmsr/arcmsr_hba.c 					scsi_add_device(acb->host,
acb               849 drivers/scsi/arcmsr/arcmsr_hba.c 					psdev = scsi_device_lookup(acb->host,
acb               866 drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_request_irq(struct pci_dev *pdev, struct AdapterControlBlock *acb)
acb               876 drivers/scsi/arcmsr/arcmsr_hba.c 		pr_info("arcmsr%d: msi-x enabled\n", acb->host->host_no);
acb               894 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->vector_count = nvec;
acb               897 drivers/scsi/arcmsr/arcmsr_hba.c 				flags, "arcmsr", acb)) {
acb               899 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no, pci_irq_vector(pdev, i));
acb               907 drivers/scsi/arcmsr/arcmsr_hba.c 		free_irq(pci_irq_vector(pdev, i), acb);
acb               930 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_set_dma_mask(struct AdapterControlBlock *acb)
acb               932 drivers/scsi/arcmsr/arcmsr_hba.c 	struct pci_dev *pcidev = acb->pdev;
acb               935 drivers/scsi/arcmsr/arcmsr_hba.c 		if (((acb->adapter_type == ACB_ADAPTER_TYPE_A) && !dma_mask_64) ||
acb               958 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb;
acb               972 drivers/scsi/arcmsr/arcmsr_hba.c 	acb = (struct AdapterControlBlock *) host->hostdata;
acb               973 drivers/scsi/arcmsr/arcmsr_hba.c 	memset(acb,0,sizeof(struct AdapterControlBlock));
acb               974 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->pdev = pdev;
acb               975 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->adapter_type = id->driver_data;
acb               976 drivers/scsi/arcmsr/arcmsr_hba.c 	if (arcmsr_set_dma_mask(acb))
acb               978 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->host = host;
acb               996 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->eh_lock);
acb               997 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->ccblist_lock);
acb               998 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->postq_lock);
acb               999 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->doneq_lock);
acb              1000 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->rqbuffer_lock);
acb              1001 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_init(&acb->wqbuffer_lock);
acb              1002 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= (ACB_F_MESSAGE_WQBUFFER_CLEARED |
acb              1005 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_SCSISTOPADAPTER;
acb              1006 drivers/scsi/arcmsr/arcmsr_hba.c 	INIT_LIST_HEAD(&acb->ccb_free_list);
acb              1007 drivers/scsi/arcmsr/arcmsr_hba.c 	error = arcmsr_remap_pciregion(acb);
acb              1011 drivers/scsi/arcmsr/arcmsr_hba.c 	error = arcmsr_alloc_io_queue(acb);
acb              1014 drivers/scsi/arcmsr/arcmsr_hba.c 	error = arcmsr_get_firmware_spec(acb);
acb              1018 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_io_queue(acb);
acb              1019 drivers/scsi/arcmsr/arcmsr_hba.c 	error = arcmsr_alloc_ccb_pool(acb);
acb              1027 drivers/scsi/arcmsr/arcmsr_hba.c 	if (arcmsr_request_irq(pdev, acb) == FAILED)
acb              1029 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_iop_init(acb);
acb              1030 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_init_get_devmap_timer(acb);
acb              1032 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_init_set_datetime_timer(acb);
acb              1033 drivers/scsi/arcmsr/arcmsr_hba.c 	if(arcmsr_alloc_sysfs_attr(acb))
acb              1039 drivers/scsi/arcmsr/arcmsr_hba.c 		del_timer_sync(&acb->refresh_timer);
acb              1040 drivers/scsi/arcmsr/arcmsr_hba.c 	del_timer_sync(&acb->eternal_timer);
acb              1041 drivers/scsi/arcmsr/arcmsr_hba.c 	flush_work(&acb->arcmsr_do_message_isr_bh);
acb              1042 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_stop_adapter_bgrb(acb);
acb              1043 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_flush_adapter_cache(acb);
acb              1044 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_irq(pdev, acb);
acb              1048 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_ccb_pool(acb);
acb              1051 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_io_queue(acb);
acb              1053 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_unmap_pciregion(acb);
acb              1064 drivers/scsi/arcmsr/arcmsr_hba.c 		struct AdapterControlBlock *acb)
acb              1068 drivers/scsi/arcmsr/arcmsr_hba.c 	for (i = 0; i < acb->vector_count; i++)
acb              1069 drivers/scsi/arcmsr/arcmsr_hba.c 		free_irq(pci_irq_vector(pdev, i), acb);
acb              1077 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              1080 drivers/scsi/arcmsr/arcmsr_hba.c 	intmask_org = arcmsr_disable_outbound_ints(acb);
acb              1081 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_irq(pdev, acb);
acb              1082 drivers/scsi/arcmsr/arcmsr_hba.c 	del_timer_sync(&acb->eternal_timer);
acb              1084 drivers/scsi/arcmsr/arcmsr_hba.c 		del_timer_sync(&acb->refresh_timer);
acb              1085 drivers/scsi/arcmsr/arcmsr_hba.c 	flush_work(&acb->arcmsr_do_message_isr_bh);
acb              1086 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_stop_adapter_bgrb(acb);
acb              1087 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_flush_adapter_cache(acb);
acb              1098 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              1108 drivers/scsi/arcmsr/arcmsr_hba.c 	if (arcmsr_set_dma_mask(acb))
acb              1111 drivers/scsi/arcmsr/arcmsr_hba.c 	if (arcmsr_request_irq(pdev, acb) == FAILED)
acb              1113 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1115 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1126 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(0, &acb->pmuE->host_int_status);
acb              1127 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(ARCMSR_HBEMU_DOORBELL_SYNC, &acb->pmuE->iobound_doorbell);
acb              1128 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->in_doorbell = 0;
acb              1129 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell = 0;
acb              1130 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->doneq_index = 0;
acb              1133 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_iop_init(acb);
acb              1134 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_init_get_devmap_timer(acb);
acb              1136 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_init_set_datetime_timer(acb);
acb              1139 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_stop_adapter_bgrb(acb);
acb              1140 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_flush_adapter_cache(acb);
acb              1143 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_ccb_pool(acb);
acb              1144 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_unmap_pciregion(acb);
acb              1151 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_hbaA_abort_allcmd(struct AdapterControlBlock *acb)
acb              1153 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1155 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaA_wait_msgint_ready(acb)) {
acb              1158 drivers/scsi/arcmsr/arcmsr_hba.c 			, acb->host->host_no);
acb              1164 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_hbaB_abort_allcmd(struct AdapterControlBlock *acb)
acb              1166 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              1169 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              1172 drivers/scsi/arcmsr/arcmsr_hba.c 			, acb->host->host_no);
acb              1219 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_abort_allcmd(struct AdapterControlBlock *acb)
acb              1222 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1224 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_hbaA_abort_allcmd(acb);
acb              1229 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_hbaB_abort_allcmd(acb);
acb              1234 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_hbaC_abort_allcmd(acb);
acb              1239 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_hbaD_abort_allcmd(acb);
acb              1242 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_hbaE_abort_allcmd(acb);
acb              1257 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb = ccb->acb;
acb              1260 drivers/scsi/arcmsr/arcmsr_hba.c 	atomic_dec(&acb->ccboutstandingcount);
acb              1263 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->ccblist_lock, flags);
acb              1264 drivers/scsi/arcmsr/arcmsr_hba.c 	list_add_tail(&ccb->list, &acb->ccb_free_list);
acb              1265 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->ccblist_lock, flags);
acb              1287 drivers/scsi/arcmsr/arcmsr_hba.c static u32 arcmsr_disable_outbound_ints(struct AdapterControlBlock *acb)
acb              1290 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {	
acb              1292 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1299 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1305 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              1312 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              1318 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              1328 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_report_ccb_state(struct AdapterControlBlock *acb, 
acb              1335 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->devstate[id][lun] == ARECA_RAID_GONE)
acb              1336 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->devstate[id][lun] = ARECA_RAID_GOOD;
acb              1342 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->devstate[id][lun] = ARECA_RAID_GONE;
acb              1351 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->devstate[id][lun] = ARECA_RAID_GONE;
acb              1358 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->devstate[id][lun] = ARECA_RAID_GOOD;
acb              1368 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              1372 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->devstate[id][lun] = ARECA_RAID_GONE;
acb              1380 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_drain_donequeue(struct AdapterControlBlock *acb, struct CommandControlBlock *pCCB, bool error)
acb              1382 drivers/scsi/arcmsr/arcmsr_hba.c 	if ((pCCB->acb != acb) || (pCCB->startdone != ARCMSR_CCB_START)) {
acb              1389 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no, pCCB);
acb              1397 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              1398 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb
acb              1400 drivers/scsi/arcmsr/arcmsr_hba.c 				, pCCB->acb
acb              1402 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              1405 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_report_ccb_state(acb, pCCB, error);
acb              1408 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_done4abort_postqueue(struct AdapterControlBlock *acb)
acb              1417 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1420 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1423 drivers/scsi/arcmsr/arcmsr_hba.c 					acb->outbound_int_enable;
acb              1427 drivers/scsi/arcmsr/arcmsr_hba.c 				&& (i++ < acb->maxOutstanding)) {
acb              1429 drivers/scsi/arcmsr/arcmsr_hba.c 			if (acb->cdb_phyadd_hipart)
acb              1430 drivers/scsi/arcmsr/arcmsr_hba.c 				ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              1431 drivers/scsi/arcmsr/arcmsr_hba.c 			pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              1434 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_drain_donequeue(acb, pCCB, error);
acb              1440 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1448 drivers/scsi/arcmsr/arcmsr_hba.c 				if (acb->cdb_phyadd_hipart)
acb              1449 drivers/scsi/arcmsr/arcmsr_hba.c 					ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              1450 drivers/scsi/arcmsr/arcmsr_hba.c 				pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              1453 drivers/scsi/arcmsr/arcmsr_hba.c 				arcmsr_drain_donequeue(acb, pCCB, error);
acb              1462 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              1463 drivers/scsi/arcmsr/arcmsr_hba.c 		while ((readl(&reg->host_int_status) & ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR) && (i++ < acb->maxOutstanding)) {
acb              1467 drivers/scsi/arcmsr/arcmsr_hba.c 			if (acb->cdb_phyadd_hipart)
acb              1468 drivers/scsi/arcmsr/arcmsr_hba.c 				ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              1469 drivers/scsi/arcmsr/arcmsr_hba.c 			pARCMSR_CDB = (struct  ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              1472 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_drain_donequeue(acb, pCCB, error);
acb              1477 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D  *pmu = acb->pmuD;
acb              1482 drivers/scsi/arcmsr/arcmsr_hba.c 		residual = atomic_read(&acb->ccboutstandingcount);
acb              1484 drivers/scsi/arcmsr/arcmsr_hba.c 			spin_lock_irqsave(&acb->doneq_lock, flags);
acb              1496 drivers/scsi/arcmsr/arcmsr_hba.c 				spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              1502 drivers/scsi/arcmsr/arcmsr_hba.c 				if (acb->cdb_phyadd_hipart)
acb              1503 drivers/scsi/arcmsr/arcmsr_hba.c 					ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              1505 drivers/scsi/arcmsr/arcmsr_hba.c 					(acb->vir2phy_offset + ccb_cdb_phy);
acb              1511 drivers/scsi/arcmsr/arcmsr_hba.c 				arcmsr_drain_donequeue(acb, pCCB, error);
acb              1515 drivers/scsi/arcmsr/arcmsr_hba.c 				spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              1524 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaE_postqueue_isr(acb);
acb              1529 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_remove_scsi_devices(struct AdapterControlBlock *acb)
acb              1531 drivers/scsi/arcmsr/arcmsr_hba.c 	char *acb_dev_map = (char *)acb->device_map;
acb              1537 drivers/scsi/arcmsr/arcmsr_hba.c 	for (i = 0; i < acb->maxFreeCCB; i++) {
acb              1538 drivers/scsi/arcmsr/arcmsr_hba.c 		ccb = acb->pccb_pool[i];
acb              1550 drivers/scsi/arcmsr/arcmsr_hba.c 					psdev = scsi_device_lookup(acb->host,
acb              1565 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_free_pcidev(struct AdapterControlBlock *acb)
acb              1570 drivers/scsi/arcmsr/arcmsr_hba.c 	host = acb->host;
acb              1571 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_sysfs_attr(acb);
acb              1573 drivers/scsi/arcmsr/arcmsr_hba.c 	flush_work(&acb->arcmsr_do_message_isr_bh);
acb              1574 drivers/scsi/arcmsr/arcmsr_hba.c 	del_timer_sync(&acb->eternal_timer);
acb              1576 drivers/scsi/arcmsr/arcmsr_hba.c 		del_timer_sync(&acb->refresh_timer);
acb              1577 drivers/scsi/arcmsr/arcmsr_hba.c 	pdev = acb->pdev;
acb              1578 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_irq(pdev, acb);
acb              1579 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_ccb_pool(acb);
acb              1580 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_unmap_pciregion(acb);
acb              1589 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              1596 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= ~ACB_F_IOP_INITED;
acb              1597 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_ADAPTER_REMOVED;
acb              1598 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_remove_scsi_devices(acb);
acb              1599 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_free_pcidev(acb);
acb              1602 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_sysfs_attr(acb);
acb              1604 drivers/scsi/arcmsr/arcmsr_hba.c 	flush_work(&acb->arcmsr_do_message_isr_bh);
acb              1605 drivers/scsi/arcmsr/arcmsr_hba.c 	del_timer_sync(&acb->eternal_timer);
acb              1607 drivers/scsi/arcmsr/arcmsr_hba.c 		del_timer_sync(&acb->refresh_timer);
acb              1608 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_disable_outbound_ints(acb);
acb              1609 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_stop_adapter_bgrb(acb);
acb              1610 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_flush_adapter_cache(acb);	
acb              1611 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_SCSISTOPADAPTER;
acb              1612 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_IOP_INITED;
acb              1614 drivers/scsi/arcmsr/arcmsr_hba.c 	for (poll_count = 0; poll_count < acb->maxOutstanding; poll_count++){
acb              1615 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!atomic_read(&acb->ccboutstandingcount))
acb              1617 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_interrupt(acb);/* FIXME: need spinlock */
acb              1621 drivers/scsi/arcmsr/arcmsr_hba.c 	if (atomic_read(&acb->ccboutstandingcount)) {
acb              1624 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_abort_allcmd(acb);
acb              1625 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_done4abort_postqueue(acb);
acb              1626 drivers/scsi/arcmsr/arcmsr_hba.c 		for (i = 0; i < acb->maxFreeCCB; i++) {
acb              1627 drivers/scsi/arcmsr/arcmsr_hba.c 			struct CommandControlBlock *ccb = acb->pccb_pool[i];
acb              1635 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_irq(pdev, acb);
acb              1636 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_ccb_pool(acb);
acb              1637 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_unmap_pciregion(acb);
acb              1646 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              1648 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_ADAPTER_REMOVED)
acb              1650 drivers/scsi/arcmsr/arcmsr_hba.c 	del_timer_sync(&acb->eternal_timer);
acb              1652 drivers/scsi/arcmsr/arcmsr_hba.c 		del_timer_sync(&acb->refresh_timer);
acb              1653 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_disable_outbound_ints(acb);
acb              1654 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_free_irq(pdev, acb);
acb              1655 drivers/scsi/arcmsr/arcmsr_hba.c 	flush_work(&acb->arcmsr_do_message_isr_bh);
acb              1656 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_stop_adapter_bgrb(acb);
acb              1657 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_flush_adapter_cache(acb);
acb              1674 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_enable_outbound_ints(struct AdapterControlBlock *acb,
acb              1678 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1681 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1686 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->outbound_int_enable = ~(intmask_org & mask) & 0x000000ff;
acb              1691 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1697 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->outbound_int_enable = (intmask_org | mask) & 0x0000000f;
acb              1701 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              1704 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->outbound_int_enable = ~(intmask_org & mask) & 0x0000000f;
acb              1708 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              1715 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              1724 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_build_ccb(struct AdapterControlBlock *acb,
acb              1744 drivers/scsi/arcmsr/arcmsr_hba.c 	if (unlikely(nseg > acb->host->sg_tablesize || nseg < 0))
acb              1779 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_post_ccb(struct AdapterControlBlock *acb, struct CommandControlBlock *ccb)
acb              1783 drivers/scsi/arcmsr/arcmsr_hba.c 	atomic_inc(&acb->ccboutstandingcount);
acb              1785 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1787 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1798 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1816 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *phbcmu = acb->pmuC;
acb              1826 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D  *pmu = acb->pmuD;
acb              1832 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->postq_lock, flags);
acb              1845 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->postq_lock, flags);
acb              1849 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *pmu = acb->pmuE;
acb              1861 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_stop_bgrb(struct AdapterControlBlock *acb)
acb              1863 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1864 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_MSG_START_BGRB;
acb              1866 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaA_wait_msgint_ready(acb)) {
acb              1869 drivers/scsi/arcmsr/arcmsr_hba.c 			, acb->host->host_no);
acb              1873 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_stop_bgrb(struct AdapterControlBlock *acb)
acb              1875 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              1876 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_MSG_START_BGRB;
acb              1879 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              1882 drivers/scsi/arcmsr/arcmsr_hba.c 			, acb->host->host_no);
acb              1925 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_stop_adapter_bgrb(struct AdapterControlBlock *acb)
acb              1927 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1929 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaA_stop_bgrb(acb);
acb              1934 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaB_stop_bgrb(acb);
acb              1938 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaC_stop_bgrb(acb);
acb              1942 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaD_stop_bgrb(acb);
acb              1945 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaE_stop_bgrb(acb);
acb              1950 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_free_ccb_pool(struct AdapterControlBlock *acb)
acb              1952 drivers/scsi/arcmsr/arcmsr_hba.c 	dma_free_coherent(&acb->pdev->dev, acb->uncache_size, acb->dma_coherent, acb->dma_coherent_handle);
acb              1955 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop_message_read(struct AdapterControlBlock *acb)
acb              1957 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1959 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              1965 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              1970 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              1976 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              1982 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              1983 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_DATA_READ_OK;
acb              1984 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              1990 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop_message_wrote(struct AdapterControlBlock *acb)
acb              1992 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              1994 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2004 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              2013 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              2022 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              2028 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              2029 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_DATA_WRITE_OK;
acb              2030 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              2036 drivers/scsi/arcmsr/arcmsr_hba.c struct QBUFFER __iomem *arcmsr_get_iop_rqbuffer(struct AdapterControlBlock *acb)
acb              2039 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              2042 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2048 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              2053 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *phbcmu = acb->pmuC;
acb              2058 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              2063 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              2071 drivers/scsi/arcmsr/arcmsr_hba.c static struct QBUFFER __iomem *arcmsr_get_iop_wqbuffer(struct AdapterControlBlock *acb)
acb              2074 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              2077 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2083 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B  *reg = acb->pmuB;
acb              2088 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              2093 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              2098 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              2107 drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_Read_iop_rqbuffer_in_DWORD(struct AdapterControlBlock *acb,
acb              2133 drivers/scsi/arcmsr/arcmsr_hba.c 		pQbuffer = &acb->rqbuffer[acb->rqbuf_putIndex];
acb              2135 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex++;
acb              2137 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex %= ARCMSR_MAX_QBUFFER;
acb              2143 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_iop_message_read(acb);
acb              2148 drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_Read_iop_rqbuffer_data(struct AdapterControlBlock *acb,
acb              2155 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->adapter_type > ACB_ADAPTER_TYPE_B)
acb              2156 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_Read_iop_rqbuffer_in_DWORD(acb, prbuffer);
acb              2160 drivers/scsi/arcmsr/arcmsr_hba.c 		pQbuffer = &acb->rqbuffer[acb->rqbuf_putIndex];
acb              2162 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex++;
acb              2163 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex %= ARCMSR_MAX_QBUFFER;
acb              2167 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_iop_message_read(acb);
acb              2171 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop2drv_data_wrote_handle(struct AdapterControlBlock *acb)
acb              2177 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb              2178 drivers/scsi/arcmsr/arcmsr_hba.c 	prbuffer = arcmsr_get_iop_rqbuffer(acb);
acb              2179 drivers/scsi/arcmsr/arcmsr_hba.c 	buf_empty_len = (acb->rqbuf_putIndex - acb->rqbuf_getIndex - 1) &
acb              2182 drivers/scsi/arcmsr/arcmsr_hba.c 		if (arcmsr_Read_iop_rqbuffer_data(acb, prbuffer) == 0)
acb              2183 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->acb_flags |= ACB_F_IOPDATA_OVERFLOW;
acb              2185 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_IOPDATA_OVERFLOW;
acb              2186 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb              2189 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_write_ioctldata2iop_in_DWORD(struct AdapterControlBlock *acb)
acb              2197 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MESSAGE_WQBUFFER_READED) {
acb              2203 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= (~ACB_F_MESSAGE_WQBUFFER_READED);
acb              2204 drivers/scsi/arcmsr/arcmsr_hba.c 		pwbuffer = arcmsr_get_iop_wqbuffer(acb);
acb              2206 drivers/scsi/arcmsr/arcmsr_hba.c 		while ((acb->wqbuf_getIndex != acb->wqbuf_putIndex)
acb              2208 drivers/scsi/arcmsr/arcmsr_hba.c 			pQbuffer = &acb->wqbuffer[acb->wqbuf_getIndex];
acb              2210 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_getIndex++;
acb              2211 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_getIndex %= ARCMSR_MAX_QBUFFER;
acb              2229 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_iop_message_wrote(acb);
acb              2234 drivers/scsi/arcmsr/arcmsr_hba.c arcmsr_write_ioctldata2iop(struct AdapterControlBlock *acb)
acb              2241 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->adapter_type > ACB_ADAPTER_TYPE_B) {
acb              2242 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_write_ioctldata2iop_in_DWORD(acb);
acb              2245 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MESSAGE_WQBUFFER_READED) {
acb              2246 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= (~ACB_F_MESSAGE_WQBUFFER_READED);
acb              2247 drivers/scsi/arcmsr/arcmsr_hba.c 		pwbuffer = arcmsr_get_iop_wqbuffer(acb);
acb              2249 drivers/scsi/arcmsr/arcmsr_hba.c 		while ((acb->wqbuf_getIndex != acb->wqbuf_putIndex)
acb              2251 drivers/scsi/arcmsr/arcmsr_hba.c 			pQbuffer = &acb->wqbuffer[acb->wqbuf_getIndex];
acb              2253 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_getIndex++;
acb              2254 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_getIndex %= ARCMSR_MAX_QBUFFER;
acb              2259 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_iop_message_wrote(acb);
acb              2263 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop2drv_data_read_handle(struct AdapterControlBlock *acb)
acb              2267 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb              2268 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_MESSAGE_WQBUFFER_READED;
acb              2269 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->wqbuf_getIndex != acb->wqbuf_putIndex)
acb              2270 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_write_ioctldata2iop(acb);
acb              2271 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->wqbuf_getIndex == acb->wqbuf_putIndex)
acb              2272 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_MESSAGE_WQBUFFER_CLEARED;
acb              2273 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb              2276 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_doorbell_isr(struct AdapterControlBlock *acb)
acb              2279 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2284 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_iop2drv_data_wrote_handle(acb);
acb              2286 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_iop2drv_data_read_handle(acb);
acb              2365 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_postqueue_isr(struct AdapterControlBlock *acb)
acb              2368 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2376 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              2377 drivers/scsi/arcmsr/arcmsr_hba.c 			cdb_phy_addr = cdb_phy_addr | acb->cdb_phyadd_hipart;
acb              2378 drivers/scsi/arcmsr/arcmsr_hba.c 		pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + cdb_phy_addr);
acb              2381 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_drain_donequeue(acb, pCCB, error);
acb              2384 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_postqueue_isr(struct AdapterControlBlock *acb)
acb              2388 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              2397 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              2398 drivers/scsi/arcmsr/arcmsr_hba.c 			cdb_phy_addr = cdb_phy_addr | acb->cdb_phyadd_hipart;
acb              2399 drivers/scsi/arcmsr/arcmsr_hba.c 		pARCMSR_CDB = (struct ARCMSR_CDB *)(acb->vir2phy_offset + cdb_phy_addr);
acb              2402 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_drain_donequeue(acb, pCCB, error);
acb              2410 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaC_postqueue_isr(struct AdapterControlBlock *acb)
acb              2419 drivers/scsi/arcmsr/arcmsr_hba.c 	phbcmu = acb->pmuC;
acb              2426 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              2427 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              2428 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset
acb              2435 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_drain_donequeue(acb, ccb, error);
acb              2445 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaD_postqueue_isr(struct AdapterControlBlock *acb)
acb              2455 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->doneq_lock, flags);
acb              2456 drivers/scsi/arcmsr/arcmsr_hba.c 	pmu = acb->pmuD;
acb              2472 drivers/scsi/arcmsr/arcmsr_hba.c 			if (acb->cdb_phyadd_hipart)
acb              2473 drivers/scsi/arcmsr/arcmsr_hba.c 				ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              2474 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset
acb              2480 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_drain_donequeue(acb, ccb, error);
acb              2488 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              2491 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaE_postqueue_isr(struct AdapterControlBlock *acb)
acb              2500 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->doneq_lock, flags);
acb              2501 drivers/scsi/arcmsr/arcmsr_hba.c 	doneq_index = acb->doneq_index;
acb              2502 drivers/scsi/arcmsr/arcmsr_hba.c 	pmu = acb->pmuE;
acb              2504 drivers/scsi/arcmsr/arcmsr_hba.c 		cmdSMID = acb->pCompletionQ[doneq_index].cmdSMID;
acb              2505 drivers/scsi/arcmsr/arcmsr_hba.c 		ccb = acb->pccb_pool[cmdSMID];
acb              2506 drivers/scsi/arcmsr/arcmsr_hba.c 		error = (acb->pCompletionQ[doneq_index].cmdFlag
acb              2508 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_drain_donequeue(acb, ccb, error);
acb              2510 drivers/scsi/arcmsr/arcmsr_hba.c 		if (doneq_index >= acb->completionQ_entry)
acb              2513 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->doneq_index = doneq_index;
acb              2515 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              2526 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_message_isr(struct AdapterControlBlock *acb)
acb              2528 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg  = acb->pmuA;
acb              2531 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MSG_GET_CONFIG)
acb              2532 drivers/scsi/arcmsr/arcmsr_hba.c 		schedule_work(&acb->arcmsr_do_message_isr_bh);
acb              2534 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_message_isr(struct AdapterControlBlock *acb)
acb              2536 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg  = acb->pmuB;
acb              2540 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MSG_GET_CONFIG)
acb              2541 drivers/scsi/arcmsr/arcmsr_hba.c 		schedule_work(&acb->arcmsr_do_message_isr_bh);
acb              2552 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaC_message_isr(struct AdapterControlBlock *acb)
acb              2554 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_C __iomem *reg  = acb->pmuC;
acb              2557 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MSG_GET_CONFIG)
acb              2558 drivers/scsi/arcmsr/arcmsr_hba.c 		schedule_work(&acb->arcmsr_do_message_isr_bh);
acb              2561 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaD_message_isr(struct AdapterControlBlock *acb)
acb              2563 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_D *reg  = acb->pmuD;
acb              2567 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MSG_GET_CONFIG)
acb              2568 drivers/scsi/arcmsr/arcmsr_hba.c 		schedule_work(&acb->arcmsr_do_message_isr_bh);
acb              2571 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaE_message_isr(struct AdapterControlBlock *acb)
acb              2573 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_E __iomem *reg  = acb->pmuE;
acb              2576 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_MSG_GET_CONFIG)
acb              2577 drivers/scsi/arcmsr/arcmsr_hba.c 		schedule_work(&acb->arcmsr_do_message_isr_bh);
acb              2580 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaA_handle_isr(struct AdapterControlBlock *acb)
acb              2583 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              2585 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->outbound_int_enable;
acb              2591 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_hbaA_doorbell_isr(acb);
acb              2593 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_hbaA_postqueue_isr(acb);
acb              2595 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_hbaA_message_isr(acb);
acb              2597 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->outbound_int_enable;
acb              2604 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaB_handle_isr(struct AdapterControlBlock *acb)
acb              2607 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              2609 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->outbound_int_enable;
acb              2616 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_iop2drv_data_wrote_handle(acb);
acb              2618 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_iop2drv_data_read_handle(acb);
acb              2620 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_hbaB_postqueue_isr(acb);
acb              2622 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_hbaB_message_isr(acb);
acb              2624 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->outbound_int_enable;
acb              2708 drivers/scsi/arcmsr/arcmsr_hba.c static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb)
acb              2710 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              2712 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_hbaA_handle_isr(acb);
acb              2715 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_hbaB_handle_isr(acb);
acb              2718 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_hbaC_handle_isr(acb);
acb              2720 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_hbaD_handle_isr(acb);
acb              2722 drivers/scsi/arcmsr/arcmsr_hba.c 		return arcmsr_hbaE_handle_isr(acb);
acb              2728 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop_parking(struct AdapterControlBlock *acb)
acb              2730 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb) {
acb              2732 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->acb_flags & ACB_F_MSG_START_BGRB) {
acb              2734 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->acb_flags &= ~ACB_F_MSG_START_BGRB;
acb              2735 drivers/scsi/arcmsr/arcmsr_hba.c 			intmask_org = arcmsr_disable_outbound_ints(acb);
acb              2736 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_stop_adapter_bgrb(acb);
acb              2737 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_flush_adapter_cache(acb);
acb              2738 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_enable_outbound_ints(acb, intmask_org);
acb              2744 drivers/scsi/arcmsr/arcmsr_hba.c void arcmsr_clear_iop2drv_rqueue_buffer(struct AdapterControlBlock *acb)
acb              2748 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_IOPDATA_OVERFLOW) {
acb              2750 drivers/scsi/arcmsr/arcmsr_hba.c 			if (acb->acb_flags & ACB_F_IOPDATA_OVERFLOW) {
acb              2751 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->acb_flags &= ~ACB_F_IOPDATA_OVERFLOW;
acb              2752 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->rqbuf_getIndex = 0;
acb              2753 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->rqbuf_putIndex = 0;
acb              2754 drivers/scsi/arcmsr/arcmsr_hba.c 				arcmsr_iop_message_read(acb);
acb              2756 drivers/scsi/arcmsr/arcmsr_hba.c 			} else if (acb->rqbuf_getIndex !=
acb              2757 drivers/scsi/arcmsr/arcmsr_hba.c 				   acb->rqbuf_putIndex) {
acb              2758 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->rqbuf_getIndex = 0;
acb              2759 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->rqbuf_putIndex = 0;
acb              2767 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb,
acb              2807 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb              2808 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->rqbuf_getIndex != acb->rqbuf_putIndex) {
acb              2809 drivers/scsi/arcmsr/arcmsr_hba.c 			unsigned int tail = acb->rqbuf_getIndex;
acb              2810 drivers/scsi/arcmsr/arcmsr_hba.c 			unsigned int head = acb->rqbuf_putIndex;
acb              2818 drivers/scsi/arcmsr/arcmsr_hba.c 				memcpy(ptmpQbuffer, acb->rqbuffer + tail, allxfer_len);
acb              2820 drivers/scsi/arcmsr/arcmsr_hba.c 				memcpy(ptmpQbuffer, acb->rqbuffer + tail, cnt_to_end);
acb              2821 drivers/scsi/arcmsr/arcmsr_hba.c 				memcpy(ptmpQbuffer + cnt_to_end, acb->rqbuffer, allxfer_len - cnt_to_end);
acb              2823 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->rqbuf_getIndex = (acb->rqbuf_getIndex + allxfer_len) % ARCMSR_MAX_QBUFFER;
acb              2827 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->acb_flags & ACB_F_IOPDATA_OVERFLOW) {
acb              2829 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->acb_flags &= ~ACB_F_IOPDATA_OVERFLOW;
acb              2830 drivers/scsi/arcmsr/arcmsr_hba.c 			prbuffer = arcmsr_get_iop_rqbuffer(acb);
acb              2831 drivers/scsi/arcmsr/arcmsr_hba.c 			if (arcmsr_Read_iop_rqbuffer_data(acb, prbuffer) == 0)
acb              2832 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->acb_flags |= ACB_F_IOPDATA_OVERFLOW;
acb              2834 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb              2837 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2866 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb              2867 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->wqbuf_putIndex != acb->wqbuf_getIndex) {
acb              2870 drivers/scsi/arcmsr/arcmsr_hba.c 			arcmsr_write_ioctldata2iop(acb);
acb              2879 drivers/scsi/arcmsr/arcmsr_hba.c 			pQbuffer = &acb->wqbuffer[acb->wqbuf_putIndex];
acb              2880 drivers/scsi/arcmsr/arcmsr_hba.c 			cnt2end = ARCMSR_MAX_QBUFFER - acb->wqbuf_putIndex;
acb              2885 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->wqbuf_putIndex = 0;
acb              2886 drivers/scsi/arcmsr/arcmsr_hba.c 				pQbuffer = acb->wqbuffer;
acb              2889 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_putIndex += user_len;
acb              2890 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->wqbuf_putIndex %= ARCMSR_MAX_QBUFFER;
acb              2891 drivers/scsi/arcmsr/arcmsr_hba.c 			if (acb->acb_flags & ACB_F_MESSAGE_WQBUFFER_CLEARED) {
acb              2892 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->acb_flags &=
acb              2894 drivers/scsi/arcmsr/arcmsr_hba.c 				arcmsr_write_ioctldata2iop(acb);
acb              2897 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb              2899 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2908 drivers/scsi/arcmsr/arcmsr_hba.c 		uint8_t *pQbuffer = acb->rqbuffer;
acb              2910 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_clear_iop2drv_rqueue_buffer(acb);
acb              2911 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb              2912 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_MESSAGE_RQBUFFER_CLEARED;
acb              2913 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_getIndex = 0;
acb              2914 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex = 0;
acb              2916 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb              2917 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2926 drivers/scsi/arcmsr/arcmsr_hba.c 		uint8_t *pQbuffer = acb->wqbuffer;
acb              2927 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb              2928 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= (ACB_F_MESSAGE_WQBUFFER_CLEARED |
acb              2930 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->wqbuf_getIndex = 0;
acb              2931 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->wqbuf_putIndex = 0;
acb              2933 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb              2934 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2944 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_clear_iop2drv_rqueue_buffer(acb);
acb              2945 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->rqbuffer_lock, flags);
acb              2946 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_MESSAGE_RQBUFFER_CLEARED;
acb              2947 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_getIndex = 0;
acb              2948 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->rqbuf_putIndex = 0;
acb              2949 drivers/scsi/arcmsr/arcmsr_hba.c 		pQbuffer = acb->rqbuffer;
acb              2951 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->rqbuffer_lock, flags);
acb              2952 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->wqbuffer_lock, flags);
acb              2953 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= (ACB_F_MESSAGE_WQBUFFER_CLEARED |
acb              2955 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->wqbuf_getIndex = 0;
acb              2956 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->wqbuf_putIndex = 0;
acb              2957 drivers/scsi/arcmsr/arcmsr_hba.c 		pQbuffer = acb->wqbuffer;
acb              2959 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->wqbuffer_lock, flags);
acb              2960 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2969 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2979 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2990 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              2996 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_iop_parking(acb);
acb              3000 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->fw_flag == FW_DEADLOCK)
acb              3006 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_flush_adapter_cache(acb);
acb              3021 drivers/scsi/arcmsr/arcmsr_hba.c static struct CommandControlBlock *arcmsr_get_freeccb(struct AdapterControlBlock *acb)
acb              3023 drivers/scsi/arcmsr/arcmsr_hba.c 	struct list_head *head = &acb->ccb_free_list;
acb              3026 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_lock_irqsave(&acb->ccblist_lock, flags);
acb              3031 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->ccblist_lock, flags);
acb              3034 drivers/scsi/arcmsr/arcmsr_hba.c 	spin_unlock_irqrestore(&acb->ccblist_lock, flags);
acb              3038 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
acb              3078 drivers/scsi/arcmsr/arcmsr_hba.c 		if (arcmsr_iop_message_xfer(acb, cmd))
acb              3092 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata;
acb              3096 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_ADAPTER_REMOVED) {
acb              3106 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_handle_virtual_command(acb, cmd);
acb              3109 drivers/scsi/arcmsr/arcmsr_hba.c 	ccb = arcmsr_get_freeccb(acb);
acb              3112 drivers/scsi/arcmsr/arcmsr_hba.c 	if (arcmsr_build_ccb( acb, ccb, cmd ) == FAILED) {
acb              3117 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_post_ccb(acb, ccb);
acb              3166 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_hbaA_get_config(struct AdapterControlBlock *acb)
acb              3168 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              3170 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_wait_firmware_ready(acb);
acb              3172 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaA_wait_msgint_ready(acb)) {
acb              3174 drivers/scsi/arcmsr/arcmsr_hba.c 			miscellaneous data' timeout \n", acb->host->host_no);
acb              3177 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_get_adapter_config(acb, reg->message_rwbuffer);
acb              3180 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_hbaB_get_config(struct AdapterControlBlock *acb)
acb              3182 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              3184 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_wait_firmware_ready(acb);
acb              3186 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              3187 drivers/scsi/arcmsr/arcmsr_hba.c 		printk(KERN_ERR "arcmsr%d: can't set driver mode.\n", acb->host->host_no);
acb              3191 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              3193 drivers/scsi/arcmsr/arcmsr_hba.c 			miscellaneous data' timeout \n", acb->host->host_no);
acb              3196 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_get_adapter_config(acb, reg->message_rwbuffer);
acb              3223 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_hbaD_get_config(struct AdapterControlBlock *acb)
acb              3225 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_D *reg = acb->pmuD;
acb              3227 drivers/scsi/arcmsr/arcmsr_hba.c 	if (readl(acb->pmuD->outbound_doorbell) &
acb              3230 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->pmuD->outbound_doorbell);/*clear interrupt*/
acb              3232 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_wait_firmware_ready(acb);
acb              3236 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaD_wait_msgint_ready(acb)) {
acb              3238 drivers/scsi/arcmsr/arcmsr_hba.c 			"miscellaneous data timeout\n", acb->host->host_no);
acb              3241 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_get_adapter_config(acb, reg->msgcode_rwbuffer);
acb              3271 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_get_firmware_spec(struct AdapterControlBlock *acb)
acb              3275 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              3277 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaA_get_config(acb);
acb              3280 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaB_get_config(acb);
acb              3283 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaC_get_config(acb);
acb              3286 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaD_get_config(acb);
acb              3289 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaE_get_config(acb);
acb              3294 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->maxOutstanding = acb->firm_numbers_queue - 1;
acb              3295 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->host->can_queue >= acb->firm_numbers_queue)
acb              3296 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->host->can_queue = acb->maxOutstanding;
acb              3298 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->maxOutstanding = acb->host->can_queue;
acb              3299 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->maxFreeCCB = acb->host->can_queue;
acb              3300 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->maxFreeCCB < ARCMSR_MAX_FREECCB_NUM)
acb              3301 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->maxFreeCCB += 64;
acb              3305 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaA_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3308 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              3318 drivers/scsi/arcmsr/arcmsr_hba.c 	outbound_intstatus = readl(&reg->outbound_intstatus) & acb->outbound_int_enable;
acb              3335 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              3336 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              3337 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              3340 drivers/scsi/arcmsr/arcmsr_hba.c 		if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) {
acb              3344 drivers/scsi/arcmsr/arcmsr_hba.c 					, acb->host->host_no
acb              3355 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              3357 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              3361 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_report_ccb_state(acb, ccb, error);
acb              3366 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaB_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3369 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              3404 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              3405 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              3406 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              3409 drivers/scsi/arcmsr/arcmsr_hba.c 		if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) {
acb              3413 drivers/scsi/arcmsr/arcmsr_hba.c 					,acb->host->host_no
acb              3424 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              3426 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              3430 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_report_ccb_state(acb, ccb, error);
acb              3435 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaC_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3438 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              3465 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              3466 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              3467 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset + ccb_cdb_phy);
acb              3471 drivers/scsi/arcmsr/arcmsr_hba.c 		if ((pCCB->acb != acb) || (pCCB->startdone != ARCMSR_CCB_START)) {
acb              3475 drivers/scsi/arcmsr/arcmsr_hba.c 					, acb->host->host_no
acb              3486 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              3488 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              3492 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_report_ccb_state(acb, pCCB, error);
acb              3497 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaD_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3506 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_D *pmu = acb->pmuD;
acb              3511 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->doneq_lock, flags);
acb              3515 drivers/scsi/arcmsr/arcmsr_hba.c 			spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              3534 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              3539 drivers/scsi/arcmsr/arcmsr_hba.c 		if (acb->cdb_phyadd_hipart)
acb              3540 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb_cdb_phy = ccb_cdb_phy | acb->cdb_phyadd_hipart;
acb              3541 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_cdb = (struct ARCMSR_CDB *)(acb->vir2phy_offset +
acb              3546 drivers/scsi/arcmsr/arcmsr_hba.c 		if ((pCCB->acb != acb) ||
acb              3552 drivers/scsi/arcmsr/arcmsr_hba.c 					, acb->host->host_no
acb              3563 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              3565 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              3570 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_report_ccb_state(acb, pCCB, error);
acb              3575 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_hbaE_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3584 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              3589 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_lock_irqsave(&acb->doneq_lock, flags);
acb              3590 drivers/scsi/arcmsr/arcmsr_hba.c 		doneq_index = acb->doneq_index;
acb              3593 drivers/scsi/arcmsr/arcmsr_hba.c 			spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              3606 drivers/scsi/arcmsr/arcmsr_hba.c 		cmdSMID = acb->pCompletionQ[doneq_index].cmdSMID;
acb              3608 drivers/scsi/arcmsr/arcmsr_hba.c 		if (doneq_index >= acb->completionQ_entry)
acb              3610 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->doneq_index = doneq_index;
acb              3611 drivers/scsi/arcmsr/arcmsr_hba.c 		spin_unlock_irqrestore(&acb->doneq_lock, flags);
acb              3612 drivers/scsi/arcmsr/arcmsr_hba.c 		pCCB = acb->pccb_pool[cmdSMID];
acb              3615 drivers/scsi/arcmsr/arcmsr_hba.c 		if ((pCCB->acb != acb) || (pCCB->startdone != ARCMSR_CCB_START)) {
acb              3620 drivers/scsi/arcmsr/arcmsr_hba.c 					, acb->host->host_no
acb              3631 drivers/scsi/arcmsr/arcmsr_hba.c 				, acb->host->host_no
acb              3633 drivers/scsi/arcmsr/arcmsr_hba.c 				, atomic_read(&acb->ccboutstandingcount));
acb              3636 drivers/scsi/arcmsr/arcmsr_hba.c 		error = (acb->pCompletionQ[doneq_index].cmdFlag &
acb              3638 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_report_ccb_state(acb, pCCB, error);
acb              3644 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_polling_ccbdone(struct AdapterControlBlock *acb,
acb              3648 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              3651 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaA_polling_ccbdone(acb, poll_ccb);
acb              3656 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaB_polling_ccbdone(acb, poll_ccb);
acb              3660 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaC_polling_ccbdone(acb, poll_ccb);
acb              3664 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaD_polling_ccbdone(acb, poll_ccb);
acb              3667 drivers/scsi/arcmsr/arcmsr_hba.c 		rtn = arcmsr_hbaE_polling_ccbdone(acb, poll_ccb);
acb              3755 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_iop_confirm(struct AdapterControlBlock *acb)
acb              3766 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              3769 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent_handle = acb->dma_coherent_handle2;
acb              3772 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent_handle = acb->dma_coherent_handle +
acb              3776 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent_handle = acb->dma_coherent_handle;
acb              3781 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->cdb_phyaddr_hi32 = cdb_phyaddr_hi32;
acb              3782 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->cdb_phyadd_hipart = ((uint64_t)cdb_phyaddr_hi32) << 32;
acb              3788 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              3792 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              3798 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!arcmsr_hbaA_wait_msgint_ready(acb)) {
acb              3801 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb              3811 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              3815 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              3817 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb              3833 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              3835 drivers/scsi/arcmsr/arcmsr_hba.c 			timeout \n",acb->host->host_no);
acb              3839 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              3841 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb              3847 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              3850 drivers/scsi/arcmsr/arcmsr_hba.c 					acb->adapter_index, cdb_phyaddr_hi32);
acb              3855 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!arcmsr_hbaC_wait_msgint_ready(acb)) {
acb              3857 drivers/scsi/arcmsr/arcmsr_hba.c 				timeout \n", acb->host->host_no);
acb              3864 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              3875 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!arcmsr_hbaD_wait_msgint_ready(acb)) {
acb              3877 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb              3883 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              3888 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->ccbsize, &reg->msgcode_rwbuffer[4]);
acb              3889 drivers/scsi/arcmsr/arcmsr_hba.c 		dma_coherent_handle = acb->dma_coherent_handle2;
acb              3894 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->ioqueue_size, &reg->msgcode_rwbuffer[7]);
acb              3896 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE;
acb              3897 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              3898 drivers/scsi/arcmsr/arcmsr_hba.c 		if (!arcmsr_hbaE_wait_msgint_ready(acb)) {
acb              3900 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->host->host_no);
acb              3909 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb)
acb              3912 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              3915 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              3917 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!(acb->acb_flags & ACB_F_IOP_INITED))
acb              3925 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              3927 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!(acb->acb_flags & ACB_F_IOP_INITED))
acb              3935 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              3937 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!(acb->acb_flags & ACB_F_IOP_INITED))
acb              3944 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              3946 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!(acb->acb_flags & ACB_F_IOP_INITED))
acb              3954 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              3956 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!(acb->acb_flags & ACB_F_IOP_INITED))
acb              3967 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb = from_timer(acb, t, eternal_timer);
acb              3968 drivers/scsi/arcmsr/arcmsr_hba.c 	if (unlikely(atomic_read(&acb->rq_map_token) == 0) ||
acb              3969 drivers/scsi/arcmsr/arcmsr_hba.c 		(acb->acb_flags & ACB_F_BUS_RESET) ||
acb              3970 drivers/scsi/arcmsr/arcmsr_hba.c 		(acb->acb_flags & ACB_F_ABORT)) {
acb              3971 drivers/scsi/arcmsr/arcmsr_hba.c 		mod_timer(&acb->eternal_timer,
acb              3974 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->fw_flag = FW_NORMAL;
acb              3975 drivers/scsi/arcmsr/arcmsr_hba.c 		if (atomic_read(&acb->ante_token_value) ==
acb              3976 drivers/scsi/arcmsr/arcmsr_hba.c 			atomic_read(&acb->rq_map_token)) {
acb              3977 drivers/scsi/arcmsr/arcmsr_hba.c 			atomic_set(&acb->rq_map_token, 16);
acb              3979 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->ante_token_value,
acb              3980 drivers/scsi/arcmsr/arcmsr_hba.c 			atomic_read(&acb->rq_map_token));
acb              3981 drivers/scsi/arcmsr/arcmsr_hba.c 		if (atomic_dec_and_test(&acb->rq_map_token)) {
acb              3982 drivers/scsi/arcmsr/arcmsr_hba.c 			mod_timer(&acb->eternal_timer, jiffies +
acb              3986 drivers/scsi/arcmsr/arcmsr_hba.c 		switch (acb->adapter_type) {
acb              3988 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              3993 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_B *reg = acb->pmuB;
acb              3998 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              4004 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_D *reg = acb->pmuD;
acb              4009 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              4011 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE;
acb              4012 drivers/scsi/arcmsr/arcmsr_hba.c 			writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              4018 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags |= ACB_F_MSG_GET_CONFIG;
acb              4019 drivers/scsi/arcmsr/arcmsr_hba.c 		mod_timer(&acb->eternal_timer, jiffies + msecs_to_jiffies(6 * HZ));
acb              4023 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaA_start_bgrb(struct AdapterControlBlock *acb)
acb              4025 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              4026 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_MSG_START_BGRB;
acb              4028 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaA_wait_msgint_ready(acb)) {
acb              4030 drivers/scsi/arcmsr/arcmsr_hba.c 				rebuild' timeout \n", acb->host->host_no);
acb              4034 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hbaB_start_bgrb(struct AdapterControlBlock *acb)
acb              4036 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_B *reg = acb->pmuB;
acb              4037 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_MSG_START_BGRB;
acb              4039 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              4041 drivers/scsi/arcmsr/arcmsr_hba.c 				rebuild' timeout \n",acb->host->host_no);
acb              4084 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_start_adapter_bgrb(struct AdapterControlBlock *acb)
acb              4086 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              4088 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaA_start_bgrb(acb);
acb              4091 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaB_start_bgrb(acb);
acb              4094 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaC_start_bgrb(acb);
acb              4097 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaD_start_bgrb(acb);
acb              4100 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hbaE_start_bgrb(acb);
acb              4105 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_clear_doorbell_queue_buffer(struct AdapterControlBlock *acb)
acb              4107 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              4109 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              4120 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              4137 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              4158 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              4180 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              4183 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->in_doorbell = readl(&reg->iobound_doorbell);
acb              4185 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_DATA_READ_OK;
acb              4186 drivers/scsi/arcmsr/arcmsr_hba.c 		writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              4189 drivers/scsi/arcmsr/arcmsr_hba.c 			tmp = acb->in_doorbell;
acb              4190 drivers/scsi/arcmsr/arcmsr_hba.c 			acb->in_doorbell = readl(&reg->iobound_doorbell);
acb              4191 drivers/scsi/arcmsr/arcmsr_hba.c 			if((tmp ^ acb->in_doorbell) & ARCMSR_HBEMU_IOP2DRV_DATA_WRITE_OK) {
acb              4193 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->out_doorbell ^= ARCMSR_HBEMU_DRV2IOP_DATA_READ_OK;
acb              4194 drivers/scsi/arcmsr/arcmsr_hba.c 				writel(acb->out_doorbell, &reg->iobound_doorbell);
acb              4203 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_enable_eoi_mode(struct AdapterControlBlock *acb)
acb              4205 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->adapter_type) {
acb              4210 drivers/scsi/arcmsr/arcmsr_hba.c 			struct MessageUnit_B *reg = acb->pmuB;
acb              4212 drivers/scsi/arcmsr/arcmsr_hba.c 			if (!arcmsr_hbaB_wait_msgint_ready(acb)) {
acb              4224 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_hardware_reset(struct AdapterControlBlock *acb)
acb              4228 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_A __iomem *pmuA = acb->pmuA;
acb              4229 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_C __iomem *pmuC = acb->pmuC;
acb              4230 drivers/scsi/arcmsr/arcmsr_hba.c 	struct MessageUnit_D *pmuD = acb->pmuD;
acb              4233 drivers/scsi/arcmsr/arcmsr_hba.c 	printk(KERN_NOTICE "arcmsr%d: executing hw bus reset .....\n", acb->host->host_no);
acb              4235 drivers/scsi/arcmsr/arcmsr_hba.c 		pci_read_config_byte(acb->pdev, i, &value[i]);
acb              4238 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->dev_id == 0x1680) {
acb              4240 drivers/scsi/arcmsr/arcmsr_hba.c 	} else if (acb->dev_id == 0x1880) {
acb              4251 drivers/scsi/arcmsr/arcmsr_hba.c 	} else if (acb->dev_id == 0x1884) {
acb              4252 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *pmuE = acb->pmuE;
acb              4264 drivers/scsi/arcmsr/arcmsr_hba.c 	} else if (acb->dev_id == 0x1214) {
acb              4267 drivers/scsi/arcmsr/arcmsr_hba.c 		pci_write_config_byte(acb->pdev, 0x84, 0x20);
acb              4272 drivers/scsi/arcmsr/arcmsr_hba.c 		pci_write_config_byte(acb->pdev, i, value[i]);
acb              4278 drivers/scsi/arcmsr/arcmsr_hba.c static bool arcmsr_reset_in_progress(struct AdapterControlBlock *acb)
acb              4282 drivers/scsi/arcmsr/arcmsr_hba.c 	switch(acb->adapter_type) {
acb              4284 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_A __iomem *reg = acb->pmuA;
acb              4290 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_B *reg = acb->pmuB;
acb              4296 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_C __iomem *reg = acb->pmuC;
acb              4301 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_D *reg = acb->pmuD;
acb              4307 drivers/scsi/arcmsr/arcmsr_hba.c 		struct MessageUnit_E __iomem *reg = acb->pmuE;
acb              4316 drivers/scsi/arcmsr/arcmsr_hba.c static void arcmsr_iop_init(struct AdapterControlBlock *acb)
acb              4320 drivers/scsi/arcmsr/arcmsr_hba.c 	intmask_org = arcmsr_disable_outbound_ints(acb);
acb              4321 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_wait_firmware_ready(acb);
acb              4322 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_iop_confirm(acb);
acb              4324 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_start_adapter_bgrb(acb);
acb              4326 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_clear_doorbell_queue_buffer(acb);
acb              4327 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_enable_eoi_mode(acb);
acb              4329 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_enable_outbound_ints(acb, intmask_org);
acb              4330 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_IOP_INITED;
acb              4333 drivers/scsi/arcmsr/arcmsr_hba.c static uint8_t arcmsr_iop_reset(struct AdapterControlBlock *acb)
acb              4341 drivers/scsi/arcmsr/arcmsr_hba.c 	if (atomic_read(&acb->ccboutstandingcount) != 0) {
acb              4343 drivers/scsi/arcmsr/arcmsr_hba.c 		intmask_org = arcmsr_disable_outbound_ints(acb);
acb              4345 drivers/scsi/arcmsr/arcmsr_hba.c 		rtnval = arcmsr_abort_allcmd(acb);
acb              4347 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_done4abort_postqueue(acb);
acb              4348 drivers/scsi/arcmsr/arcmsr_hba.c 		for (i = 0; i < acb->maxFreeCCB; i++) {
acb              4349 drivers/scsi/arcmsr/arcmsr_hba.c 			ccb = acb->pccb_pool[i];
acb              4354 drivers/scsi/arcmsr/arcmsr_hba.c 				spin_lock_irqsave(&acb->ccblist_lock, flags);
acb              4355 drivers/scsi/arcmsr/arcmsr_hba.c 				list_add_tail(&ccb->list, &acb->ccb_free_list);
acb              4356 drivers/scsi/arcmsr/arcmsr_hba.c 				spin_unlock_irqrestore(&acb->ccblist_lock, flags);
acb              4359 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->ccboutstandingcount, 0);
acb              4361 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_enable_outbound_ints(acb, intmask_org);
acb              4369 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb;
acb              4372 drivers/scsi/arcmsr/arcmsr_hba.c 	acb = (struct AdapterControlBlock *) cmd->device->host->hostdata;
acb              4373 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_ADAPTER_REMOVED)
acb              4376 drivers/scsi/arcmsr/arcmsr_hba.c 		" num_aborts = %d \n", acb->num_resets, acb->num_aborts);
acb              4377 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->num_resets++;
acb              4379 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_BUS_RESET) {
acb              4382 drivers/scsi/arcmsr/arcmsr_hba.c 		timeout = wait_event_timeout(wait_q, (acb->acb_flags
acb              4387 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_BUS_RESET;
acb              4388 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!arcmsr_iop_reset(acb)) {
acb              4389 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_hardware_reset(acb);
acb              4390 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= ~ACB_F_IOP_INITED;
acb              4393 drivers/scsi/arcmsr/arcmsr_hba.c 		if (arcmsr_reset_in_progress(acb)) {
acb              4395 drivers/scsi/arcmsr/arcmsr_hba.c 				acb->fw_flag = FW_DEADLOCK;
acb              4398 drivers/scsi/arcmsr/arcmsr_hba.c 					acb->host->host_no);
acb              4404 drivers/scsi/arcmsr/arcmsr_hba.c 		arcmsr_iop_init(acb);
acb              4405 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->rq_map_token, 16);
acb              4406 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->ante_token_value, 16);
acb              4407 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->fw_flag = FW_NORMAL;
acb              4408 drivers/scsi/arcmsr/arcmsr_hba.c 		mod_timer(&acb->eternal_timer, jiffies +
acb              4410 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= ~ACB_F_BUS_RESET;
acb              4414 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= ~ACB_F_BUS_RESET;
acb              4415 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->rq_map_token, 16);
acb              4416 drivers/scsi/arcmsr/arcmsr_hba.c 		atomic_set(&acb->ante_token_value, 16);
acb              4417 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->fw_flag = FW_NORMAL;
acb              4418 drivers/scsi/arcmsr/arcmsr_hba.c 		mod_timer(&acb->eternal_timer, jiffies +
acb              4425 drivers/scsi/arcmsr/arcmsr_hba.c static int arcmsr_abort_one_cmd(struct AdapterControlBlock *acb,
acb              4429 drivers/scsi/arcmsr/arcmsr_hba.c 	rtn = arcmsr_polling_ccbdone(acb, ccb);
acb              4435 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              4441 drivers/scsi/arcmsr/arcmsr_hba.c 	if (acb->acb_flags & ACB_F_ADAPTER_REMOVED)
acb              4445 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->host->host_no, cmd->device->id, (u32)cmd->device->lun);
acb              4446 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags |= ACB_F_ABORT;
acb              4447 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->num_aborts++;
acb              4454 drivers/scsi/arcmsr/arcmsr_hba.c 	if (!atomic_read(&acb->ccboutstandingcount)) {
acb              4455 drivers/scsi/arcmsr/arcmsr_hba.c 		acb->acb_flags &= ~ACB_F_ABORT;
acb              4459 drivers/scsi/arcmsr/arcmsr_hba.c 	intmask_org = arcmsr_disable_outbound_ints(acb);
acb              4460 drivers/scsi/arcmsr/arcmsr_hba.c 	for (i = 0; i < acb->maxFreeCCB; i++) {
acb              4461 drivers/scsi/arcmsr/arcmsr_hba.c 		struct CommandControlBlock *ccb = acb->pccb_pool[i];
acb              4464 drivers/scsi/arcmsr/arcmsr_hba.c 			rtn = arcmsr_abort_one_cmd(acb, ccb);
acb              4468 drivers/scsi/arcmsr/arcmsr_hba.c 	acb->acb_flags &= ~ACB_F_ABORT;
acb              4469 drivers/scsi/arcmsr/arcmsr_hba.c 	arcmsr_enable_outbound_ints(acb, intmask_org);
acb              4475 drivers/scsi/arcmsr/arcmsr_hba.c 	struct AdapterControlBlock *acb =
acb              4480 drivers/scsi/arcmsr/arcmsr_hba.c 	switch (acb->pdev->device) {
acb               156 drivers/scsi/dc395x.c #define DC395x_read8(acb,address)		(u8)(inb(acb->io_port_base + (address)))
acb               157 drivers/scsi/dc395x.c #define DC395x_read16(acb,address)		(u16)(inw(acb->io_port_base + (address)))
acb               158 drivers/scsi/dc395x.c #define DC395x_read32(acb,address)		(u32)(inl(acb->io_port_base + (address)))
acb               159 drivers/scsi/dc395x.c #define DC395x_write8(acb,address,value)	outb((value), acb->io_port_base + (address))
acb               160 drivers/scsi/dc395x.c #define DC395x_write16(acb,address,value)	outw((value), acb->io_port_base + (address))
acb               161 drivers/scsi/dc395x.c #define DC395x_write32(acb,address,value)	outl((value), acb->io_port_base + (address))
acb               271 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb;
acb               344 drivers/scsi/dc395x.c static void data_out_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               346 drivers/scsi/dc395x.c static void data_in_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               348 drivers/scsi/dc395x.c static void command_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               350 drivers/scsi/dc395x.c static void status_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               352 drivers/scsi/dc395x.c static void msgout_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               354 drivers/scsi/dc395x.c static void msgin_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               356 drivers/scsi/dc395x.c static void data_out_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               358 drivers/scsi/dc395x.c static void data_in_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               360 drivers/scsi/dc395x.c static void command_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               362 drivers/scsi/dc395x.c static void status_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               364 drivers/scsi/dc395x.c static void msgout_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               366 drivers/scsi/dc395x.c static void msgin_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               368 drivers/scsi/dc395x.c static void nop0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb               370 drivers/scsi/dc395x.c static void nop1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb, 
acb               372 drivers/scsi/dc395x.c static void set_basic_config(struct AdapterCtlBlk *acb);
acb               373 drivers/scsi/dc395x.c static void cleanup_after_transfer(struct AdapterCtlBlk *acb,
acb               375 drivers/scsi/dc395x.c static void reset_scsi_bus(struct AdapterCtlBlk *acb);
acb               376 drivers/scsi/dc395x.c static void data_io_transfer(struct AdapterCtlBlk *acb,
acb               378 drivers/scsi/dc395x.c static void disconnect(struct AdapterCtlBlk *acb);
acb               379 drivers/scsi/dc395x.c static void reselect(struct AdapterCtlBlk *acb);
acb               380 drivers/scsi/dc395x.c static u8 start_scsi(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb               382 drivers/scsi/dc395x.c static inline void enable_msgout_abort(struct AdapterCtlBlk *acb,
acb               386 drivers/scsi/dc395x.c static void doing_srb_done(struct AdapterCtlBlk *acb, u8 did_code,
acb               388 drivers/scsi/dc395x.c static void scsi_reset_detect(struct AdapterCtlBlk *acb);
acb               389 drivers/scsi/dc395x.c static void pci_unmap_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb);
acb               390 drivers/scsi/dc395x.c static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb,
acb               392 drivers/scsi/dc395x.c static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb               394 drivers/scsi/dc395x.c static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb               396 drivers/scsi/dc395x.c static void set_xfer_rate(struct AdapterCtlBlk *acb,
acb               757 drivers/scsi/dc395x.c static void waiting_set_timer(struct AdapterCtlBlk *acb, unsigned long to)
acb               759 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb               761 drivers/scsi/dc395x.c 	if (time_before(jiffies + to, acb->last_reset - HZ / 2))
acb               762 drivers/scsi/dc395x.c 		acb->waiting_timer.expires =
acb               763 drivers/scsi/dc395x.c 		    acb->last_reset - HZ / 2 + 1;
acb               765 drivers/scsi/dc395x.c 		acb->waiting_timer.expires = jiffies + to + 1;
acb               766 drivers/scsi/dc395x.c 	add_timer(&acb->waiting_timer);
acb               771 drivers/scsi/dc395x.c static void waiting_process_next(struct AdapterCtlBlk *acb)
acb               777 drivers/scsi/dc395x.c 	struct list_head *dcb_list_head = &acb->dcb_list;
acb               779 drivers/scsi/dc395x.c 	if (acb->active_dcb
acb               780 drivers/scsi/dc395x.c 	    || (acb->acb_flag & (RESET_DETECT + RESET_DONE + RESET_DEV)))
acb               783 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb               784 drivers/scsi/dc395x.c 		del_timer(&acb->waiting_timer);
acb               794 drivers/scsi/dc395x.c 		if (dcb == acb->dcb_run_robin) {
acb               801 drivers/scsi/dc395x.c 		acb->dcb_run_robin = start;
acb               814 drivers/scsi/dc395x.c 		acb->dcb_run_robin = dcb_get_next(dcb_list_head,
acb               815 drivers/scsi/dc395x.c 						  acb->dcb_run_robin);
acb               826 drivers/scsi/dc395x.c 			if (!start_scsi(acb, pos, srb))
acb               829 drivers/scsi/dc395x.c 				waiting_set_timer(acb, HZ/50);
acb               840 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = from_timer(acb, t, waiting_timer);
acb               842 drivers/scsi/dc395x.c 		"waiting_timeout: Queue woken up by timer. acb=%p\n", acb);
acb               843 drivers/scsi/dc395x.c 	DC395x_LOCK_IO(acb->scsi_host, flags);
acb               844 drivers/scsi/dc395x.c 	waiting_process_next(acb);
acb               845 drivers/scsi/dc395x.c 	DC395x_UNLOCK_IO(acb->scsi_host, flags);
acb               850 drivers/scsi/dc395x.c static struct DeviceCtlBlk *find_dcb(struct AdapterCtlBlk *acb, u8 id, u8 lun)
acb               852 drivers/scsi/dc395x.c 	return acb->children[id][lun];
acb               857 drivers/scsi/dc395x.c static void send_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
acb               862 drivers/scsi/dc395x.c 	    acb->active_dcb ||
acb               863 drivers/scsi/dc395x.c 	    (acb->acb_flag & (RESET_DETECT + RESET_DONE + RESET_DEV))) {
acb               865 drivers/scsi/dc395x.c 		waiting_process_next(acb);
acb               869 drivers/scsi/dc395x.c 	if (!start_scsi(acb, dcb, srb)) {
acb               873 drivers/scsi/dc395x.c 		waiting_set_timer(acb, HZ / 50);
acb               949 drivers/scsi/dc395x.c 		srb->sg_bus_addr = dma_map_single(&dcb->acb->dev->dev,
acb               983 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb =
acb               992 drivers/scsi/dc395x.c 	if (cmd->device->id >= acb->scsi_host->max_id ||
acb               993 drivers/scsi/dc395x.c 	    cmd->device->lun >= acb->scsi_host->max_lun ||
acb               999 drivers/scsi/dc395x.c 	if (!(acb->dcb_map[cmd->device->id] & (1 << cmd->device->lun))) {
acb              1006 drivers/scsi/dc395x.c 	dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
acb              1018 drivers/scsi/dc395x.c 	srb = list_first_entry_or_null(&acb->srb_free_list,
acb              1035 drivers/scsi/dc395x.c 		waiting_process_next(acb);
acb              1038 drivers/scsi/dc395x.c 		send_srb(acb, srb);
acb              1064 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb;
acb              1068 drivers/scsi/dc395x.c 	acb = (struct AdapterCtlBlk *)sdev->host->hostdata;
acb              1073 drivers/scsi/dc395x.c 	if ((acb->gmode2 & NAC_GREATER_1G) && (cylinders > 1024)) {
acb              1088 drivers/scsi/dc395x.c static void dump_register_info(struct AdapterCtlBlk *acb,
acb              1092 drivers/scsi/dc395x.c 	struct pci_dev *dev = acb->dev;
acb              1095 drivers/scsi/dc395x.c 		dcb = acb->active_dcb;
acb              1113 drivers/scsi/dc395x.c 		       (acb->active_dcb) ? "" : "not");
acb              1119 drivers/scsi/dc395x.c 		DC395x_read16(acb, TRM_S1040_SCSI_STATUS),
acb              1120 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT),
acb              1121 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_SIGNAL),
acb              1122 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS),
acb              1123 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_SYNC),
acb              1124 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_TARGETID),
acb              1125 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_IDMSG),
acb              1126 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_SCSI_COUNTER),
acb              1127 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_INTEN),
acb              1128 drivers/scsi/dc395x.c 		DC395x_read16(acb, TRM_S1040_SCSI_CONFIG0),
acb              1129 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_CONFIG2),
acb              1130 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_COMMAND),
acb              1131 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_TIMEOUT));
acb              1135 drivers/scsi/dc395x.c 		DC395x_read16(acb, TRM_S1040_DMA_COMMAND),
acb              1136 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_FIFOCNT),
acb              1137 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT),
acb              1138 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_STATUS),
acb              1139 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_INTEN),
acb              1140 drivers/scsi/dc395x.c 		DC395x_read16(acb, TRM_S1040_DMA_CONFIG),
acb              1141 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_DMA_XCNT),
acb              1142 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_DMA_CXCNT),
acb              1143 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_DMA_XHIGHADDR),
acb              1144 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_DMA_XLOWADDR));
acb              1147 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_GEN_CONTROL),
acb              1148 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_GEN_STATUS),
acb              1149 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_GEN_TIMER),
acb              1154 drivers/scsi/dc395x.c static inline void clear_fifo(struct AdapterCtlBlk *acb, char *txt)
acb              1157 drivers/scsi/dc395x.c 	u8 lines = DC395x_read8(acb, TRM_S1040_SCSI_SIGNAL);
acb              1158 drivers/scsi/dc395x.c 	u8 fifocnt = DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT);
acb              1164 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_CLRFIFO);
acb              1168 drivers/scsi/dc395x.c static void reset_dev_param(struct AdapterCtlBlk *acb)
acb              1171 drivers/scsi/dc395x.c 	struct NvRamType *eeprom = &acb->eeprom;
acb              1172 drivers/scsi/dc395x.c 	dprintkdbg(DBG_0, "reset_dev_param: acb=%p\n", acb);
acb              1174 drivers/scsi/dc395x.c 	list_for_each_entry(dcb, &acb->dcb_list, list) {
acb              1185 drivers/scsi/dc395x.c 		    || !(acb->config & HCC_WIDE_CARD))
acb              1198 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb =
acb              1204 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb              1205 drivers/scsi/dc395x.c 		del_timer(&acb->waiting_timer);
acb              1210 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_INTEN, 0x00);
acb              1211 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_INTEN, 0x00);
acb              1212 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_CONTROL, DO_RSTMODULE);
acb              1213 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_CONTROL, DMARESETMODULE);
acb              1215 drivers/scsi/dc395x.c 	reset_scsi_bus(acb);
acb              1219 drivers/scsi/dc395x.c 	acb->last_reset =
acb              1221 drivers/scsi/dc395x.c 	    HZ * acb->eeprom.delay_time;
acb              1227 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_CONTROL, CLRXFIFO);
acb              1228 drivers/scsi/dc395x.c 	clear_fifo(acb, "eh_bus_reset");
acb              1230 drivers/scsi/dc395x.c 	DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS);
acb              1231 drivers/scsi/dc395x.c 	set_basic_config(acb);
acb              1233 drivers/scsi/dc395x.c 	reset_dev_param(acb);
acb              1234 drivers/scsi/dc395x.c 	doing_srb_done(acb, DID_RESET, cmd, 0);
acb              1235 drivers/scsi/dc395x.c 	acb->active_dcb = NULL;
acb              1236 drivers/scsi/dc395x.c 	acb->acb_flag = 0;	/* RESET_DETECT, RESET_DONE ,RESET_DEV */
acb              1237 drivers/scsi/dc395x.c 	waiting_process_next(acb);
acb              1264 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb =
acb              1271 drivers/scsi/dc395x.c 	dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
acb              1280 drivers/scsi/dc395x.c 		pci_unmap_srb_sense(acb, srb);
acb              1281 drivers/scsi/dc395x.c 		pci_unmap_srb(acb, srb);
acb              1283 drivers/scsi/dc395x.c 		list_add_tail(&srb->list, &acb->srb_free_list);
acb              1300 drivers/scsi/dc395x.c static void build_sdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb              1328 drivers/scsi/dc395x.c static void build_wdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb              1332 drivers/scsi/dc395x.c 		   (acb->config & HCC_WIDE_CARD)) ? 1 : 0;
acb              1355 drivers/scsi/dc395x.c static void selto_timer(struct AdapterCtlBlk *acb)
acb              1357 drivers/scsi/dc395x.c 	if (timer_pending(&acb->selto_timer))
acb              1359 drivers/scsi/dc395x.c 	acb->selto_timer.function = selection_timeout_missed;
acb              1360 drivers/scsi/dc395x.c 	acb->selto_timer.data = (unsigned long) acb;
acb              1362 drivers/scsi/dc395x.c 	    (jiffies + HZ, acb->last_reset + HZ / 2))
acb              1363 drivers/scsi/dc395x.c 		acb->selto_timer.expires =
acb              1364 drivers/scsi/dc395x.c 		    acb->last_reset + HZ / 2 + 1;
acb              1366 drivers/scsi/dc395x.c 		acb->selto_timer.expires = jiffies + HZ + 1;
acb              1367 drivers/scsi/dc395x.c 	add_timer(&acb->selto_timer);
acb              1374 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)ptr;
acb              1377 drivers/scsi/dc395x.c 	if (!acb->active_dcb || !acb->active_dcb->active_srb) {
acb              1381 drivers/scsi/dc395x.c 	DC395x_LOCK_IO(acb->scsi_host, flags);
acb              1382 drivers/scsi/dc395x.c 	srb = acb->active_dcb->active_srb;
acb              1383 drivers/scsi/dc395x.c 	disconnect(acb);
acb              1384 drivers/scsi/dc395x.c 	DC395x_UNLOCK_IO(acb->scsi_host, flags);
acb              1389 drivers/scsi/dc395x.c static u8 start_scsi(struct AdapterCtlBlk* acb, struct DeviceCtlBlk* dcb,
acb              1400 drivers/scsi/dc395x.c 	s_stat = DC395x_read8(acb, TRM_S1040_SCSI_SIGNAL);
acb              1402 drivers/scsi/dc395x.c 	s_stat2 = DC395x_read16(acb, TRM_S1040_SCSI_STATUS);
acb              1421 drivers/scsi/dc395x.c 	if (acb->active_dcb) {
acb              1425 drivers/scsi/dc395x.c 			acb->active_dcb->active_srb ?
acb              1426 drivers/scsi/dc395x.c 			    acb->active_dcb->active_srb->cmd : 0);
acb              1429 drivers/scsi/dc395x.c 	if (DC395x_read16(acb, TRM_S1040_SCSI_STATUS) & SCSIINTERRUPT) {
acb              1435 drivers/scsi/dc395x.c 	if (time_before(jiffies, acb->last_reset - HZ / 2)) {
acb              1441 drivers/scsi/dc395x.c 	clear_fifo(acb, "start_scsi");
acb              1442 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_HOSTID, acb->scsi_host->this_id);
acb              1443 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
acb              1444 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
acb              1445 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
acb              1469 drivers/scsi/dc395x.c 			build_wdtr(acb, dcb, srb);
acb              1475 drivers/scsi/dc395x.c 			build_sdtr(acb, dcb, srb);
acb              1480 drivers/scsi/dc395x.c 			build_wdtr(acb, dcb, srb);
acb              1486 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_FIFO, identify_message);
acb              1507 drivers/scsi/dc395x.c 			DC395x_write16(acb, TRM_S1040_SCSI_CONTROL,
acb              1512 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, MSG_SIMPLE_QTAG);
acb              1513 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, tag_number);
acb              1526 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, REQUEST_SENSE);
acb              1527 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
acb              1528 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1529 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1530 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, SCSI_SENSE_BUFFERSIZE);
acb              1531 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1535 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_FIFO, *ptr++);
acb              1538 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL,
acb              1540 drivers/scsi/dc395x.c 	if (DC395x_read16(acb, TRM_S1040_SCSI_STATUS) & SCSIINTERRUPT) {
acb              1560 drivers/scsi/dc395x.c 		acb->active_dcb = dcb;
acb              1563 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL,
acb              1566 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, scsicommand);
acb              1573 drivers/scsi/dc395x.c  DC395x_write16 (acb, TRM_S1040_SCSI_CONTROL, DO_SETATN); \
acb              1578 drivers/scsi/dc395x.c static inline void enable_msgout_abort(struct AdapterCtlBlk *acb,
acb              1596 drivers/scsi/dc395x.c static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb,
acb              1607 drivers/scsi/dc395x.c 	DC395x_LOCK_IO(acb->scsi_host, flags);
acb              1610 drivers/scsi/dc395x.c 	scsi_intstatus = DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS);
acb              1620 drivers/scsi/dc395x.c 	if (timer_pending(&acb->selto_timer))
acb              1621 drivers/scsi/dc395x.c 		del_timer(&acb->selto_timer);
acb              1624 drivers/scsi/dc395x.c 		disconnect(acb);	/* bus free interrupt  */
acb              1628 drivers/scsi/dc395x.c 		reselect(acb);
acb              1636 drivers/scsi/dc395x.c 		scsi_reset_detect(acb);
acb              1640 drivers/scsi/dc395x.c 		dcb = acb->active_dcb;
acb              1650 drivers/scsi/dc395x.c 			enable_msgout_abort(acb, srb);
acb              1670 drivers/scsi/dc395x.c 		dc395x_statev(acb, srb, &scsi_status);
acb              1693 drivers/scsi/dc395x.c 		dc395x_statev(acb, srb, &scsi_status);
acb              1696 drivers/scsi/dc395x.c 	DC395x_UNLOCK_IO(acb->scsi_host, flags);
acb              1702 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = dev_id;
acb              1710 drivers/scsi/dc395x.c 	scsi_status = DC395x_read16(acb, TRM_S1040_SCSI_STATUS);
acb              1711 drivers/scsi/dc395x.c 	dma_status = DC395x_read8(acb, TRM_S1040_DMA_STATUS);
acb              1714 drivers/scsi/dc395x.c 		dc395x_handle_interrupt(acb, scsi_status);
acb              1722 drivers/scsi/dc395x.c 		if (acb->active_dcb) {
acb              1723 drivers/scsi/dc395x.c 			acb->active_dcb-> flag |= ABORT_DEV_;
acb              1724 drivers/scsi/dc395x.c 			if (acb->active_dcb->active_srb)
acb              1725 drivers/scsi/dc395x.c 				enable_msgout_abort(acb, acb->active_dcb->active_srb);
acb              1727 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_DMA_CONTROL, ABORTXFER | CLRXFIFO);
acb              1730 drivers/scsi/dc395x.c 		acb = NULL;
acb              1739 drivers/scsi/dc395x.c static void msgout_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              1746 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              1751 drivers/scsi/dc395x.c static void msgout_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              1758 drivers/scsi/dc395x.c 	clear_fifo(acb, "msgout_phase1");
acb              1768 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, MSG_NOP);
acb              1769 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              1770 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_FIFO_OUT);
acb              1775 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, *ptr++);
acb              1780 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_FIFO_OUT);
acb              1784 drivers/scsi/dc395x.c static void command_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              1788 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);
acb              1792 drivers/scsi/dc395x.c static void command_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              1800 drivers/scsi/dc395x.c 	clear_fifo(acb, "command_phase1");
acb              1801 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_CLRATN);
acb              1805 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_FIFO, *ptr);
acb              1809 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, REQUEST_SENSE);
acb              1810 drivers/scsi/dc395x.c 		dcb = acb->active_dcb;
acb              1812 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
acb              1813 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1814 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1815 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, SCSI_SENSE_BUFFERSIZE);
acb              1816 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              1820 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);
acb              1822 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_FIFO_OUT);
acb              1872 drivers/scsi/dc395x.c 			dma_sync_single_for_cpu(&srb->dcb->acb->dev->dev,
acb              1878 drivers/scsi/dc395x.c 			dma_sync_single_for_device(&srb->dcb->acb->dev->dev,
acb              1909 drivers/scsi/dc395x.c static void cleanup_after_transfer(struct AdapterCtlBlk *acb,
acb              1913 drivers/scsi/dc395x.c 	if (DC395x_read16(acb, TRM_S1040_DMA_COMMAND) & 0x0001) {	/* read */
acb              1914 drivers/scsi/dc395x.c 		if (!(DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT) & 0x40))
acb              1915 drivers/scsi/dc395x.c 			clear_fifo(acb, "cleanup/in");
acb              1916 drivers/scsi/dc395x.c 		if (!(DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT) & 0x80))
acb              1917 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_DMA_CONTROL, CLRXFIFO);
acb              1919 drivers/scsi/dc395x.c 		if (!(DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT) & 0x80))
acb              1920 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_DMA_CONTROL, CLRXFIFO);
acb              1921 drivers/scsi/dc395x.c 		if (!(DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT) & 0x40))
acb              1922 drivers/scsi/dc395x.c 			clear_fifo(acb, "cleanup/out");
acb              1924 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);
acb              1935 drivers/scsi/dc395x.c static void data_out_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              1959 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_FIFOCNT),
acb              1960 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT),
acb              1961 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT),
acb              1962 drivers/scsi/dc395x.c 		DC395x_read32(acb, TRM_S1040_SCSI_COUNTER), scsi_status,
acb              1964 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_CONTROL, STOPDMAXFER | CLRXFIFO);
acb              1982 drivers/scsi/dc395x.c 			    (u32)(DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT) &
acb              1990 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT),
acb              1992 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT),
acb              1993 drivers/scsi/dc395x.c 				DC395x_read32(acb, TRM_S1040_SCSI_COUNTER),
acb              1994 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_DMA_FIFOCNT),
acb              1995 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT),
acb              1996 drivers/scsi/dc395x.c 				DC395x_read32(acb, TRM_S1040_DMA_CXCNT));
acb              2009 drivers/scsi/dc395x.c 			    DC395x_read32(acb, TRM_S1040_SCSI_COUNTER);
acb              2063 drivers/scsi/dc395x.c 		cleanup_after_transfer(acb, srb);
acb              2068 drivers/scsi/dc395x.c static void data_out_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2073 drivers/scsi/dc395x.c 	clear_fifo(acb, "data_out_phase1");
acb              2075 drivers/scsi/dc395x.c 	data_io_transfer(acb, srb, XFERDATAOUT);
acb              2078 drivers/scsi/dc395x.c static void data_in_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2114 drivers/scsi/dc395x.c 		if (!(DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT) & 0x80)) {
acb              2123 drivers/scsi/dc395x.c 			       (DC395x_read16(acb, TRM_S1040_DMA_FIFOSTAT) &
acb              2135 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_DMA_FIFOCNT),
acb              2136 drivers/scsi/dc395x.c 				DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT));
acb              2139 drivers/scsi/dc395x.c 		sc = DC395x_read32(acb, TRM_S1040_SCSI_COUNTER);
acb              2140 drivers/scsi/dc395x.c 		fc = DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT);
acb              2152 drivers/scsi/dc395x.c 			DC395x_read8(acb, TRM_S1040_DMA_FIFOSTAT),
acb              2153 drivers/scsi/dc395x.c 			DC395x_read32(acb, TRM_S1040_DMA_CXCNT),
acb              2170 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2,
acb              2189 drivers/scsi/dc395x.c 					byte = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2200 drivers/scsi/dc395x.c 					fc = DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT);
acb              2213 drivers/scsi/dc395x.c 						u8 byte = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2221 drivers/scsi/dc395x.c 					DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2, 0);
acb              2245 drivers/scsi/dc395x.c 			    (u32)(DC395x_read8(acb, TRM_S1040_SCSI_FIFOCNT) &
acb              2264 drivers/scsi/dc395x.c 				    DC395x_read8(acb, TRM_S1040_DMA_STATUS);
acb              2286 drivers/scsi/dc395x.c 		cleanup_after_transfer(acb, srb);
acb              2291 drivers/scsi/dc395x.c static void data_in_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2296 drivers/scsi/dc395x.c 	data_io_transfer(acb, srb, XFERDATAIN);
acb              2300 drivers/scsi/dc395x.c static void data_io_transfer(struct AdapterCtlBlk *acb, 
acb              2310 drivers/scsi/dc395x.c 	if (srb == acb->tmp_srb)
acb              2318 drivers/scsi/dc395x.c 		u8 dma_status = DC395x_read8(acb, TRM_S1040_DMA_STATUS);
acb              2326 drivers/scsi/dc395x.c 			dump_register_info(acb, dcb, srb);
acb              2327 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_DMA_CONTROL, CLRXFIFO);
acb              2335 drivers/scsi/dc395x.c 		DC395x_write32(acb, TRM_S1040_DMA_XHIGHADDR, 0);
acb              2338 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_DMA_XLOWADDR,
acb              2343 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_DMA_XCNT,
acb              2348 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_DMA_XLOWADDR,
acb              2350 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_DMA_XCNT,
acb              2354 drivers/scsi/dc395x.c 		DC395x_write32(acb, TRM_S1040_SCSI_COUNTER,
acb              2356 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2358 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_COMMAND,
acb              2360 drivers/scsi/dc395x.c 			DC395x_write16(acb, TRM_S1040_DMA_COMMAND, io_dir);
acb              2362 drivers/scsi/dc395x.c 			DC395x_write16(acb, TRM_S1040_DMA_COMMAND, io_dir);
acb              2363 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_COMMAND,
acb              2376 drivers/scsi/dc395x.c 		DC395x_write32(acb, TRM_S1040_SCSI_COUNTER,
acb              2378 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2380 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_COMMAND,
acb              2387 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2,
acb              2408 drivers/scsi/dc395x.c 					DC395x_write8(acb, TRM_S1040_SCSI_FIFO, *virt++);
acb              2418 drivers/scsi/dc395x.c 					DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 0);
acb              2422 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2, 0);
acb              2427 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_COMMAND,
acb              2444 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_SCSI_COUNTER, 2);
acb              2445 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2,
acb              2448 drivers/scsi/dc395x.c 				data = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2449 drivers/scsi/dc395x.c 				data2 = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2454 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 'K');
acb              2455 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 'G');
acb              2457 drivers/scsi/dc395x.c 			DC395x_write8(acb, TRM_S1040_SCSI_CONFIG2, 0);
acb              2459 drivers/scsi/dc395x.c 			DC395x_write32(acb, TRM_S1040_SCSI_COUNTER, 1);
acb              2463 drivers/scsi/dc395x.c 				data = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2465 drivers/scsi/dc395x.c 				DC395x_write8(acb, TRM_S1040_SCSI_FIFO, 'K');
acb              2468 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2471 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, bval);
acb              2476 drivers/scsi/dc395x.c static void status_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2481 drivers/scsi/dc395x.c 	srb->target_status = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2482 drivers/scsi/dc395x.c 	srb->end_message = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);	/* get message */
acb              2485 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2486 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_MSGACCEPT);
acb              2490 drivers/scsi/dc395x.c static void status_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2496 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2497 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_COMP);
acb              2516 drivers/scsi/dc395x.c static inline void msgin_reject(struct AdapterCtlBlk *acb,
acb              2530 drivers/scsi/dc395x.c static struct ScsiReqBlk *msgin_qtag(struct AdapterCtlBlk *acb,
acb              2558 drivers/scsi/dc395x.c 		enable_msgout_abort(acb, srb);
acb              2564 drivers/scsi/dc395x.c 	memcpy(srb->msgin_buf, dcb->active_srb->msgin_buf, acb->msg_len);
acb              2572 drivers/scsi/dc395x.c 	srb = acb->tmp_srb;
acb              2583 drivers/scsi/dc395x.c static inline void reprogram_regs(struct AdapterCtlBlk *acb,
acb              2586 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
acb              2587 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
acb              2588 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
acb              2589 drivers/scsi/dc395x.c 	set_xfer_rate(acb, dcb);
acb              2594 drivers/scsi/dc395x.c static void msgin_set_async(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
acb              2606 drivers/scsi/dc395x.c 	reprogram_regs(acb, dcb);
acb              2609 drivers/scsi/dc395x.c 		build_wdtr(acb, dcb, srb);
acb              2617 drivers/scsi/dc395x.c static void msgin_set_sync(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
acb              2678 drivers/scsi/dc395x.c 			build_wdtr(acb, dcb, srb);
acb              2686 drivers/scsi/dc395x.c 	reprogram_regs(acb, dcb);
acb              2690 drivers/scsi/dc395x.c static inline void msgin_set_nowide(struct AdapterCtlBlk *acb,
acb              2700 drivers/scsi/dc395x.c 	reprogram_regs(acb, dcb);
acb              2703 drivers/scsi/dc395x.c 		build_sdtr(acb, dcb, srb);
acb              2709 drivers/scsi/dc395x.c static void msgin_set_wide(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
acb              2713 drivers/scsi/dc395x.c 		   && acb->config & HCC_WIDE_CARD) ? 1 : 0;
acb              2739 drivers/scsi/dc395x.c 	reprogram_regs(acb, dcb);
acb              2742 drivers/scsi/dc395x.c 		build_sdtr(acb, dcb, srb);
acb              2761 drivers/scsi/dc395x.c static void msgin_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2764 drivers/scsi/dc395x.c 	struct DeviceCtlBlk *dcb = acb->active_dcb;
acb              2767 drivers/scsi/dc395x.c 	srb->msgin_buf[acb->msg_len++] = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
acb              2768 drivers/scsi/dc395x.c 	if (msgin_completed(srb->msgin_buf, acb->msg_len)) {
acb              2779 drivers/scsi/dc395x.c 			    msgin_qtag(acb, dcb,
acb              2784 drivers/scsi/dc395x.c 			DC395x_write16(acb, TRM_S1040_SCSI_CONTROL,
acb              2788 drivers/scsi/dc395x.c 				msgin_set_async(acb, srb);
acb              2793 drivers/scsi/dc395x.c 				msgin_set_nowide(acb, srb);
acb              2796 drivers/scsi/dc395x.c 			enable_msgout_abort(acb, srb);
acb              2804 drivers/scsi/dc395x.c 				msgin_set_sync(acb, srb);
acb              2811 drivers/scsi/dc395x.c 				msgin_set_wide(acb, srb);
acb              2814 drivers/scsi/dc395x.c 			msgin_reject(acb, srb);
acb              2846 drivers/scsi/dc395x.c 			enable_msgout_abort(acb, srb);
acb              2859 drivers/scsi/dc395x.c 			msgin_reject(acb, srb);
acb              2864 drivers/scsi/dc395x.c 		acb->msg_len = 0;
acb              2867 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important ... you know! */
acb              2868 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_MSGACCEPT);
acb              2872 drivers/scsi/dc395x.c static void msgin_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2876 drivers/scsi/dc395x.c 	clear_fifo(acb, "msgin_phase1");
acb              2877 drivers/scsi/dc395x.c 	DC395x_write32(acb, TRM_S1040_SCSI_COUNTER, 1);
acb              2882 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              2884 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_FIFO_IN);
acb              2888 drivers/scsi/dc395x.c static void nop0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2894 drivers/scsi/dc395x.c static void nop1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
acb              2900 drivers/scsi/dc395x.c static void set_xfer_rate(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb)
acb              2908 drivers/scsi/dc395x.c 	if (acb->scan_devices) {
acb              2913 drivers/scsi/dc395x.c 	list_for_each_entry(i, &acb->dcb_list, list)
acb              2923 drivers/scsi/dc395x.c static void disconnect(struct AdapterCtlBlk *acb)
acb              2925 drivers/scsi/dc395x.c 	struct DeviceCtlBlk *dcb = acb->active_dcb;
acb              2932 drivers/scsi/dc395x.c 		acb->last_reset =
acb              2934 drivers/scsi/dc395x.c 		    HZ * acb->eeprom.delay_time;
acb              2935 drivers/scsi/dc395x.c 		clear_fifo(acb, "disconnectEx");
acb              2936 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_HWRESELECT);
acb              2940 drivers/scsi/dc395x.c 	acb->active_dcb = NULL;
acb              2944 drivers/scsi/dc395x.c 	clear_fifo(acb, "disconnect");
acb              2945 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_HWRESELECT);
acb              2951 drivers/scsi/dc395x.c 		waiting_process_next(acb);
acb              2954 drivers/scsi/dc395x.c 		acb->last_reset = jiffies + HZ / 2 + 1;
acb              2956 drivers/scsi/dc395x.c 		doing_srb_done(acb, DID_ABORT, srb->cmd, 1);
acb              2957 drivers/scsi/dc395x.c 		waiting_process_next(acb);
acb              2981 drivers/scsi/dc395x.c 				    || acb->scan_devices) {
acb              2991 drivers/scsi/dc395x.c 				waiting_set_timer(acb, HZ / 20);
acb              2994 drivers/scsi/dc395x.c 			u8 bval = DC395x_read8(acb, TRM_S1040_SCSI_SIGNAL);
acb              3004 drivers/scsi/dc395x.c 				waiting_process_next(acb);
acb              3013 drivers/scsi/dc395x.c 			srb_done(acb, dcb, srb);
acb              3019 drivers/scsi/dc395x.c static void reselect(struct AdapterCtlBlk *acb)
acb              3021 drivers/scsi/dc395x.c 	struct DeviceCtlBlk *dcb = acb->active_dcb;
acb              3026 drivers/scsi/dc395x.c 	dprintkdbg(DBG_0, "reselect: acb=%p\n", acb);
acb              3028 drivers/scsi/dc395x.c 	clear_fifo(acb, "reselect");
acb              3031 drivers/scsi/dc395x.c 	rsel_tar_lun_id = DC395x_read16(acb, TRM_S1040_SCSI_TARGETID);
acb              3037 drivers/scsi/dc395x.c 			DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              3041 drivers/scsi/dc395x.c 		if (!acb->scan_devices) {
acb              3046 drivers/scsi/dc395x.c 				DC395x_read16(acb, TRM_S1040_SCSI_STATUS));
acb              3053 drivers/scsi/dc395x.c 			waiting_set_timer(acb, HZ / 20);
acb              3064 drivers/scsi/dc395x.c 	dcb = find_dcb(acb, id, lun);
acb              3068 drivers/scsi/dc395x.c 		DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);	/* it's important for atn stop */
acb              3071 drivers/scsi/dc395x.c 	acb->active_dcb = dcb;
acb              3079 drivers/scsi/dc395x.c 		srb = acb->tmp_srb;
acb              3091 drivers/scsi/dc395x.c 			srb = acb->tmp_srb;
acb              3094 drivers/scsi/dc395x.c 			enable_msgout_abort(acb, srb);
acb              3098 drivers/scsi/dc395x.c 				enable_msgout_abort(acb, srb);
acb              3108 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_HOSTID, acb->scsi_host->this_id);	/* host   ID */
acb              3109 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);		/* target ID */
acb              3110 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);		/* offset    */
acb              3111 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);		/* sync period, wide */
acb              3112 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_DATALATCH);		/* it's important for atn stop */
acb              3114 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_COMMAND, SCMD_MSGACCEPT);
acb              3146 drivers/scsi/dc395x.c 				    dcb->acb->tag_max_num;
acb              3155 drivers/scsi/dc395x.c static void add_dev(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb              3166 drivers/scsi/dc395x.c static void pci_unmap_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
acb              3175 drivers/scsi/dc395x.c 		dma_unmap_single(&acb->dev->dev, srb->sg_bus_addr, SEGMENTX_LEN,
acb              3186 drivers/scsi/dc395x.c static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb,
acb              3194 drivers/scsi/dc395x.c 	dma_unmap_single(&acb->dev->dev, srb->segment_x[0].address,
acb              3209 drivers/scsi/dc395x.c static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb              3225 drivers/scsi/dc395x.c 		pci_unmap_srb_sense(acb, srb);
acb              3238 drivers/scsi/dc395x.c 				     dcb->target_lun, status, acb->scan_devices);
acb              3244 drivers/scsi/dc395x.c 				     dcb->target_lun, status, acb->scan_devices);
acb              3250 drivers/scsi/dc395x.c 				     dcb->target_lun, status, acb->scan_devices);
acb              3256 drivers/scsi/dc395x.c 				     dcb->target_lun, status, acb->scan_devices);
acb              3262 drivers/scsi/dc395x.c 				     dcb->target_lun, status, acb->scan_devices);
acb              3304 drivers/scsi/dc395x.c 			request_sense(acb, dcb, srb);
acb              3315 drivers/scsi/dc395x.c 			waiting_set_timer(acb, HZ / 20);
acb              3354 drivers/scsi/dc395x.c 	pci_unmap_srb(acb, srb);
acb              3377 drivers/scsi/dc395x.c 				add_dev(acb, dcb, ptr);
acb              3399 drivers/scsi/dc395x.c 	if (srb != acb->tmp_srb) {
acb              3403 drivers/scsi/dc395x.c 		list_move_tail(&srb->list, &acb->srb_free_list);
acb              3409 drivers/scsi/dc395x.c 	waiting_process_next(acb);
acb              3414 drivers/scsi/dc395x.c static void doing_srb_done(struct AdapterCtlBlk *acb, u8 did_flag,
acb              3420 drivers/scsi/dc395x.c 	list_for_each_entry(dcb, &acb->dcb_list, list) {
acb              3436 drivers/scsi/dc395x.c 			list_add_tail(&srb->list, &acb->srb_free_list);
acb              3438 drivers/scsi/dc395x.c 			pci_unmap_srb_sense(acb, srb);
acb              3439 drivers/scsi/dc395x.c 			pci_unmap_srb(acb, srb);
acb              3464 drivers/scsi/dc395x.c 			list_move_tail(&srb->list, &acb->srb_free_list);
acb              3466 drivers/scsi/dc395x.c 			pci_unmap_srb_sense(acb, srb);
acb              3467 drivers/scsi/dc395x.c 			pci_unmap_srb(acb, srb);
acb              3484 drivers/scsi/dc395x.c static void reset_scsi_bus(struct AdapterCtlBlk *acb)
acb              3486 drivers/scsi/dc395x.c 	dprintkdbg(DBG_0, "reset_scsi_bus: acb=%p\n", acb);
acb              3487 drivers/scsi/dc395x.c 	acb->acb_flag |= RESET_DEV;	/* RESET_DETECT, RESET_DONE, RESET_DEV */
acb              3488 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_RSTSCSI);
acb              3490 drivers/scsi/dc395x.c 	while (!(DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS) & INT_SCSIRESET))
acb              3495 drivers/scsi/dc395x.c static void set_basic_config(struct AdapterCtlBlk *acb)
acb              3499 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_TIMEOUT, acb->sel_timeout);
acb              3500 drivers/scsi/dc395x.c 	if (acb->config & HCC_PARITY)
acb              3505 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_CONFIG0, bval);
acb              3508 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_CONFIG1, 0x03);	/* was 0x13: default */
acb              3510 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_HOSTID, acb->scsi_host->this_id);
acb              3512 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, 0x00);
acb              3514 drivers/scsi/dc395x.c 	wval = DC395x_read16(acb, TRM_S1040_GEN_CONTROL) & 0x7F;
acb              3515 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_GEN_CONTROL, wval);
acb              3517 drivers/scsi/dc395x.c 	wval = DC395x_read16(acb, TRM_S1040_DMA_CONFIG) & ~DMA_FIFO_CTRL;
acb              3520 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_DMA_CONFIG, wval);
acb              3522 drivers/scsi/dc395x.c 	DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS);
acb              3524 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_INTEN, 0x7F);
acb              3525 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_INTEN, EN_SCSIINTR | EN_DMAXFERERROR
acb              3531 drivers/scsi/dc395x.c static void scsi_reset_detect(struct AdapterCtlBlk *acb)
acb              3533 drivers/scsi/dc395x.c 	dprintkl(KERN_INFO, "scsi_reset_detect: acb=%p\n", acb);
acb              3535 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb              3536 drivers/scsi/dc395x.c 		del_timer(&acb->waiting_timer);
acb              3538 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_CONTROL, DO_RSTMODULE);
acb              3539 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_CONTROL, DMARESETMODULE);
acb              3543 drivers/scsi/dc395x.c 	acb->last_reset =
acb              3545 drivers/scsi/dc395x.c 	    HZ * acb->eeprom.delay_time;
acb              3547 drivers/scsi/dc395x.c 	clear_fifo(acb, "scsi_reset_detect");
acb              3548 drivers/scsi/dc395x.c 	set_basic_config(acb);
acb              3552 drivers/scsi/dc395x.c 	if (acb->acb_flag & RESET_DEV) {	/* RESET_DETECT, RESET_DONE, RESET_DEV */
acb              3553 drivers/scsi/dc395x.c 		acb->acb_flag |= RESET_DONE;
acb              3555 drivers/scsi/dc395x.c 		acb->acb_flag |= RESET_DETECT;
acb              3556 drivers/scsi/dc395x.c 		reset_dev_param(acb);
acb              3557 drivers/scsi/dc395x.c 		doing_srb_done(acb, DID_RESET, NULL, 1);
acb              3559 drivers/scsi/dc395x.c 		acb->active_dcb = NULL;
acb              3560 drivers/scsi/dc395x.c 		acb->acb_flag = 0;
acb              3561 drivers/scsi/dc395x.c 		waiting_process_next(acb);
acb              3566 drivers/scsi/dc395x.c static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
acb              3590 drivers/scsi/dc395x.c 	srb->segment_x[0].address = dma_map_single(&acb->dev->dev,
acb              3599 drivers/scsi/dc395x.c 	if (start_scsi(acb, dcb, srb)) {	/* Should only happen, if sb. else grabs the bus */
acb              3604 drivers/scsi/dc395x.c 		waiting_set_timer(acb, HZ / 100);
acb              3622 drivers/scsi/dc395x.c static struct DeviceCtlBlk *device_alloc(struct AdapterCtlBlk *acb,
acb              3625 drivers/scsi/dc395x.c 	struct NvRamType *eeprom = &acb->eeprom;
acb              3633 drivers/scsi/dc395x.c 	dcb->acb = NULL;
acb              3657 drivers/scsi/dc395x.c 	    && (acb->config & HCC_WIDE_CARD))
acb              3668 drivers/scsi/dc395x.c 		list_for_each_entry(p, &acb->dcb_list, list)
acb              3691 drivers/scsi/dc395x.c static void adapter_add_device(struct AdapterCtlBlk *acb,
acb              3695 drivers/scsi/dc395x.c 	dcb->acb = acb;
acb              3698 drivers/scsi/dc395x.c 	if (list_empty(&acb->dcb_list))
acb              3699 drivers/scsi/dc395x.c 		acb->dcb_run_robin = dcb;
acb              3702 drivers/scsi/dc395x.c 	list_add_tail(&dcb->list, &acb->dcb_list);
acb              3705 drivers/scsi/dc395x.c 	acb->dcb_map[dcb->target_id] |= (1 << dcb->target_lun);
acb              3706 drivers/scsi/dc395x.c 	acb->children[dcb->target_id][dcb->target_lun] = dcb;
acb              3719 drivers/scsi/dc395x.c static void adapter_remove_device(struct AdapterCtlBlk *acb,
acb              3728 drivers/scsi/dc395x.c 	if (acb->active_dcb == dcb)
acb              3729 drivers/scsi/dc395x.c 		acb->active_dcb = NULL;
acb              3730 drivers/scsi/dc395x.c 	if (acb->dcb_run_robin == dcb)
acb              3731 drivers/scsi/dc395x.c 		acb->dcb_run_robin = dcb_get_next(&acb->dcb_list, dcb);
acb              3734 drivers/scsi/dc395x.c 	list_for_each_entry_safe(i, tmp, &acb->dcb_list, list)
acb              3741 drivers/scsi/dc395x.c 	acb->dcb_map[dcb->target_id] &= ~(1 << dcb->target_lun);
acb              3742 drivers/scsi/dc395x.c 	acb->children[dcb->target_id][dcb->target_lun] = NULL;
acb              3743 drivers/scsi/dc395x.c 	dcb->acb = NULL;
acb              3754 drivers/scsi/dc395x.c static void adapter_remove_and_free_device(struct AdapterCtlBlk *acb,
acb              3764 drivers/scsi/dc395x.c 	adapter_remove_device(acb, dcb);
acb              3775 drivers/scsi/dc395x.c static void adapter_remove_and_free_all_devices(struct AdapterCtlBlk* acb)
acb              3780 drivers/scsi/dc395x.c 		   list_size(&acb->dcb_list));
acb              3782 drivers/scsi/dc395x.c 	list_for_each_entry_safe(dcb, tmp, &acb->dcb_list, list)
acb              3783 drivers/scsi/dc395x.c 		adapter_remove_and_free_device(acb, dcb);
acb              3796 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)scsi_device->host->hostdata;
acb              3799 drivers/scsi/dc395x.c 	dcb = device_alloc(acb, scsi_device->id, scsi_device->lun);
acb              3802 drivers/scsi/dc395x.c 	adapter_add_device(acb, dcb);
acb              3816 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)scsi_device->host->hostdata;
acb              3817 drivers/scsi/dc395x.c 	struct DeviceCtlBlk *dcb = find_dcb(acb, scsi_device->id, scsi_device->lun);
acb              3819 drivers/scsi/dc395x.c 		adapter_remove_and_free_device(acb, dcb);
acb              4141 drivers/scsi/dc395x.c static void adapter_sg_tables_free(struct AdapterCtlBlk *acb)
acb              4147 drivers/scsi/dc395x.c 		kfree(acb->srb_array[i].segment_x);
acb              4154 drivers/scsi/dc395x.c static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb)
acb              4165 drivers/scsi/dc395x.c 		acb->srb_array[i].segment_x = NULL;
acb              4171 drivers/scsi/dc395x.c 			adapter_sg_tables_free(acb);
acb              4178 drivers/scsi/dc395x.c 			acb->srb_array[srb_idx++].segment_x =
acb              4182 drivers/scsi/dc395x.c 		acb->srb.segment_x =
acb              4200 drivers/scsi/dc395x.c static void adapter_print_config(struct AdapterCtlBlk *acb)
acb              4204 drivers/scsi/dc395x.c 	bval = DC395x_read8(acb, TRM_S1040_GEN_STATUS);
acb              4216 drivers/scsi/dc395x.c 	bval = DC395x_read8(acb, TRM_S1040_GEN_CONTROL);
acb              4244 drivers/scsi/dc395x.c static void adapter_init_params(struct AdapterCtlBlk *acb)
acb              4246 drivers/scsi/dc395x.c 	struct NvRamType *eeprom = &acb->eeprom;
acb              4253 drivers/scsi/dc395x.c 	INIT_LIST_HEAD(&acb->dcb_list);
acb              4254 drivers/scsi/dc395x.c 	acb->dcb_run_robin = NULL;
acb              4255 drivers/scsi/dc395x.c 	acb->active_dcb = NULL;
acb              4257 drivers/scsi/dc395x.c 	INIT_LIST_HEAD(&acb->srb_free_list);
acb              4259 drivers/scsi/dc395x.c 	acb->tmp_srb = &acb->srb;
acb              4260 drivers/scsi/dc395x.c 	timer_setup(&acb->waiting_timer, waiting_timeout, 0);
acb              4261 drivers/scsi/dc395x.c 	timer_setup(&acb->selto_timer, NULL, 0);
acb              4263 drivers/scsi/dc395x.c 	acb->srb_count = DC395x_MAX_SRB_CNT;
acb              4265 drivers/scsi/dc395x.c 	acb->sel_timeout = DC395x_SEL_TIMEOUT;	/* timeout=250ms */
acb              4268 drivers/scsi/dc395x.c 	acb->tag_max_num = 1 << eeprom->max_tag;
acb              4269 drivers/scsi/dc395x.c 	if (acb->tag_max_num > 30)
acb              4270 drivers/scsi/dc395x.c 		acb->tag_max_num = 30;
acb              4272 drivers/scsi/dc395x.c 	acb->acb_flag = 0;	/* RESET_DETECT, RESET_DONE, RESET_DEV */
acb              4273 drivers/scsi/dc395x.c 	acb->gmode2 = eeprom->channel_cfg;
acb              4274 drivers/scsi/dc395x.c 	acb->config = 0;	/* NOTE: actually set in adapter_init_chip */
acb              4277 drivers/scsi/dc395x.c 		acb->lun_chk = 1;
acb              4278 drivers/scsi/dc395x.c 	acb->scan_devices = 1;
acb              4280 drivers/scsi/dc395x.c 	acb->scsi_host->this_id = eeprom->scsi_id;
acb              4281 drivers/scsi/dc395x.c 	acb->hostid_bit = (1 << acb->scsi_host->this_id);
acb              4284 drivers/scsi/dc395x.c 		acb->dcb_map[i] = 0;
acb              4286 drivers/scsi/dc395x.c 	acb->msg_len = 0;
acb              4289 drivers/scsi/dc395x.c 	for (i = 0; i < acb->srb_count - 1; i++)
acb              4290 drivers/scsi/dc395x.c 		list_add_tail(&acb->srb_array[i].list, &acb->srb_free_list);
acb              4308 drivers/scsi/dc395x.c         struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)host->hostdata;
acb              4309 drivers/scsi/dc395x.c 	struct NvRamType *eeprom = &acb->eeprom;
acb              4315 drivers/scsi/dc395x.c 	host->io_port = acb->io_port_base;
acb              4316 drivers/scsi/dc395x.c 	host->n_io_port = acb->io_port_len;
acb              4318 drivers/scsi/dc395x.c 	host->unique_id = acb->io_port_base;
acb              4319 drivers/scsi/dc395x.c 	host->irq = acb->irq_level;
acb              4320 drivers/scsi/dc395x.c 	acb->last_reset = jiffies;
acb              4342 drivers/scsi/dc395x.c static void adapter_init_chip(struct AdapterCtlBlk *acb)
acb              4344 drivers/scsi/dc395x.c         struct NvRamType *eeprom = &acb->eeprom;
acb              4347 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_INTEN, 0x00);
acb              4348 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_INTEN, 0x00);
acb              4351 drivers/scsi/dc395x.c 	DC395x_write16(acb, TRM_S1040_SCSI_CONTROL, DO_RSTMODULE);
acb              4354 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_CONTROL, DMARESETMODULE);
acb              4358 drivers/scsi/dc395x.c 	acb->config = HCC_AUTOTERM | HCC_PARITY;
acb              4359 drivers/scsi/dc395x.c 	if (DC395x_read8(acb, TRM_S1040_GEN_STATUS) & WIDESCSI)
acb              4360 drivers/scsi/dc395x.c 		acb->config |= HCC_WIDE_CARD;
acb              4363 drivers/scsi/dc395x.c 		acb->config |= HCC_SCSI_RESET;
acb              4365 drivers/scsi/dc395x.c 	if (acb->config & HCC_SCSI_RESET) {
acb              4367 drivers/scsi/dc395x.c 		DC395x_write8(acb, TRM_S1040_SCSI_CONTROL, DO_RSTSCSI);
acb              4373 drivers/scsi/dc395x.c 		acb->last_reset =
acb              4375 drivers/scsi/dc395x.c 		    HZ * acb->eeprom.delay_time;
acb              4395 drivers/scsi/dc395x.c static int adapter_init(struct AdapterCtlBlk *acb, unsigned long io_port,
acb              4403 drivers/scsi/dc395x.c 	acb->io_port_base = io_port;
acb              4404 drivers/scsi/dc395x.c 	acb->io_port_len = io_port_len;
acb              4406 drivers/scsi/dc395x.c 	if (request_irq(irq, dc395x_interrupt, IRQF_SHARED, DC395X_NAME, acb)) {
acb              4412 drivers/scsi/dc395x.c 	acb->irq_level = irq;
acb              4415 drivers/scsi/dc395x.c 	check_eeprom(&acb->eeprom, io_port);
acb              4416 drivers/scsi/dc395x.c  	print_eeprom_settings(&acb->eeprom);
acb              4419 drivers/scsi/dc395x.c 	adapter_init_params(acb);
acb              4422 drivers/scsi/dc395x.c  	adapter_print_config(acb);
acb              4424 drivers/scsi/dc395x.c 	if (adapter_sg_tables_alloc(acb)) {
acb              4428 drivers/scsi/dc395x.c 	adapter_init_scsi_host(acb->scsi_host);
acb              4429 drivers/scsi/dc395x.c 	adapter_init_chip(acb);
acb              4430 drivers/scsi/dc395x.c 	set_basic_config(acb);
acb              4435 drivers/scsi/dc395x.c 		acb, acb->dcb_map, acb->srb_array, sizeof(struct AdapterCtlBlk),
acb              4440 drivers/scsi/dc395x.c 	if (acb->irq_level)
acb              4441 drivers/scsi/dc395x.c 		free_irq(acb->irq_level, acb);
acb              4442 drivers/scsi/dc395x.c 	if (acb->io_port_base)
acb              4443 drivers/scsi/dc395x.c 		release_region(acb->io_port_base, acb->io_port_len);
acb              4444 drivers/scsi/dc395x.c 	adapter_sg_tables_free(acb);
acb              4457 drivers/scsi/dc395x.c static void adapter_uninit_chip(struct AdapterCtlBlk *acb)
acb              4460 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_DMA_INTEN, 0);
acb              4461 drivers/scsi/dc395x.c 	DC395x_write8(acb, TRM_S1040_SCSI_INTEN, 0);
acb              4464 drivers/scsi/dc395x.c 	if (acb->config & HCC_SCSI_RESET)
acb              4465 drivers/scsi/dc395x.c 		reset_scsi_bus(acb);
acb              4468 drivers/scsi/dc395x.c 	DC395x_read8(acb, TRM_S1040_SCSI_INTSTATUS);
acb              4480 drivers/scsi/dc395x.c static void adapter_uninit(struct AdapterCtlBlk *acb)
acb              4483 drivers/scsi/dc395x.c 	DC395x_LOCK_IO(acb->scsi_host, flags);
acb              4486 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb              4487 drivers/scsi/dc395x.c 		del_timer(&acb->waiting_timer);
acb              4488 drivers/scsi/dc395x.c 	if (timer_pending(&acb->selto_timer))
acb              4489 drivers/scsi/dc395x.c 		del_timer(&acb->selto_timer);
acb              4491 drivers/scsi/dc395x.c 	adapter_uninit_chip(acb);
acb              4492 drivers/scsi/dc395x.c 	adapter_remove_and_free_all_devices(acb);
acb              4493 drivers/scsi/dc395x.c 	DC395x_UNLOCK_IO(acb->scsi_host, flags);
acb              4495 drivers/scsi/dc395x.c 	if (acb->irq_level)
acb              4496 drivers/scsi/dc395x.c 		free_irq(acb->irq_level, acb);
acb              4497 drivers/scsi/dc395x.c 	if (acb->io_port_base)
acb              4498 drivers/scsi/dc395x.c 		release_region(acb->io_port_base, acb->io_port_len);
acb              4500 drivers/scsi/dc395x.c 	adapter_sg_tables_free(acb);
acb              4511 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)host->hostdata;
acb              4520 drivers/scsi/dc395x.c 	DC395x_LOCK_IO(acb->scsi_host, flags);
acb              4524 drivers/scsi/dc395x.c 		(acb->config & HCC_WIDE_CARD) ? "Wide" : "");
acb              4525 drivers/scsi/dc395x.c 	seq_printf(m, "io_port_base 0x%04lx, ", acb->io_port_base);
acb              4526 drivers/scsi/dc395x.c 	seq_printf(m, "irq_level 0x%04x, ", acb->irq_level);
acb              4527 drivers/scsi/dc395x.c 	seq_printf(m, " SelTimeout %ims\n", (1638 * acb->sel_timeout) / 1000);
acb              4532 drivers/scsi/dc395x.c 	seq_printf(m, "tag_max_num %i", acb->tag_max_num);
acb              4535 drivers/scsi/dc395x.c 		DC395x_read8(acb, TRM_S1040_SCSI_CONFIG1));
acb              4536 drivers/scsi/dc395x.c 	seq_printf(m, ", DelayReset %is\n", acb->eeprom.delay_time);
acb              4539 drivers/scsi/dc395x.c 	seq_printf(m, "Nr of DCBs: %i\n", list_size(&acb->dcb_list));
acb              4541 drivers/scsi/dc395x.c 	     acb->dcb_map[0], acb->dcb_map[1], acb->dcb_map[2],
acb              4542 drivers/scsi/dc395x.c 	     acb->dcb_map[3], acb->dcb_map[4], acb->dcb_map[5],
acb              4543 drivers/scsi/dc395x.c 	     acb->dcb_map[6], acb->dcb_map[7]);
acb              4545 drivers/scsi/dc395x.c 	     acb->dcb_map[8], acb->dcb_map[9], acb->dcb_map[10],
acb              4546 drivers/scsi/dc395x.c 	     acb->dcb_map[11], acb->dcb_map[12], acb->dcb_map[13],
acb              4547 drivers/scsi/dc395x.c 	     acb->dcb_map[14], acb->dcb_map[15]);
acb              4553 drivers/scsi/dc395x.c 	list_for_each_entry(dcb, &acb->dcb_list, list) {
acb              4583 drivers/scsi/dc395x.c 	if (timer_pending(&acb->waiting_timer))
acb              4588 drivers/scsi/dc395x.c 	list_for_each_entry(dcb, &acb->dcb_list, list) {
acb              4607 drivers/scsi/dc395x.c 		seq_printf(m, "DCB list for ACB %p:\n", acb);
acb              4608 drivers/scsi/dc395x.c 		list_for_each_entry(dcb, &acb->dcb_list, list) {
acb              4614 drivers/scsi/dc395x.c 	DC395x_UNLOCK_IO(acb->scsi_host, flags);
acb              4669 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = NULL;
acb              4694 drivers/scsi/dc395x.c  	acb = (struct AdapterCtlBlk*)scsi_host->hostdata;
acb              4695 drivers/scsi/dc395x.c  	acb->scsi_host = scsi_host;
acb              4696 drivers/scsi/dc395x.c  	acb->dev = dev;
acb              4699 drivers/scsi/dc395x.c  	if (adapter_init(acb, io_port_base, io_port_len, irq)) {
acb              4717 drivers/scsi/dc395x.c 	if (acb != NULL)
acb              4718 drivers/scsi/dc395x.c 		adapter_uninit(acb);
acb              4735 drivers/scsi/dc395x.c 	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)(scsi_host->hostdata);
acb              4737 drivers/scsi/dc395x.c 	dprintkdbg(DBG_0, "dc395x_remove_one: acb=%p\n", acb);
acb              4740 drivers/scsi/dc395x.c 	adapter_uninit(acb);
acb               394 drivers/scsi/qla4xxx/ql4_bsg.c 	uint8_t *acb = NULL;
acb               421 drivers/scsi/qla4xxx/ql4_bsg.c 	acb = dma_alloc_coherent(&ha->pdev->dev, len, &acb_dma, GFP_KERNEL);
acb               422 drivers/scsi/qla4xxx/ql4_bsg.c 	if (!acb) {
acb               438 drivers/scsi/qla4xxx/ql4_bsg.c 					    acb, len);
acb               444 drivers/scsi/qla4xxx/ql4_bsg.c 	dma_free_coherent(&ha->pdev->dev, len, acb, acb_dma);
acb              2341 drivers/scsi/qla4xxx/ql4_mbx.c 	struct addr_ctrl_blk *acb = NULL;
acb              2346 drivers/scsi/qla4xxx/ql4_mbx.c 	acb = dma_alloc_coherent(&ha->pdev->dev,
acb              2349 drivers/scsi/qla4xxx/ql4_mbx.c 	if (!acb) {
acb              2354 drivers/scsi/qla4xxx/ql4_mbx.c 	memset(acb, 0, acb_len);
acb              2375 drivers/scsi/qla4xxx/ql4_mbx.c 		memcpy(ha->saved_acb, acb, acb_len);
acb              2386 drivers/scsi/qla4xxx/ql4_mbx.c 		memcpy(acb, ha->saved_acb, acb_len);
acb              2399 drivers/scsi/qla4xxx/ql4_mbx.c 	dma_free_coherent(&ha->pdev->dev, sizeof(struct addr_ctrl_blk), acb,
acb              2675 drivers/scsi/qla4xxx/ql4_os.c 	struct addr_ctrl_blk_def *acb;
acb              2676 drivers/scsi/qla4xxx/ql4_os.c 	acb = (struct addr_ctrl_blk_def *)init_fw_cb;
acb              2677 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved1, 0, sizeof(acb->reserved1));
acb              2678 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved2, 0, sizeof(acb->reserved2));
acb              2679 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved3, 0, sizeof(acb->reserved3));
acb              2680 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved4, 0, sizeof(acb->reserved4));
acb              2681 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved5, 0, sizeof(acb->reserved5));
acb              2682 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved6, 0, sizeof(acb->reserved6));
acb              2683 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved7, 0, sizeof(acb->reserved7));
acb              2684 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved8, 0, sizeof(acb->reserved8));
acb              2685 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved9, 0, sizeof(acb->reserved9));
acb              2686 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved10, 0, sizeof(acb->reserved10));
acb              2687 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved11, 0, sizeof(acb->reserved11));
acb              2688 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved12, 0, sizeof(acb->reserved12));
acb              2689 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved13, 0, sizeof(acb->reserved13));
acb              2690 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved14, 0, sizeof(acb->reserved14));
acb              2691 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb->reserved15, 0, sizeof(acb->reserved15));
acb              9465 drivers/scsi/qla4xxx/ql4_os.c 	struct addr_ctrl_blk_def *acb = NULL;
acb              9470 drivers/scsi/qla4xxx/ql4_os.c 	acb = dma_alloc_coherent(&ha->pdev->dev,
acb              9473 drivers/scsi/qla4xxx/ql4_os.c 	if (!acb) {
acb              9480 drivers/scsi/qla4xxx/ql4_os.c 	memset(acb, 0, acb_len);
acb              9505 drivers/scsi/qla4xxx/ql4_os.c 			  acb, acb_dma);
acb               119 drivers/video/fbdev/omap/lcd_ams_delta.c 	.acb		= 37,
acb               509 drivers/video/fbdev/omap/lcdc.c 	l |= panel->acb << 8;
acb                74 drivers/video/fbdev/omap/omapfb.h 	int		acb;		/* ac-bias pin frequency */