mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
Save one register read (AHCI_IS) for AHCI controllers with only one port.
For controllers with only one port (like PCIe or M.2 SSDs) interrupt can come from only one source, and skipping read saves few percents of CPU time. MFC after: 1 month H/W donated by: I/O Switch
This commit is contained in:
parent
f3f509767a
commit
c45ff92177
1 changed files with 3 additions and 1 deletions
|
|
@ -359,7 +359,9 @@ ahci_setup_interrupt(device_t dev)
|
|||
for (i = 0; i < ctlr->numirqs; i++) {
|
||||
ctlr->irqs[i].ctlr = ctlr;
|
||||
ctlr->irqs[i].r_irq_rid = i + (ctlr->msi ? 1 : 0);
|
||||
if (ctlr->numirqs == 1 || i >= ctlr->channels ||
|
||||
if (ctlr->channels == 1 && !ctlr->ccc)
|
||||
ctlr->irqs[i].mode = AHCI_IRQ_MODE_ONE;
|
||||
else if (ctlr->numirqs == 1 || i >= ctlr->channels ||
|
||||
(ctlr->ccc && i == ctlr->cccv))
|
||||
ctlr->irqs[i].mode = AHCI_IRQ_MODE_ALL;
|
||||
else if (i == ctlr->numirqs - 1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue