OpenELEC/OpenELEC.tv — pull request #2219 by dagwieers (2013-04-22 15:17:31+00:00)
Title: 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
```