Change IRQ polarity to active high for Merrifield
authorYunpeng Gao <yunpeng.gao@intel.com>
Fri, 23 Mar 2012 02:45:29 +0000 (10:45 +0800)
committerbuildbot <buildbot@intel.com>
Thu, 29 Mar 2012 10:37:47 +0000 (03:37 -0700)
BZ: 27386

Seems the default IRQ polarity setting on ICS mainline
(active low) does not work for Merrifield platform.
At least it prevent the Merrifield storage driver from
working.

This patch change it to active high specificly for
Merrfield platform.

Signed-off-by: Yunpeng Gao <yunpeng.gao@intel.com>
Change-Id: I1107f84a707d4caade2308b83c4e2bde3eae4ac0
Reviewed-on: http://android.intel.com:8080/40286
Reviewed-by: Gao, Yunpeng <yunpeng.gao@intel.com>
Reviewed-by: Tang, Richard <richard.tang@intel.com>
Tested-by: Sun, Jianhua <jianhua.sun@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
arch/x86/pci/mrst.c

index 23735bf..4cd2cef 100644 (file)
@@ -242,7 +242,11 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
        irq_attr.ioapic = mp_find_ioapic(dev->irq);
        irq_attr.ioapic_pin = dev->irq;
        irq_attr.trigger = 1; /* level */
+#ifdef CONFIG_X86_MRFLD
+       irq_attr.polarity = 0; /* active high */
+#else
        irq_attr.polarity = 1; /* active low */
+#endif
        io_apic_set_pci_routing(&dev->dev, dev->irq, &irq_attr);
 
        return 0;