Lines Matching refs:aac

1472 static void aac_schedule_bus_scan(struct aac_dev *aac)  in aac_schedule_bus_scan()  argument
1474 if (aac->sa_firmware) in aac_schedule_bus_scan()
1475 aac_schedule_safw_scan_worker(aac); in aac_schedule_bus_scan()
1477 aac_schedule_src_reinit_aif_worker(aac); in aac_schedule_bus_scan()
1480 static int _aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type) in _aac_reset_adapter() argument
1484 struct Scsi_Host *host = aac->scsi_host_ptr; in _aac_reset_adapter()
1500 aac_adapter_disable_int(aac); in _aac_reset_adapter()
1501 if (aac->thread && aac->thread->pid != current->pid) { in _aac_reset_adapter()
1503 kthread_stop(aac->thread); in _aac_reset_adapter()
1504 aac->thread = NULL; in _aac_reset_adapter()
1512 bled = forced ? 0 : aac_adapter_check_health(aac); in _aac_reset_adapter()
1513 retval = aac_adapter_restart(aac, bled, reset_type); in _aac_reset_adapter()
1522 num_of_fibs = aac->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB; in _aac_reset_adapter()
1525 struct fib *fib = &aac->fibs[index]; in _aac_reset_adapter()
1546 index = aac->cardtype; in _aac_reset_adapter()
1555 aac_free_irq(aac); in _aac_reset_adapter()
1556 aac_fib_map_free(aac); in _aac_reset_adapter()
1557 dma_free_coherent(&aac->pdev->dev, aac->comm_size, aac->comm_addr, in _aac_reset_adapter()
1558 aac->comm_phys); in _aac_reset_adapter()
1559 aac_adapter_ioremap(aac, 0); in _aac_reset_adapter()
1560 aac->comm_addr = NULL; in _aac_reset_adapter()
1561 aac->comm_phys = 0; in _aac_reset_adapter()
1562 kfree(aac->queues); in _aac_reset_adapter()
1563 aac->queues = NULL; in _aac_reset_adapter()
1564 kfree(aac->fsa_dev); in _aac_reset_adapter()
1565 aac->fsa_dev = NULL; in _aac_reset_adapter()
1570 retval = dma_set_mask(&aac->pdev->dev, dmamask); in _aac_reset_adapter()
1572 retval = dma_set_mask(&aac->pdev->dev, dmamask); in _aac_reset_adapter()
1574 retval = dma_set_coherent_mask(&aac->pdev->dev, dmamask); in _aac_reset_adapter()
1578 retval = dma_set_coherent_mask(&aac->pdev->dev, dmamask); in _aac_reset_adapter()
1584 if ((retval = (*(aac_get_driver_ident(index)->init))(aac))) in _aac_reset_adapter()
1588 aac->thread = kthread_run(aac_command_thread, aac, "%s", in _aac_reset_adapter()
1589 aac->name); in _aac_reset_adapter()
1590 if (IS_ERR(aac->thread)) { in _aac_reset_adapter()
1591 retval = PTR_ERR(aac->thread); in _aac_reset_adapter()
1592 aac->thread = NULL; in _aac_reset_adapter()
1596 (void)aac_get_adapter_info(aac); in _aac_reset_adapter()
1605 aac_get_config_status(aac, 1); in _aac_reset_adapter()
1606 aac_get_containers(aac); in _aac_reset_adapter()
1615 aac->in_reset = 0; in _aac_reset_adapter()
1622 dev_info(&aac->pdev->dev, "Scheduling bus rescan\n"); in _aac_reset_adapter()
1623 aac_schedule_bus_scan(aac); in _aac_reset_adapter()
1632 int aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type) in aac_reset_adapter() argument
1636 struct Scsi_Host *host = aac->scsi_host_ptr; in aac_reset_adapter()
1639 if (spin_trylock_irqsave(&aac->fib_lock, flagv) == 0) in aac_reset_adapter()
1642 if (aac->in_reset) { in aac_reset_adapter()
1643 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_reset_adapter()
1646 aac->in_reset = 1; in aac_reset_adapter()
1647 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_reset_adapter()
1658 aac_send_shutdown(aac); in aac_reset_adapter()
1662 retval = _aac_reset_adapter(aac, bled, reset_type); in aac_reset_adapter()
1670 struct fib * fibctx = aac_fib_alloc(aac); in aac_reset_adapter()
1705 int aac_check_health(struct aac_dev * aac) in aac_check_health() argument
1712 if (spin_trylock_irqsave(&aac->fib_lock, flagv) == 0) in aac_check_health()
1715 if (aac->in_reset || !(BlinkLED = aac_adapter_check_health(aac))) { in aac_check_health()
1716 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_check_health()
1720 aac->in_reset = 1; in aac_check_health()
1732 entry = aac->fib_list.next; in aac_check_health()
1740 while (entry != &aac->fib_list) { in aac_check_health()
1765 aac_close_fib_context(aac, fibctx); in aac_check_health()
1779 fib->dev = aac; in aac_check_health()
1811 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_check_health()
1815 aac->name, BlinkLED); in aac_check_health()
1819 printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED); in aac_check_health()
1822 aac->in_reset = 0; in aac_check_health()
1826 static inline int is_safw_raid_volume(struct aac_dev *aac, int bus, int target) in is_safw_raid_volume() argument
1828 return bus == CONTAINER_CHANNEL && target < aac->maximum_num_containers; in is_safw_raid_volume()