broadwell: Disable GPIO controller interrupt

The GPIO controller (configured as IRQ14 by default) is level triggered
and active high according to documentation.  At the moment it seems to
be misbehaving and firing constantly which is preventing package C-states
since one core is always busy servicing imaginary events.

Until this is understood and fixed don't report an interrupt for the GPIO
controller.  Since there are 16 peripheral IRQ capable GPIOs this is not
used currently.

Also remove the hardcoded MADT IRQ override entry for IRQ14 since we are
using the GPIO controller in ACPI mode so it gets the interrupt
configuration from _CRS.

BUG=chrome-os-partner:29548
BRANCH=None
TEST=boot on wtm2 and check for package C-state entry with powertop

Change-Id: Ibf562fe3512e68d3944fda61a023a1631f7acd57
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/203645
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Duncan Laurie 2014-06-12 13:28:42 -07:00 committed by chrome-internal-fetch
commit 2d17e98ede
2 changed files with 3 additions and 7 deletions

View file

@ -604,10 +604,5 @@ unsigned long acpi_madt_irq_overrides(unsigned long current)
irqovr = (void *)current;
current += acpi_create_madt_irqoverride(irqovr, 0, sci, sci, flags);
/* GPIO Controller */
irqovr = (void *)current;
flags = MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH;
current += acpi_create_madt_irqoverride(irqovr, 0, 14, 14, flags);
return current;
}

View file

@ -47,8 +47,9 @@ Device (GPIO)
, // ResourceSourceIndex
, // ResourceSource
BAR0)
Interrupt (ResourceConsumer,
Level, ActiveHigh, Shared, , , ) {14}
// Disabled due to IRQ storm: http://crosbug.com/p/29548
//Interrupt (ResourceConsumer,
// Level, ActiveHigh, Shared, , , ) {14}
})
Method (_CRS, 0, NotSerialized)