[Nouveau] [PATCH 0/2] reclocking stability improvements
Emil Velikov
emil.l.velikov at gmail.com
Thu Apr 28 08:24:06 PDT 2011
On Thu, 28 Apr 2011 12:43:31 +0100, Maxim Levitsky <maximlevitsky at gmail.com> wrote:
> Martin, one more thing, this is my observations regarding clocks I
> finished today:
>
>
> clock = (ref * N / M) >> (P & 0x7)
>
> first line is blob, second nouveau
>
> level0:
> P NNMM
> 0x4008 - memory - 0018e200 00002505 = 1 = 01.0000
> 80016400 00002505 = 37 / 5 / 2 = 03.7000
>
> 0x4020 - shader - 80010000 00000b01 = 11 / 1 / 2 = 05.5000
> 80020000 00001b02 = 27 / 2 / 4 = 03.3750
>
> 0x4028 - core - a0120000 00001b04 = 27 / 4 / 4 = 01.6875
> a0020000 00001b04 = 27 / 4 / 4 = 01.6875
>
> 0x4030 - unk_05 - a0120000 00000b02 = 11 / 2 / 4 = 01.3750
> 80020000 00001b04 = 27 / 4 / 4 = 01.6875
>
> level1:
>
> 0x4008 - memory - 809ae400 00002505 = 37 / 5 / 4 = 01.8500
> 80026400 00002505 = 37 / 5 / 4 = 01.8500
> 0x4020 - shader - 80000000 00000b01 = 11 / 1 / 1 = 11.0000
> 80010000 00000b01 = 11 / 1 / 2 = 05.5000
> 0x4028 - core - a0090000 00000b02 = 11 / 2 / 1 = 05.5000
> a0010000 00000b02 = 11 / 2 / 1 = 05.5000
>
> 0x4030 - unk_05 - a0120000 00000b02 = 11 / 2 / 4 = 01.3750
> 80010000 00000b02 = 11 / 2 / 2 = 05.5000
>
> level2:
>
> 0x4008 - memory - 8059e400 00002505 = 37 / 5 / 2 = 03.7000
> 80016400 00002505 = 37 / 5 / 2 = 03.7000
>
> 0x4020 - shader - 80000000 00000b01 = 11 / 1 / 1 = 11.0000
> 80000000 00001002 = 16 / 2 / 1 = 08.0000
>
> 0x4028 - core - a0090000 00001002 = 16 / 2 / 2 = 04.0000
> a0010000 00001002 = 16 / 2 / 2 = 04.0000
>
> 0x4030 - unk_05 - a0120000 00000b02 = 11 / 2 / 4 = 01.3750
> 80010000 00001202 = 18 / 2 / 2 = 06.0000
>
>
> Clocks are very different and we seems to overclock hard the unk_05 PLL
> And shader PLL is underclocked always, so another way to boost performance?
> (it didn't seem to affect perfomace much here, but yet...)
>
>
Maxim most likely you are tired of hearing this, but the shader PLL in many
cases is disabled(-ish)
Either by nv_wr32(dev, (nv_rd32(dev, 0x4020) & ~0x80000000)), or by the
0xc040 register (don't remember the exact bit)
Whereas for the unk_05 the logic of the blob has been changed in it's recent
versions - i.e. blob v195.xx the numbers(P/M/N) where the same as the nouveau
Cheers
Emil (xexaxo)
More information about the Nouveau
mailing list