On Tue, Sep 15, 2015 at 1:39 AM, Dylan Taft <dylanetaft at gmail.com>
wrote:> I'm trying out the 4.3 RC kernel, major improvements with Nouveau on
> my old T61 laptop with an NVS140 GPU. Stability and performance both
> seem massively increased. There are still some stability issues with
> 3D games and switching resolutions on the fly. 2D performance kicks
> the pants off the binary driver, 3D performance seems to be catching
> up.
>
> I noticed a module setting for pstate for clocking up and down the
> GPU, but it's "unimplemented".
>
> Dug into the kernel source and saw that my GPU is considered g86 from
> what I can tell. It calls the g84_clk_new function, which calls the
> the nv50_clk_new_ code. It looks very much implemented.
>
> There's a check in g84_clk_new, checks if the GPU chipset is 0xa0.
>
> Anyway, if I just pass in true for the allow_reclock param, it does
> work, it looks like a lot of chipsets just share the NV50 base code?
> The clock rates and such appear to be pulled from GPU registers or
> something.
>
> cat pstate
> 20: core 169 MHz shader 338 MHz memory 100 MHz
> 21: core 275 MHz shader 550 MHz memory 301 MHz
> 22: core 400 MHz shader 800 MHz memory 600 MHz AC DC *
> AC: core 400 MHz shader 800 MHz memory 302 MHz
Note that the memory clock stayed at 300mhz, which isn't great.
>
> It nets an extra 60-70fps in glxgears, and a handful of FPS in games.
> Stability wise it works best making adjustments from a virtual console
> while no graphically intense apps are running in X, ideally even
> before X starts, it can get unstable during change.
>
> I guess long story short, is there anything I can do in regards to
> testing to help get it enabled upstream for NVS140?
Roy, what do you need?
At a very minimum, please supply your VBIOS
(/sys/kernel/debug/dri/0/vbios.rom), hopefully that'll give some hints
as to why memory didn't reclock. A full mmiotrace of the blob driver
starting up would be good too, that should include a reclock sequence
up to the highest level. (See https://wiki.ubuntu.com/X/MMIOTracing)
-ilia