From 174d7e52a3fd4b48bece311415fbdd9e1bb85ccc Mon Sep 17 00:00:00 2001 From: qwx Date: Wed, 23 Aug 2017 00:25:39 +0300 Subject: igfx: fix cdclk and dpll settings for dual channel lvds on sandybridge --- sys/src/cmd/aux/vga/igfx.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/src/cmd/aux/vga') diff --git a/sys/src/cmd/aux/vga/igfx.c b/sys/src/cmd/aux/vga/igfx.c index 40d9c2107..cc595c132 100644 --- a/sys/src/cmd/aux/vga/igfx.c +++ b/sys/src/cmd/aux/vga/igfx.c @@ -456,7 +456,7 @@ snarf(Vga* vga, Ctlr* ctlr) case TypeSNB: igfx->npipe = 2; /* A,B */ - igfx->cdclk = 300; /* MHz */ + igfx->cdclk = 400; /* MHz */ goto IVBcommon; case TypeIVB: @@ -843,6 +843,10 @@ initdpll(Igfx *igfx, int x, int freq, int port) dpll->ctrl.v &= ~(3<<24); if(port == PortLCD){ p2 = 14; + if(freq > 112*MHz){ + p2 >>= 1; + dpll->ctrl.v |= (1<<24); + } if(genpll(freq, cref, p2, &m1, &m2, &n, &p1) < 0) return -1; } else { -- cgit v1.2.3