Bug 13973

Summary: radeon: kms doesn't work on AGP x1950
Product: Drivers Reporter: Daniel Vetter (daniel)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED CODE_FIX    
Severity: normal CC: glisse
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: v2.6.31-rc5-246-g90bc1a6 Subsystem:
Regression: No Bisected commit-id:
Attachments: complete dmesg including failing radeon init

Description Daniel Vetter 2009-08-13 09:51:26 UTC
Created attachment 22703 [details]
complete dmesg including failing radeon init

When loading the radeon drm module with modesetting enabled, modesetting fails and leaves the console and the hw in a wedged state.
When X starts, it tries user mode setting but doesn't get very far. Usually it hangs in kdm. I've tried kernel modesetting a few months ago, then it worked alright.

HW: 2x Dual Core Opteron 1.8GHz, 4G ram, X1950 AGP (lspci below)
SW: debian amd64

lspci -nn
00:06.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8111 PCI [1022:7460] (rev 07)
00:07.0 ISA bridge [0601]: Advanced Micro Devices [AMD] AMD-8111 LPC [1022:7468] (rev 05)
00:07.1 IDE interface [0101]: Advanced Micro Devices [AMD] AMD-8111 IDE [1022:7469] (rev 03)
00:07.2 SMBus [0c05]: Advanced Micro Devices [AMD] AMD-8111 SMBus 2.0 [1022:746a] (rev 02)  
00:07.3 Bridge [0680]: Advanced Micro Devices [AMD] AMD-8111 ACPI [1022:746b] (rev 05)      
00:07.5 Multimedia audio controller [0401]: Advanced Micro Devices [AMD] AMD-8111 AC97 Audio [1022:746d] (rev 03)
00:0a.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge [1022:7450] (rev 12)               
00:0a.1 PIC [0800]: Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC [1022:7451] (rev 01)                      
00:0b.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge [1022:7450] (rev 12)               
00:0b.1 PIC [0800]: Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC [1022:7451] (rev 01)
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103]
00:19.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100]
00:19.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101]
00:19.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102]
00:19.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103]
01:00.0 USB Controller [0c03]: Advanced Micro Devices [AMD] AMD-8111 USB [1022:7464] (rev 0b)
01:00.1 USB Controller [0c03]: Advanced Micro Devices [AMD] AMD-8111 USB [1022:7464] (rev 0b)
01:0a.0 USB Controller [0c03]: NEC Corporation USB [1033:0035] (rev 43)
01:0a.1 USB Controller [0c03]: NEC Corporation USB [1033:0035] (rev 43)
01:0a.2 USB Controller [0c03]: NEC Corporation USB 2.0 [1033:00e0] (rev 04)
01:0b.0 Mass storage controller [0180]: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller [1095:3114] (rev 02)
01:0c.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) [104c:8023]
02:09.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5703X Gigabit Ethernet [14e4:16a7] (rev 02)
04:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] AMD-8151 System Controller [1022:7454] (rev 14)
04:01.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8151 AGP Bridge [1022:7455] (rev 14)
05:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV570 [Radeon X1950 Pro] [1002:7280] (rev 9a)
05:00.1 Display controller [0380]: ATI Technologies Inc RV570 [Radeon X1950 Pro] (secondary) [1002:72a0] (rev 9a)
Comment 1 Michel Dänzer 2009-08-13 10:01:31 UTC
Does it work with radeon.agpmode=-1?
Comment 2 Daniel Vetter 2009-08-13 10:54:05 UTC
> --- Comment #1 from Michel Dänzer <michel@daenzer.net>  2009-08-13 10:01:31
> ---
> Does it work with radeon.agpmode=-1?
Yes, this works around the problem and I get a usable console with it.

-Daniel
Comment 3 Daniel Vetter 2009-10-14 08:06:58 UTC
On Thu, Aug 13, 2009 at 10:54:06AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> --- Comment #2 from Daniel Vetter <daniel@ffwll.ch>  2009-08-13 10:54:05 ---
> > --- Comment #1 from Michel Dänzer <michel@daenzer.net>  2009-08-13 10:01:31
> ---
> > Does it work with radeon.agpmode=-1?
> Yes, this works around the problem and I get a usable console with it.

I've just tried recent -linus without agmode=-1, and it seems to work
fine. Is this simply due to the new backoff-logic in the driver (that
switches to pci mode if agp fails) or is the bug gone for real? dmesg of
loading radeon below:

