Bug 28456

Summary: [RADEON:KMS:RS400:INIT] detects different number of pipes each boot
Product: DRI Reporter: Alexandre <alexandre.nunes>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: christopher.m.penalver
Version: XOrg git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.log on the relevant machine
none
1 quad pipe, radeon "module version = 6.12.99" / Ubuntu 9.10 i386
none
4 quad pipes, radeon "module version = 6.12.99" / Ubuntu 9.10 i386 none

Description Alexandre 2010-06-08 19:02:24 UTC
Hi,

Whenever I boot my system, I get either:

a) 3 pipes reported by dri. System works fine, and flash plugin works very fast.

b) 1 pipe reported by dri. System works fine, and flash plugin works very slow.

On the log I get:

[   45.553515] [drm] Initialized drm 1.1.0 20060810
[   45.717688] [drm] radeon kernel modesetting enabled.
[   45.723888] [drm] radeon: Initializing kernel modesetting.
[   45.729456] [drm] register mmio base: 0xC0100000
[   45.729462] [drm] register mmio size: 65536
[   45.729893] [drm] GPU reset succeed (RBBM_STATUS=0x00000140)
[   45.729914] [drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?)
[   45.730503] [drm] Generation 2 PCI interface, using max accessible memory
[   45.730509] [drm] radeon: VRAM 128M
[   45.730511] [drm] radeon: VRAM from 0x78000000 to 0x7FFFFFFF
[   45.730514] [drm] radeon: GTT 32M
[   45.730516] [drm] radeon: GTT from 0x80000000 to 0x81FFFFFF
[   45.730552] [drm] radeon: irq initialized.
[   45.730855] [drm] Detected VRAM RAM=128M, BAR=256M
[   45.730860] [drm] RAM width 128bits DDR
[   45.730992] [drm] radeon: 128M of VRAM memory ready
[   45.730995] [drm] radeon: 32M of GTT memory ready.
[   45.731018] [drm] GART: num cpu pages 8192, num gpu pages 8192
[   45.733319] [drm] radeon: 3 quad pipes, 1 z pipes initialized.
[   45.733342] [drm] radeon: cp idle (0x10000C03)
[   45.736059] [drm] Loading R300 Microcode
[   46.028800] [drm] radeon: ring at 0x0000000080000000
[   46.028824] [drm] ring test succeeded in 1 usecs
[   46.028977] [drm] radeon: ib pool ready.
[   46.029074] [drm] ib test succeeded in 0 usecs
[   46.029117] [drm] Default TV standard: NTSC
[   46.029120] [drm] 14.318180000 MHz TV ref clk
[   46.029198] [drm] Panel ID String: LPL                     
[   46.029201] [drm] Panel Size 1024x768
[   46.029255] [drm] Default TV standard: NTSC
[   46.029257] [drm] 14.318180000 MHz TV ref clk
[   46.029287] [drm] Radeon Display Connectors
[   46.029290] [drm] Connector 0:
[   46.029292] [drm]   VGA
[   46.029295] [drm]   DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68
[   46.029297] [drm]   Encoders:
[   46.029300] [drm]     CRT1: INTERNAL_DAC2
[   46.029302] [drm] Connector 1:
[   46.029304] [drm]   LVDS
[   46.029307] [drm]   DDC: 0x198 0x198 0x19c 0x19c 0x1a0 0x1a0 0x1a4 0x1a4
[   46.029309] [drm]   Encoders:
[   46.029311] [drm]     LCD1: INTERNAL_LVDS
[   46.029314] [drm] Connector 2:
[   46.029315] [drm]   S-video
[   46.029317] [drm]   Encoders:
[   46.029319] [drm]     TV1: INTERNAL_DAC2
[   46.163091] [drm] fb mappable at 0xD0040000
[   46.163096] [drm] vram apper at 0xD0000000
[   46.163098] [drm] size 3145728
[   46.163100] [drm] fb depth is 24
[   46.163102] [drm]    pitch is 4096
[   46.163773] fbcon: radeondrmfb (fb0) is primary device
[   46.195829] fb0: radeondrmfb frame buffer device
[   46.195839] [drm] Initialized radeon 2.0.0 20080528 for 0000:01:05.0 on minor 0


I.e., the line that reads radeon: 3 quad pipes, 1 z pipes initialized sometimes changes to 1 quad pipes.

Loading/unloading the driver does not change that, only reboots/power cycles do.

My display device:

01:05.0 VGA compatible controller: ATI Technologies Inc RS400 [Radeon Xpress 200M] (prog-if 00 [VGA controller])
        Subsystem: LG Electronics, Inc. Device 0023
        Flags: bus master, 66MHz, medium devsel, latency 66, IRQ 11
        Memory at d0000000 (32-bit, prefetchable) [size=256M]
        I/O ports at 9000 [size=256]
        Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
        [virtual] Expansion ROM at c0120000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 2
        Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
        Kernel driver in use: radeon


/proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Celeron(R) M processor         1.60GHz
stepping        : 8
cpu MHz         : 1600.021
cache size      : 1024 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 clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx bts
bogomips        : 3200.04
clflush size    : 64
cache_alignment : 64
address sizes   : 32 bits physical, 32 bits virtual
power management:
Comment 1 Alexandre 2010-06-08 19:03:31 UTC
Before someone asks, whether or not KMS is set is irrelevant.
Comment 2 Alexandre 2010-06-08 19:08:27 UTC
(In reply to comment #1)
> Before someone asks, whether or not KMS is set is irrelevant.

I should have been clearer here. It's irrelevant to the 3-versus-1 quad pipe change. When KMS is not set, flash plugin (e.g. youtube) is much slower (in case of youtube, the video is not smooth, it even stops rendering; in case of games, it's overall slow) considering the 1 quad pipe scenario + KMS and moderately slower than in the 3 pipe scenario + KMS.

Also, My xorg.conf relevant bits:


Section "Device"
       Identifier "Default Device"
       Driver  "radeon"
       Option "TVStandard" "ntsc"
       Option "ColorTiling" "on"
       Option "EnablePageFlip" "on"
       
       Option "monitor-VGA-0" "VGA-0 Monitor"
      
EndSection
Comment 3 Alex Deucher 2010-06-08 19:24:41 UTC
please attach your xorg log.  Does it change with subsequent reboots of kms, or only when you mix boots of kms and ums?
Comment 4 Alexandre 2010-06-08 19:54:27 UTC
Created attachment 36170 [details]
Xorg.log on the relevant machine
Comment 5 Alexandre 2010-06-08 19:55:06 UTC
It changes in subsequent boots of kms (I'm using kms only for a quite a while, I only booted in ums a few times after I noticed this behavior, for I suspected it could be kms only).
Comment 6 Alexandre 2010-09-14 08:36:10 UTC
It still happens on at least linux 2.6.35.4 (vanilla).

One thing I realized is that once drm only sees 1 quad pipe, the irq rate from the card seems to increase dramatically. I couldn't take the time to take measurements, but it seems to go from about < 100 per second w/ 3 pipes actives, to something like 300 ~ 900 per second.

Perhaps this "storming" is causing the slowdown I'm seeing?
Comment 7 J. Kanowitz 2010-10-12 16:11:31 UTC
Created attachment 39401 [details]
1 quad pipe, radeon "module version = 6.12.99" / Ubuntu 9.10 i386
Comment 8 J. Kanowitz 2010-10-12 16:12:59 UTC
Created attachment 39402 [details]
4 quad pipes, radeon "module version = 6.12.99" / Ubuntu 9.10 i386
Comment 9 J. Kanowitz 2010-10-12 16:33:20 UTC
Just noticed this when doing some work on two "identical" Compaq SR1611NX desktops.  The 4-pipe log has quite a bit of noise at the end from uptime.  Both run Ubuntu 9.10 with its kernel "2.6.31-22-generic #65-Ubuntu SMP".

I have not checked whether it persists or varies by reboot, but will keep an eye on it.  I'm offering my logs to compare in case something immediately sticks out.

The hardware configuration is highly identical between the machines but BIOS versions are not; right now the machine coming up with a single pipe actually has the newer one:

BIOS Information
        Vendor: Phoenix Technologies, LTD
        Version:  3.15
        Release Date: 01/25/2007

than the one showing four:

BIOS Information
        Vendor: Phoenix Technologies, LTD
        Version:  3.10
        Release Date: 10/14/2005

but this is not necessarily significant absent enough restarts to check for a pattern.  Quickie glxgears 'benchmarking' showed pessimistic results for what turned out to be the machine that came up "1-piped" (appx. 1500fps vs. 4500fps at default window size) and got me comparing logs, but that disparity mysteriously resolved itself on subsequent runs.
Comment 10 Jerome Glisse 2011-02-09 07:18:17 UTC
Till has the issue with recent kernel ?
Comment 11 Alexandre 2011-02-09 07:22:12 UTC
(In reply to comment #10)
> Till has the issue with recent kernel ?

kind of. The 1 vs 3 pipes happens up to 2.6.37 , inclusive.

The system performance seems better no matter what's detected, though.
Comment 12 Christopher M. Penalver 2016-02-26 05:50:46 UTC
Alexandre, Ubuntu 9.10 reached EOL on April 30, 2011. For more on this, please see https://wiki.ubuntu.com/Releases.

If this is reproducible with a supported release, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.