Thread (5 messages) 5 messages, 2 authors, 2015-05-05

Re: [PATCH v4 1/2] libahci: Add support to handle HOST_IRQ_STAT as edge trigger latch.

From: Tejun Heo <tj@kernel.org>
Date: 2015-05-05 17:04:44
Also in: linux-arm-kernel, linux-ide, linux-scsi

Hello, Suman.

Looks pretty.  Some nitpicks.

On Tue, May 05, 2015 at 08:43:41PM +0530, Suman Tripathi wrote:
quoted hunk ↗ jump to hunk
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 71262e0..2df2237 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -238,6 +238,8 @@ enum {
 	AHCI_HFLAG_MULTI_MSI		= (1 << 16), /* multiple PCI MSIs */
 	AHCI_HFLAG_NO_DEVSLP		= (1 << 17), /* no device sleep */
 	AHCI_HFLAG_NO_FBS		= (1 << 18), /* no FBS */
+	AHCI_HFLAG_EDGE_TRIG_IRQ	= (1 << 19), /* HOST_IRQ_STAT behaves as
+							Edge Triggered */
Let's just name it ahci_HFLAG_EDGE_IRQ.
+static irqreturn_t ahci_level_trig_intr(int irq, void *dev_instance)
ahci_single_level_irq_intr()
+{
...
quoted hunk ↗ jump to hunk
@@ -1877,13 +1885,51 @@ static irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance)
 	 * Also, use the unmasked value to clear interrupt as spurious
 	 * pending event on a dummy port might cause screaming IRQ.
 	 */
+
Extra newline which wasn't there before.
+	writel(irq_stat, mmio + HOST_IRQ_STAT);
+
+	spin_unlock(&host->lock);
+
+	VPRINTK("EXIT\n");
+
+	return IRQ_RETVAL(rc);
+}
+
+static irqreturn_t ahci_edge_trig_intr(int irq, void *dev_instance)
ahci_single_edge_irq_intr()

And let's please separate refactoring of intr routine and addition of
edge irq handling into two patches.

Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help