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!
This commit is contained in:
Adrien Destugues
2016-10-29 18:13:10 +02:00
parent 105acc92e3
commit afbfc7e505
@@ -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)