On 10/14/2012 10:40 AM, Daniel Vetter wrote: > On Sun, Oct 14, 2012 at 4:19 PM, Mark Hounschell wrote: >> OK. Applied to 3.6.2. The dmesg is attached. The message did not show up. >> I'll be here most of the day. > > Ok, that at least confirms my suspicion (and yeah, I've mis-remembered > when I've merged the agp removal for gen6+, it's already all done in > 3.6). But I have no idea how that could fail this way. New little > debug patch: > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index a24ffbe..7ec35c5 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -848,6 +848,11 @@ i915_pci_probe(struct pci_dev *pdev, const struct > pci_device_id *ent) > return -ENODEV; > } > > + printk("force-disabling agp on gen %i, is_ivybridge %i\n", > + intel_info->gen, intel_info->is_ivybridge); > + > + driver.driver_features &= > + ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP); > return drm_get_pci_dev(pdev, ent, &driver); > } > > Yours, Daniel > There is something amiss. Here is my i915_pci_probe routine. I Added a couple more printks. NONE of these show up in dmesg. Not even the "Entered" printk. ???? static int __devinit i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { struct intel_device_info *intel_info = (struct intel_device_info *) ent->driver_data; printk("i915_pci_probe: Entered\n"); /* Only bind to function 0 of the device. Early generations * used function 1 as a placeholder for multi-head. This causes * us confusion instead, especially on the systems where both * functions have the same PCI-ID! */ if (PCI_FUNC(pdev->devfn)) { printk("i915_pci_probe: returning -ENODEV\n"); return -ENODEV; } /* We've managed to ship a kms-enabled ddx that shipped with an XvMC * implementation for gen3 (and only gen3) that used legacy drm maps * (gasp!) to share buffers between X and the client. Hence we need to * keep around the fake agp stuff for gen3, even when kms is enabled. */ if (intel_info->gen != 3) { driver.driver_features &= ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP); printk("dropping agp requirement\n"); } else if (!intel_agp_enabled) { DRM_ERROR("drm/i915 can't work without intel_agp module!\n"); return -ENODEV; } printk("force-disabling agp on gen %i, is_ivybridge %i\n", intel_info->gen, intel_info->is_ivybridge); driver.driver_features &= ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP); return drm_get_pci_dev(pdev, ent, &driver); } I see the i915 module loaded: # lsmod Module Size Used by nfs 126282 0 fscache 42769 1 nfs lockd 55498 1 nfs sunrpc 171138 3 nfs,lockd coretemp 5417 0 snd_virtuoso 28165 1 snd_oxygen_lib 28848 1 snd_virtuoso snd_pcm 78139 1 snd_oxygen_lib snd_page_alloc 6840 1 snd_pcm snd_mpu401_uart 5637 1 snd_oxygen_lib snd_rawmidi 18374 1 snd_mpu401_uart snd_seq 46978 0 kvm 241365 0 snd_timer 17410 2 snd_pcm,snd_seq snd_seq_device 5569 2 snd_rawmidi,snd_seq crc32c_intel 1481 0 aesni_intel 8188 0 ablk_helper 2217 1 aesni_intel cryptd 8236 1 ablk_helper aes_i586 7256 1 aesni_intel pcspkr 1458 0 serio_raw 4359 0 snd 58892 10 snd_virtuoso,snd_oxygen_lib,snd_pcm,snd_mpu401_uart,snd_rawmidi,snd_seq,snd_timer,snd_seq_device joydev 7748 0 sg 24563 0 i2c_i801 11132 0 sr_mod 12084 0 cdrom 32115 1 sr_mod soundcore 5895 1 snd e1000e 199196 0 shpchp 23210 0 pci_hotplug 23417 1 shpchp lpc_ich 9465 0 edd 7067 0 microcode 11485 0 autofs4 26390 2 ext4 282110 2 jbd2 57523 1 ext4 crc16 1327 1 ext4 i915 420514 0 drm_kms_helper 28021 1 i915 hid_generic 761 0 drm 208515 2 i915,drm_kms_helper xhci_hcd 117932 0 i2c_algo_bit 4973 1 i915 fan 2287 0 thermal 8404 0 button 4550 1 i915 video 11908 1 i915 scsi_dh_hp_sw 3480 0 scsi_dh_alua 6493 0 scsi_dh_rdac 6764 0 scsi_dh_emc 6481 0 scsi_dh 5432 4 scsi_dh_hp_sw,scsi_dh_alua,scsi_dh_rdac,scsi_dh_emc # lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller [8086:0150] (rev 09) 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09) 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0162] (rev 09) 00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04) 00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a] (rev 04) 00:19.0 Ethernet controller [0200]: Intel Corporation 82579V Gigabit Network Connection [8086:1503] (rev 04) 00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04) 00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4) 00:1c.7 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 8 [8086:1e1e] (rev c4) 00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04) 00:1f.0 ISA bridge [0601]: Intel Corporation H77 Express Chipset LPC Controller [8086:1e4a] (rev 04) 00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04) 00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22] (rev 04) 01:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge [10b5:8112] (rev aa) 02:04.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788] dmesg ad config file attached: ?????? Mark