drm/nva3/pm: begin to restructure memory clock changes + another magic
authorBen Skeggs <bskeggs@redhat.com>
Thu, 2 Feb 2012 01:43:31 +0000 (11:43 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 24 May 2012 06:31:20 +0000 (16:31 +1000)
commit4719b55be5d43420b29e48c17208ec3db66e730f
tree9077de3101181dd8c957b26e5aa6572f9ad84dca
parent30e533900ea74a3499dad5c4660ebaf80b50d152
drm/nva3/pm: begin to restructure memory clock changes + another magic

The binary driver appears to do various bits and pieces of the memory
clock frequency change at different times, depending on the particular
transition that's occuring.  I've attempted to replicate this here
for div->pll, pll->div and div->div transitions.

With some additional (patches upcoming) magic regs being bashed, this
allows me to correctly transition between all 3 perflvls on NVS300.

pll->pll transitions will *not* work correctly at the moment, pending
me tricking the binary driver into doing one and seeing how to correctly
handle it.

This patch also handles (hopefully) 0x1110e0, which appears to need
changing depending on whether in PLL or divider mode.. Maybe.  We'll
see.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nva3_pm.c