[   29.968979] [drm] Initialized drm 1.1.0 20060810
[   30.051135] [drm] radeon kernel modesetting enabled.
[   30.057452] radeon 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   30.073416] [drm] radeon: Initializing kernel modesetting.
[   30.080344] [drm] register mmio base: 0xFF5F0000
[   30.085596] [drm] register mmio size: 65536
[   30.096781] ATOM BIOS: 113
[   30.100312] [drm] GPU reset succeed (RBBM_STATUS=0x10000140)
[   30.106602] [drm] Generation 2 PCI interface, using max accessible memory
[   30.114039] agpgart-amd64 0000:04:00.0: AGP 3.0 bridge
[   30.120027] agpgart-amd64 0000:04:00.0: putting AGP V3 device into 4x mode
[   30.127538] radeon 0000:05:00.0: putting AGP V3 device into 4x mode
[   30.134441] [drm] radeon: VRAM 256M
[   30.138534] [drm] radeon: VRAM from 0x00000000 to 0x0FFFFFFF
[   30.144798] [drm] radeon: GTT 256M
[   30.148796] [drm] radeon: GTT from 0xC0000000 to 0xCFFFFFFF
[   30.155074] [drm] radeon: irq initialized.
[   30.160692] [drm] Detected VRAM RAM=256M, BAR=256M
[   30.166241] [drm] RAM width 256bits DDR
[   30.170845] [TTM] Zone  kernel: Available graphics memory: 2015160 kiB.
[   30.178138] [drm] radeon: 256M of VRAM memory ready
[   30.183632] [drm] radeon: 256M of GTT memory ready.
[   30.189191] [drm] GART: num cpu pages 65536, num gpu pages 65536
[   30.198276] [drm] radeon: 3 quad pipes, 1 z pipes initialized.
[   30.204837] [drm] radeon: cp idle (0x10000C03)
[   30.209995] [drm] Loading R500 Microcode
[   30.214539] platform radeon_cp.0: firmware: requesting radeon/R520_cp.bin
[   30.379272] [drm] radeon: ring at 0x00000000C0000000
[   30.384987] [drm] ring test succeeded in 1 usecs
[   30.405420] [drm] radeon: ib pool ready.
[   30.410193] [drm] ib test succeeded in 0 usecs
[   30.415725] [drm] Radeon Display Connectors
[   30.420529] [drm] Connector 0:
[   30.424192] [drm]   DVI-I
[   30.427438] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[   30.435478] [drm]   Encoders:
[   30.439076] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   30.444323] [drm]     DFP3: INTERNAL_LVTM1
[   30.449039] [drm] Connector 1:
[   30.452676] [drm]   S-video
[   30.456073] [drm]   Encoders:
[   30.459626] [drm]     TV1: INTERNAL_KLDSCP_DAC2
[   30.464752] [drm] Connector 2:
[   30.468414] [drm]   DVI-I
[   30.471620] [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[   30.479643] [drm]   Encoders:
[   30.483214] [drm]     CRT2: INTERNAL_KLDSCP_DAC2
[   30.488454] [drm]     DFP1: INTERNAL_KLDSCP_TMDS1
[   30.791893] [drm] fb mappable at 0xA0080000
[   30.796484] [drm] vram apper at 0xA0000000
[   30.800985] [drm] size 9216000
[   30.804450] [drm] fb depth is 24
[   30.808095] [drm]    pitch is 7680
[   30.834816] executing set pll
[   30.837023] executing set crtc timing
[   30.837069] [drm] TV-9: set mode 1280x1024 34
[   30.859807] executing set pll
[   30.862023] executing set crtc timing
[   30.862065] [drm] TMDS-11: set mode 1920x1200 35
[   30.902209] Console: switching to colour frame buffer device 160x64
[   30.967324] fb0: radeondrmfb frame buffer device
[   30.972454] registered panic notifier
[   30.976592] [drm] Initialized radeon 2.0.0 20080528 for 0000:05:00.0 on minor 0
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
Comment 4 Jérôme Glisse 2009-10-16 09:26:55 UTC
AGP works, when it fall back  to PCI you see a line in the log. Please close the bug, reopen if you rexperience this issue.
Comment 5 Daniel Vetter 2009-10-16 09:39:42 UTC
I'm closing this, thanks everyone involved.

-Daniel