Lines Matching +full:aac +full:- +full:mode
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Adaptec AAC series RAID controller driver
9 * Copyright (c) 2000-2010 Adaptec, Inc.
10 * 2010-2015 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
11 * 2016-2017 Microsemi Corp. (aacraid@microsemi.com)
53 } else if (intstat & DOORBELL_1) { // dev -> Host Normal Command Ready in aac_sa_intr()
55 aac_command_normal(&dev->queues->queue[HostNormCmdQueue]); in aac_sa_intr()
56 } else if (intstat & DOORBELL_2) { // dev -> Host Normal Response Ready in aac_sa_intr()
58 aac_response_normal(&dev->queues->queue[HostNormRespQueue]); in aac_sa_intr()
59 } else if (intstat & DOORBELL_3) { // dev -> Host Normal Command Not Full in aac_sa_intr()
61 } else if (intstat & DOORBELL_4) { // dev -> Host Normal Response Not Full in aac_sa_intr()
70 * aac_sa_disable_interrupt - disable interrupt
80 * aac_sa_enable_interrupt - enable interrupt
91 * aac_sa_notify_adapter - handle adapter notification
134 * sa_sync_cmd - send a command and wait
163 * Write the parameters into Mailboxes 1 - 4 in sa_sync_cmd()
200 return -ETIMEDOUT; in sa_sync_cmd()
222 * aac_sa_interrupt_adapter - interrupt an adapter
235 * aac_sa_start_adapter - activate adapter
238 * Start up processing on an ARM based AAC adapter
247 init = dev->init; in aac_sa_start_adapter()
248 init->r7.host_elapsed_seconds = cpu_to_le32(ktime_get_real_seconds()); in aac_sa_start_adapter()
251 (u32)(ulong)dev->init_pa, 0, 0, 0, 0, 0, in aac_sa_start_adapter()
257 return -EINVAL; in aac_sa_restart_adapter()
275 return -1; in aac_sa_check_health()
280 return -2; in aac_sa_check_health()
285 return -3; in aac_sa_check_health()
301 iounmap(dev->regs.sa); in aac_sa_ioremap()
304 dev->base = dev->regs.sa = ioremap(dev->base_start, size); in aac_sa_ioremap()
305 return (dev->base == NULL) ? -1 : 0; in aac_sa_ioremap()
309 * aac_sa_init - initialize an ARM based AAC card
312 * Allocate and set up resources for the ARM based AAC variants. The
324 instance = dev->id; in aac_sa_init()
325 name = dev->name; in aac_sa_init()
331 dev->a_ops.adapter_interrupt = aac_sa_interrupt_adapter; in aac_sa_init()
332 dev->a_ops.adapter_disable_int = aac_sa_disable_interrupt; in aac_sa_init()
333 dev->a_ops.adapter_enable_int = aac_sa_enable_interrupt; in aac_sa_init()
334 dev->a_ops.adapter_notify = aac_sa_notify_adapter; in aac_sa_init()
335 dev->a_ops.adapter_sync_cmd = sa_sync_cmd; in aac_sa_init()
336 dev->a_ops.adapter_check_health = aac_sa_check_health; in aac_sa_init()
337 dev->a_ops.adapter_restart = aac_sa_restart_adapter; in aac_sa_init()
338 dev->a_ops.adapter_start = aac_sa_start_adapter; in aac_sa_init()
339 dev->a_ops.adapter_intr = aac_sa_intr; in aac_sa_init()
340 dev->a_ops.adapter_deliver = aac_rx_deliver_producer; in aac_sa_init()
341 dev->a_ops.adapter_ioremap = aac_sa_ioremap; in aac_sa_init()
343 if (aac_sa_ioremap(dev, dev->base_size)) { in aac_sa_init()
352 printk(KERN_WARNING "%s%d: adapter self-test failed.\n", name, instance); in aac_sa_init()
385 dev->sync_mode = 0; /* sync. mode not supported */ in aac_sa_init()
386 if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr, in aac_sa_init()
392 dev->dbg_base = dev->base_start; in aac_sa_init()
393 dev->dbg_base_mapped = dev->base; in aac_sa_init()
394 dev->dbg_size = dev->base_size; in aac_sa_init()
407 free_irq(dev->pdev->irq, (void *)dev); in aac_sa_init()
411 return -1; in aac_sa_init()