Help to enable Iris Pro on Retina MBP 11.3

Lu, Ran
2014-01-05T23:22:39Z

Hi guys,

I just got a Retina MBP with Iris Pro and Nvidia GT 750. The iGPU works in
OSX(Mavericks), but when I boot into Linux, the device was disabled. I
debugged the kernel a little, apparently when pci_bus_read_dev_vendor_id is
called for PCI 00:2.0 (the intel gpu), it returns -1 which indicates the
device is disabled.

I can check all the registers in grub using setpci or pcidump, so it seems
before boot into the kernel the device is actually online, and I am looking
for some magical registers that I can set to enable the device. I did a ioreg
-l in OSX and the information about Iris Pro looks like this:

| | | +-o IGPU@2 <class IOPCIDevice, id 0x100000227, registered, matched,
active, busy 0 (300 ms), retain 22>
| | | | | {
| | | | | "assigned-addresses" =
<1010008200000000000040c10000000000004000181000c27f000000000000b000000000000000102010008100000000002000000000000040000000>
| | | | | "IOInterruptSpecifiers" =
(<1000000007000000>,<0200000000000100>)
| | | | | "class-code" = <00000300>
| | | | | "IODeviceMemory" = (({"address"=3242196992,"length"=4194304}),
({"address"=548413636608,"length"=268435456}),"IOSubMemoryDescriptor is not
serializable")
| | | | | "AAPL,gray-page" = <01000000>
| | | | | "IOPowerManagement" =
{"ChildrenPowerState"=2,"CurrentPowerState"=2,"ChildProxyPowerState"=2,"MaxPowerState"=3}
| | | | | "subsystem-vendor-id" = <6b100000>
| | | | | "built-in" = <00>
| | | | | "acpi-device" = "IOACPIPlatformDevice is not serializable"
| | | | | "boot-gamma-restored" = <0000000000000000>
| | | | | "hda-gfx" = <"onboard-1">
| | | | | "IOInterruptControllers" = ("io-
apic-0","IOPCIMessagedInterruptController")
| | | | | "IOPCIMSIMode" = Yes
| | | | | "name" = <"display">
| | | | | "vendor-id" = <86800000>
| | | | | "device-id" = <260d0000>
| | | | | "graphic-options" = <0c000000>
| | | | | "IOPCIResourced" = Yes
| | | | | "compatible" =
<"pci106b,12f","pci8086,d26","pciclass,030000","IGPU">
| | | | | "saved-config" =
<47000000000000000000000000000000000003000900260d00a10700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010100061022a0020240000000000000000002f0a72114400b0807a0000000340000003000200003000600400b0807002e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>
| | | | | "AAPL,iokit-ndrv" = <f00cfa947fffffff>
| | | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/IGPU@20000"
| | | | | "model" = <"Intel Iris Pro">
| | | | | "subsystem-id" = <2f010000>
| | | | | "revision-id" = <08000000>
| | | | | "AAPL,ig-platform-id" = <0900260d>
| | | | | "AAPL,gray-value" = <bfbfbf00>
| | | | | "pcidebug" = "0:2:0"
| | | | | "IOName" = "display"
| | | | | "attached-gpu-control-path" =
"IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/AGPM"
| | | | | "reg" =
<0010000000000000000000000000000000000000101000020000000000000000000000000000400018100042000000000000000000000000000000102010000100000000000000000000000040000000>
| | | | | "IOMemoryDescriptorOptions" = 2048
| | | | | }

The reg line looks interesting but it is also nothing like the number I got
from setpci in grub, so I am confused whether they are useful. Any help are
deeply appreciated! I also tried to check the newly released Haswell
documents, but did not find anything obvious.

--
Best Regards,
LR