http://bugzilla.kernel.org/show_bug.cgi?id=12920
Summary: savage: mmap2 of /dev/dri/card0 fails with EAGAIN since 2.6.29-rc6 Product: Drivers Version: 2.5 KernelVersion: 2.6.29-rc6 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI) AssignedTo: drivers_video-...@kernel-bugs.osdl.org ReportedBy: avill...@ceibo.fiec.espol.edu.ec Latest working kernel version: 2.6.29-rc5 Earliest failing kernel version: 2.6.29-rc6 Distribution: Fedora 10 i386 Hardware Environment: /proc/cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 1 model name : Intel(R) Pentium(R) 4 CPU 1.70GHz stepping : 2 cpu MHz : 1700.047 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pebs bts bogomips : 3400.09 clflush size : 64 power management: /proc/iomem: 00000000-0000ffff : reserved 00010000-0009fbff : System RAM 0009fc00-0009ffff : reserved 000a0000-000bffff : Video RAM area 000c0000-000cbfff : Video ROM 000f0000-000fffff : reserved 000f0000-000fffff : System ROM 00100000-1f7effff : System RAM 00400000-0068676c : Kernel code 0068676d-007eca67 : Kernel data 00838000-00c3fd83 : Kernel bss 1f7f0000-1f7f7fff : ACPI Tables 1f7f8000-1f7fffff : ACPI Non-volatile Storage ceb00000-debfffff : PCI Bus 0000:01 d0000000-d7ffffff : 0000:01:00.0 d0000000-d06effff : vesafb ded00000-deefffff : PCI Bus 0000:01 dee70000-dee7ffff : 0000:01:00.0 dee80000-deefffff : 0000:01:00.0 df000000-df7fffff : 0000:00:09.0 dffe0000-dffe7fff : 0000:00:09.0 dfffee00-dfffeeff : 0000:00:12.0 dfffee00-dfffeeff : via-rhine dfffef00-dfffefff : 0000:00:10.3 dfffef00-dfffefff : ehci_hcd dffff000-dfffffff : 0000:00:09.0 e0000000-efffffff : 0000:00:00.0 fec00000-fec00fff : reserved fee00000-fee00fff : Local APIC fee00000-fee00fff : reserved fff80000-ffffffff : reserved /proc/ioports: 0000-001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-0060 : keyboard 0064-0064 : keyboard 0070-0071 : rtc0 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : 0000:00:11.1 0170-0177 : pata_via 01f0-01f7 : 0000:00:11.1 01f0-01f7 : pata_via 0201-0208 : ns558-pnp 0295-0296 : it87 0295-0296 : it87 0330-0331 : MPU401 UART 0376-0376 : 0000:00:11.1 0376-0376 : pata_via 0378-037a : parport0 03c0-03df : vesafb 03f2-03f2 : floppy 03f4-03f5 : floppy 03f6-03f6 : 0000:00:11.1 03f6-03f6 : pata_via 03f7-03f7 : floppy 03f8-03ff : serial 0400-040f : 0000:00:11.0 0400-0407 : vt596_smbus 0800-087f : 0000:00:11.0 0800-0803 : ACPI PM1a_EVT_BLK 0804-0805 : ACPI PM1a_CNT_BLK 0808-080b : ACPI PM_TMR 0810-0815 : ACPI CPU throttle 0820-0823 : ACPI GPE0_BLK 0cf8-0cff : PCI conf1 cc00-ccff : 0000:00:12.0 cc00-ccff : via-rhine d000-d0ff : 0000:00:11.5 d000-d0ff : VIA8233 d400-d41f : 0000:00:10.0 d400-d41f : uhci_hcd d800-d81f : 0000:00:10.1 d800-d81f : uhci_hcd dc00-dc1f : 0000:00:10.2 dc00-dc1f : uhci_hcd e000-e007 : 0000:00:0b.0 e400-e407 : 0000:00:0b.0 e400-e402 : parport1 e403-e407 : parport1 e800-e81f : 0000:00:0b.0 e800-e807 : serial e808-e80f : serial ec00-ecff : 0000:00:09.0 fc00-fc0f : 0000:00:11.1 fc00-fc0f : pata_via lspci -vvv 00:00.0 Host bridge: VIA Technologies, Inc. P4M266 Host Bridge Subsystem: VIA Technologies, Inc. Device 0000 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx- Latency: 8 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M] Capabilities: [a0] AGP version 2.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP+ GART64- 64bit- FW- Rate=x4 Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: agpgart-via Kernel modules: via-agp 00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ INTx- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 0000f000-00000fff Memory behind bridge: ded00000-deefffff Prefetchable memory behind bridge: ceb00000-debfffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR- BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:09.0 VGA compatible controller: Oak Technology, Inc OTI-64111 [Spitfire] (rev 10) (prog-if 00 [VGA controller]) Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 11 Region 0: Memory at dffff000 (32-bit, non-prefetchable) [disabled] [size=4K] Region 1: Memory at df000000 (32-bit, non-prefetchable) [disabled] [size=8M] Region 2: I/O ports at ec00 [disabled] [size=256] Expansion ROM at dffe0000 [disabled] [size=32K] 00:0b.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550]) Subsystem: Timedia Technology Co Ltd Device 5079 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 11 Region 0: I/O ports at e800 [size=32] Region 2: I/O ports at e400 [size=8] Region 3: I/O ports at e000 [size=8] Kernel driver in use: serial Kernel modules: parport_pc 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 5 Region 4: I/O ports at d400 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 32 bytes Interrupt: pin B routed to IRQ 11 Region 4: I/O ports at d800 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 32 bytes Interrupt: pin C routed to IRQ 5 Region 4: I/O ports at dc00 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI]) Subsystem: VIA Technologies, Inc. USB 2.0 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 128 bytes Interrupt: pin D routed to IRQ 11 Region 0: Memory at dfffef00 (32-bit, non-prefetchable) [size=256] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd 00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge Subsystem: VIA Technologies, Inc. KT4AV motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel modules: via-ircc, i2c-viapro 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 Interrupt: pin A routed to IRQ 255 Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1] Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8] Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1] Region 4: I/O ports at fc00 [size=16] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: pata_via 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50) Subsystem: VIA Technologies, Inc. K7VT2 motherboard Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin C routed to IRQ 5 Region 0: I/O ports at d000 [size=256] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: VIA 82xx Audio Kernel modules: snd-via82xx 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74) Subsystem: VIA Technologies, Inc. VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 (750ns min, 2000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 5 Region 0: I/O ports at cc00 [size=256] Region 1: Memory at dfffee00 (32-bit, non-prefetchable) [size=256] Capabilities: [40] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: via-rhine Kernel modules: via-rhine 01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266] (prog-if 00 [VGA controller]) Subsystem: S3 Inc. VT8375 [ProSavage8 KM266/KL266] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 (1000ns min, 63750ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 5 Region 0: Memory at dee80000 (32-bit, non-prefetchable) [size=512K] Region 1: Memory at d0000000 (32-bit, prefetchable) [size=128M] Expansion ROM at dee70000 [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [80] AGP version 2.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x4 Command: RQ=32 ArqSz=0 Cal=0 SBA- AGP+ GART64- 64bit- FW- Rate=x4 Kernel modules: savagefb Software Environment: Linux version 2.6.29-rc8 (a...@karlalex.palosanto.com) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #1 PREEMPT Sat Mar 21 13:57:36 ECT 2009 If some fields are empty or look unusual you may have an old version. Compare to the current minimal requirements in Documentation/Changes. Linux karlalex.palosanto.com 2.6.29-rc8 #1 PREEMPT Sat Mar 21 13:57:36 ECT 2009 i686 i686 i386 GNU/Linux Gnu C 4.3.2 Gnu make 3.81 binutils 2.18.50.0.9 util-linux 2.14.1 mount support module-init-tools 3.5 e2fsprogs 1.41.4 pcmciautils 014 quota-tools 3.16. PPP 2.4.4 Linux C Library 2.9 Dynamic linker (ldd) 2.9 Procps 3.2.7 Net-tools 1.60 Kbd 1.12 oprofile 0.9.4 Sh-utils 6.12 udev 127 wireless-tools 29 Modules Loaded usb_storage ipv6 fuse savage drm eeprom sco bridge stp llc bnep l2cap bluetooth it87 hwmon_vid hwmon vfat fat dm_multipath uinput ppdev snd_via82xx snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss floppy snd_pcm i2c_viapro pcspkr sr_mod via_rhine i2c_core snd_timer mii snd_page_alloc cdrom via_ircc irda crc_ccitt snd_mpu401 snd_mpu401_uart snd_rawmidi snd_seq_device ns558 snd gameport soundcore parport_pc parport via_agp uhci_hcd ohci_hcd ehci_hcd usbcore Problem Description: A regression was introduced between 2.6.29-rc5 and -rc6 that results in an attempt to mmap2 on /dev/dri/card0 (ProSavageDDRK) to fail with EAGAIN. This hits the X server and results in broken DRI/Mesa support. Steps to reproduce: Get 2.6.29-rc6 or higher and a Savage chipset (don't know about other chipsets) Attempt to start X Report DRI support (from Xorg.0.log) When the bug hits, the following appears on the X log: ---------------- (II) [drm] loaded kernel module for "savage" driver. (II) [drm] DRM interface version 1.3 (II) [drm] DRM open master succeeded. (II) SAVAGE(0): [drm] Using the DRM lock SAREA also for drawables. (II) SAVAGE(0): [drm] framebuffer handle = 0xd0000000 (II) SAVAGE(0): [drm] added 1 reserved context for kernel (II) SAVAGE(0): X context handle = 0x1 (II) SAVAGE(0): [drm] installed DRM signal handler (II) SAVAGE(0): [agp] Mode 0x1f000207 [AGP 0x1106/0x3148; Card 0x5333/0x8d04] (II) SAVAGE(0): [agp] 16384 kB allocated with handle 0x00000001 (II) SAVAGE(0): [agp] command DMA handle = 0xe0000000 (II) SAVAGE(0): [agp] agpTextures handle = 0xe0100000 (II) SAVAGE(0): [drm] aperture handle = 0xd2000000 (II) SAVAGE(0): [drm] Enabling ShadowStatus for DRI. (II) SAVAGE(0): [drm] Status handle = 0x18a12000 (EE) SAVAGE(0): [drm] Could not map status page (II) SAVAGE(0): [drm] removed 1 reserved context for kernel (II) SAVAGE(0): [drm] unmapping 8192 bytes of SAREA 0xe0010000 at 0xb803a000 (II) SAVAGE(0): [drm] Closed DRM master. (II) SAVAGE(0): Resetting ShadowStatus. (EE) SAVAGE(0): DRI isn't enabled ---------------- A strace of the Xorg process shows: open("/dev/dri/card0", O_RDWR|O_LARGEFILE) = 12 write(0, "drmOpenDevice: open result is 12,"..., 39) = 39 ioctl(12, DEVFSDIOC_GET_PROTO_REV, 0x9f89180) = 0 ioctl(12, DEVFSDIOC_GET_PROTO_REV, 0x9f89180) = 0 ... ioctl(12, 0xc0186415, 0xbfe7c678) = 0 write(0, "(II) SAVAGE(0): [drm] Status hand"..., 49) = 49 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 12, 0x14335) = -1 EAGAIN (Resource temporarily unavailable) write(2, "(EE) SAVAGE(0): [drm] Could not m"..., 48) = 48 write(0, "(EE) SAVAGE(0): [drm] Could not m"..., 48) = 48 munmap(0xffffffff, 4096) = -1 EINVAL (Invalid argument) -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel