Re: [PATCH v3 1/3] libahci: Implement the capability to override the generic ahci interrupt handler.
From: Suman Tripathi <hidden>
Date: 2016-02-05 18:06:35
Also in:
linux-arm-kernel, linux-ide
From: Suman Tripathi <hidden>
Date: 2016-02-05 18:06:35
Also in:
linux-arm-kernel, linux-ide
On Fri, Feb 5, 2016 at 8:41 AM, Tejun Heo [off-list ref] wrote:
Hello, On Fri, Feb 05, 2016 at 02:50:24AM +0530, suman Tripathi wrote: ...quoted
@@ -2504,15 +2505,28 @@ int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht) struct ahci_host_priv *hpriv = host->private_data; int irq = hpriv->irq; int rc; + irqreturn_t (*ahci_irq_handler)(int irq, void *dev_instance); + ahci_irq_handler = hpriv->ahci_irq_intr; + + if (hpriv->flags & (AHCI_HFLAG_MULTI_MSI | AHCI_HFLAG_MULTI_MSIX)) { + if (!ahci_irq_handler) + rc = ahci_host_activate_multi_irqs(host, sht); + else + dev_warn(host->dev, "both AHCI_HFLAG_MULTI_MSI flag set \ + and custom irq handler implemented\n"); + + } else { + if (!ahci_irq_handler) { + ahci_irq_handler = (hpriv->flags & AHCI_HFLAG_EDGE_IRQ ? + ahci_single_edge_irq_intr : + ahci_single_level_irq_intr); + } + }I wrote this before but can't we do this in save_initial_config the same way ->start_engine override is handled?
Sorry missed that out.
-- tejun
-- Thanks, with regards, Suman Tripathi