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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user