Set the color depth for head B. This allows using 8,15, and 16-bit modes on lvds panels.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38349 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues
2010-08-25 09:46:48 +00:00
parent 593d6e6786
commit 0405fd3b15
@@ -651,6 +651,7 @@ if (first) {
set_frame_buffer_base();
}
TRACE(("intel_extreme : Failed to allocate framebuffer !\n"));
return B_NO_MEMORY;
}
@@ -687,12 +688,6 @@ if (first) {
dpll |= (1 << (divisors.post1 - 1)) << DISPLAY_PLL_POST1_DIVISOR_SHIFT;
uint32 displayControl = ~(DISPLAY_CONTROL_COLOR_MASK
| DISPLAY_CONTROL_GAMMA) | colorMode;
displayControl |= 1 << 24; // select pipe B
// runs in dpms also?
displayControl |= DISPLAY_PIPE_ENABLED;
dpll |= DISPLAY_PLL_ENABLED;
write32(INTEL_PANEL_FIT_CONTROL, 0);
@@ -776,6 +771,9 @@ if (first) {
write32(INTEL_DISPLAY_B_PIPE_SIZE, ((uint32)(target.timing.v_display - 1) << 16)
| ((uint32)target.timing.h_display - 1));
write32(INTEL_DISPLAY_B_CONTROL, (read32(INTEL_DISPLAY_B_CONTROL)
& ~(DISPLAY_CONTROL_COLOR_MASK | DISPLAY_CONTROL_GAMMA)) | colorMode);
write32(INTEL_DISPLAY_B_PIPE_CONTROL,
read32(INTEL_DISPLAY_B_PIPE_CONTROL) | DISPLAY_PIPE_ENABLED);
read32(INTEL_DISPLAY_B_PIPE_CONTROL);