From afbfc7e505f6f894059e45e3adb21e6f86fd0681 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 29 Oct 2016 15:59:11 +0200 Subject: [PATCH] intel_extreme: set image size on both pipes. This was hardcoded to pipe A on my laptop, but it's better to set both pipes so it work in more cases. Eventually I should see why my SandyBridge laptop is failing to move its LVDS panel to pipe B... This fixes miqlas Thinpad X200s and possibly some other machines. Thanks for letting me experiment with the hardware! --- src/add-ons/accelerants/intel_extreme/Pipes.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/add-ons/accelerants/intel_extreme/Pipes.cpp b/src/add-ons/accelerants/intel_extreme/Pipes.cpp index 284cb56ed7..285415d1d5 100644 --- a/src/add-ons/accelerants/intel_extreme/Pipes.cpp +++ b/src/add-ons/accelerants/intel_extreme/Pipes.cpp @@ -212,9 +212,14 @@ Pipe::ConfigureTimings(display_mode* target) // XXX: Is it ok to do these on non-digital? write32(INTEL_DISPLAY_A_POS + fPipeOffset, 0); + + // Set the image size for both pipes, just in case. write32(INTEL_DISPLAY_A_IMAGE_SIZE, ((uint32)(target->virtual_width - 1) << 16) | ((uint32)target->virtual_height - 1)); + write32(INTEL_DISPLAY_B_IMAGE_SIZE, + ((uint32)(target->virtual_width - 1) << 16) + | ((uint32)target->virtual_height - 1)); write32(INTEL_DISPLAY_A_PIPE_SIZE + fPipeOffset, ((uint32)(target->timing.v_display - 1) << 16)