Bug 78544 - NV28M running at 1/8th GPU clock when using nouveau
Summary: NV28M running at 1/8th GPU clock when using nouveau
Status: RESOLVED DUPLICATE of bug 78543
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.7 (2012.06)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-10 20:29 UTC by nv28m
Modified: 2014-05-26 22:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description nv28m 2014-05-10 20:29:05 UTC
See https://bugs.freedesktop.org/show_bug.cgi?id=54700 some details. I've opened this as the speed problem has nothing to do with the distortion, but I've noticed it when debugging that problem. I've e-mailed two dumps for that thread for this machine.

In short nouveau is slow normally, unless I insert the nvidia module in one kernel and kexec into another kernel. Then nouveau is fast until I suspend to RAM. After resume it's slow again. And I can't fix it ;)

Long version:

I've played a bit with nvclock and found something interesting. When using the nvidia driver in X I get:

================================
-- General info --
Card:           nVidia Geforce 4 4000 GO
Architecture:   NV28 A2
PCI id:         0x286
NVPLL_COEFF=00010d01
m=1 n=13 p=1
GPU clock:      175.500 MHz
Bustype:        AGP

-- Memory info --
Amount:         32 MB
Type:           128 bit DDR
MPLL_COEFF=00001d02
m=2 n=29 p=0
Clock:          391.500 MHz

-- AGP info --
Status:         Enabled
Rate:           4X
AGP rates:      1X 2X 4X
Fast Writes:    Disabled
SBA:            Disabled

-- VideoBios information --
Version: 04.28.20.31
Signon message: NV28 P138 Mobile Reference VGA BIOS
================================

When I switch to console, then it's:

================================
-- General info --
Card:           nVidia Geforce 4 4000 GO
Architecture:   NV28 A2
PCI id:         0x286
NVPLL_COEFF=00040d01
m=1 n=13 p=4
GPU clock:      21.937 MHz
Bustype:        AGP
================================

When I do the same using nouveau in X (after nvidia kexec):

================================
-- General info --
Card: 		nVidia Geforce 4 4000 GO
Architecture: 	NV28 A2
PCI id: 	0x286
NVPLL_COEFF=00040d01
m=1 n=13 p=4
GPU clock: 	21.937 MHz
Bustype: 	AGP

-- Memory info --
Amount: 	32 MB
Type: 		128 bit DDR
MPLL_COEFF=00000f01
m=1 n=15 p=0
Clock: 		405.000 MHz

-- AGP info --
Status: 	Enabled
Rate: 		4X
AGP rates: 	1X 2X 4X 
Fast Writes: 	Enabled
SBA: 		Enabled

-- VideoBios information --
Version: 04.28.20.31
Signon message: NV28 P138 Mobile Reference VGA BIOS
================================

Nouveau on console (after nvidia kexec):

================================
-- General info --
Card:           nVidia Geforce 4 4000 GO
Architecture:   NV28 A2
PCI id:         0x286
NVPLL_COEFF=00010d01
m=1 n=13 p=1
GPU clock:      175.500 MHz
Bustype:        AGP
================================

And what is interesting if I do a "nvclock -i -d | cat" on console then it's:

================================
-- General info --
Card: 		nVidia Geforce 4 4000 GO
Architecture: 	NV28 A2
PCI id: 	0x286
NVPLL_COEFF=00040d01
m=1 n=13 p=4
GPU clock: 	21.937 MHz
Bustype: 	AGP
================================

There's no difference with nvidia between redirecting to file or not.

The POST values are 175 MHz GPU and 405 MHz RAM (same as nouveau console). I've checked the nvidia dump I've made, it's set up to 100 MHz GPU and 199 MHz RAM, but for some reason that's not the speed it's actually reported later (see above, 175/391).

When I do a suspend to RAM then I get 22 MHz GPU consistently on console and X with nouveau, independent of redirecting or not. I guess that the 22 MHz in X after nvidia kexec is probably false and it's more like 175 MHz as on console without redirection.

If I directly poke the PLL and read it back then it's not the same. It's always 1/8 of what was requested (actually +3). When I change it on nvidia it's the same as what I write there. Also after nvidia kexec, on the nouveau console it's matching. But not after a suspend to RAM or otherwise. The same 1/8 is there in X when nouveau is running fast after kexec.

Any ideas what is causing this 1/8 speed limit sometimes? Or why it's different if I redirect/not with nouveau?
Comment 1 Martin Peres 2014-05-26 22:39:21 UTC

*** This bug has been marked as a duplicate of bug 78543 ***


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.