From: Petr Vandrovec After I added some debugging printks I've found that code became a bit confused because it believed that primary monitor is 1920x540, but later it found in CRTC0's registers that panel size is 1920x1200 (Windows also agree that 1920x1200 is primary monitor, and 1920x1080i secondary one). When I applied attached patch then my monitor became as happy as it was before I connected HDMI cable to secondary output. Signed-off-by: Petr Vandrovec Signed-off-by: Antonino Daplas Cc: Dave Airlie Signed-off-by: Andrew Morton --- drivers/video/nvidia/nv_i2c.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/video/nvidia/nv_i2c.c~nvidiafb-fix-reversed-ddc-port drivers/video/nvidia/nv_i2c.c --- a/drivers/video/nvidia/nv_i2c.c~nvidiafb-fix-reversed-ddc-port +++ a/drivers/video/nvidia/nv_i2c.c @@ -131,10 +131,10 @@ void nvidia_create_i2c_busses(struct nvi par->chan[1].par = par; par->chan[2].par = par; - par->chan[0].ddc_base = 0x3e; + par->chan[0].ddc_base = 0x36; nvidia_setup_i2c_bus(&par->chan[0], "nvidia #0"); - par->chan[1].ddc_base = 0x36; + par->chan[1].ddc_base = 0x3e; nvidia_setup_i2c_bus(&par->chan[1], "nvidia #1"); par->chan[2].ddc_base = 0x50; _