• Karol Herbst's avatar
    drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5 · 78eaf335
    Karol Herbst authored
    This patch uses an approach closer to the nvidia driver to configure
    both PLLs for high gddr5 memory clocks (usually above 2400MHz)
    
    Previously nouveau used the one PLL as it was used for the lower clocks
    and just adjusted the second PLL to get as close as possible to the
    requested clock.  This means for my card, that I got a 4050 MHz clock
    although 4008 MHz was requested.
    
    Now the driver iterates over a list of PLL configuration also used by
    the nvidia driver and then adjust the second PLL to get near the
    requested clock.  Also it hold to some restriction I found while
    analyzing the PLL configurations
    
    This won't fix all gddr5 high clock issues itself, but it should be
    fine on hybrid gpu systems as found on many laptops these days.  Also
    switching while normal desktop usage should be a lot more stable than
    before.
    
    v2: move the pll code into ramgk104
    Signed-off-by: default avatarKarol Herbst <nouveau@karolherbst.de>
    Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
    78eaf335
ramgk104.c 48.5 KB