From a8cc49d2b7706325023ec0667a5f348334958e8a Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Mon, 22 Apr 2013 17:12:08 +0200 Subject: [PATCH] AppleTV: Enable MSI support for ATV1 Not sure why Message Signaled interrupts was disabled, but the ATV1 hardware *does* support MSI and we specifically enable MSI for the nvidia driver. Here is a list of hardware that supports and uses MSI on AppleTV 1st Gen : ``` 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Exp ress Root Port (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: 20000000-21ffffff Prefetchable memory behind bridge: 0000000010000000-000000001fffffff Capabilities: [88] Subsystem: Intel Corporation Device 0000 Capabilities: [80] Power Management version 2 Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [a0] Express Root Port (Slot+), MSI 00 Capabilities: [100] Virtual Channel Capabilities: [140] Root Complex Link Kernel driver in use: pcieport 00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02) Subsystem: Realtek Semiconductor Co., Ltd. Device 0885 Flags: bus master, fast devsel, latency 0, IRQ 42 Memory at 22a00000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [130] Root Complex Link Kernel driver in use: snd_hda_intel 00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 I/O behind bridge: 00003000-00003fff Memory behind bridge: 22000000-228fffff Prefetchable memory behind bridge: 0000000022b00000-0000000022cfffff Capabilities: [40] Express Root Port (Slot+), MSI 00 Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [90] Subsystem: Gammagraphx, Inc. (or missing ID) Device 0000 Capabilities: [a0] Power Management version 2 Capabilities: [100] Virtual Channel Capabilities: [180] Root Complex Link Kernel driver in use: pcieport 01:00.0 VGA compatible controller: NVIDIA Corporation G72M [Quadro NVS 110M/GeForce Go 7300] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Apple Inc. Device 0081 Flags: bus master, fast devsel, latency 0, IRQ 44 Memory at 21000000 (32-bit, non-prefetchable) [size=16M] Memory at 10000000 (64-bit, prefetchable) [size=256M] Memory at 20000000 (64-bit, non-prefetchable) [size=16M] Capabilities: [60] Power Management version 2 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting Kernel driver in use: nvidia Kernel modules: nvidia 02:00.0 Multimedia controller: Broadcom Corporation BCM70015 Video Decoder [Crystal HD] Subsystem: Broadcom Corporation BCM70015 Video Decoder [Crystal HD] Flags: bus master, fast devsel, latency 0, IRQ 43 Memory at 22800000 (64-bit, non-prefetchable) [size=64K] Memory at 22000000 (64-bit, non-prefetchable) [size=8M] Capabilities: [48] Power Management version 3 Capabilities: [60] Vendor Specific Information: Len=6c Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [cc] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [13c] Virtual Channel Kernel driver in use: crystalhd Kernel modules: crystalhd ``` --- projects/ATV/linux/linux.i386.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 3ff9700138..24bf3b57cc 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -519,7 +519,7 @@ CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_PERFORMANCE is not set CONFIG_ARCH_SUPPORTS_MSI=y -# CONFIG_PCI_MSI is not set +CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set # CONFIG_PCI_STUB is not set