From d7e91d925348553db548b5632ca7ef00fa790d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 26 May 2010 13:48:46 +0000 Subject: [PATCH] * The DPMS code tried to enable the LVDS panel already if a digital display was detected; however, it should only do so when there is an actual LVDS panel detected. * This should fix one part of ticket #3149 - looks like there are two different issues. Thanks to Robert J. Gebis for providing me remote access to his system. * Minor debug output improvements. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36941 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/intel_extreme/accelerant.cpp | 4 ++-- src/add-ons/accelerants/intel_extreme/dpms.cpp | 6 +++--- src/add-ons/accelerants/intel_extreme/mode.cpp | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/add-ons/accelerants/intel_extreme/accelerant.cpp b/src/add-ons/accelerants/intel_extreme/accelerant.cpp index f73d7578b7..209ce53a81 100644 --- a/src/add-ons/accelerants/intel_extreme/accelerant.cpp +++ b/src/add-ons/accelerants/intel_extreme/accelerant.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006-2009, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -214,7 +214,7 @@ intel_init_accelerant(int device) gInfo->head_mode |= HEAD_MODE_LVDS_PANEL; } - TRACE(("head detected: %d\n", gInfo->head_mode)); + TRACE(("head detected: %#x\n", gInfo->head_mode)); TRACE(("adpa: %08lx, dova: %08lx, dovb: %08lx, lvds: %08lx\n", read32(INTEL_DISPLAY_A_ANALOG_PORT), read32(INTEL_DISPLAY_A_DIGITAL_PORT), diff --git a/src/add-ons/accelerants/intel_extreme/dpms.cpp b/src/add-ons/accelerants/intel_extreme/dpms.cpp index 3e3247d72a..03c4435f72 100644 --- a/src/add-ons/accelerants/intel_extreme/dpms.cpp +++ b/src/add-ons/accelerants/intel_extreme/dpms.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006-2008, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -76,7 +76,7 @@ enable_lvds_panel(bool enable) { uint32 control = read32(INTEL_PANEL_CONTROL); uint32 panelStatus; - + if (enable) { if ((control & PANEL_CONTROL_POWER_TARGET_ON) == 0) { write32(INTEL_PANEL_CONTROL, control @@ -184,7 +184,7 @@ set_display_power_mode(uint32 mode) spin(150); } - if ((gInfo->head_mode & HEAD_MODE_B_DIGITAL) != 0) + if ((gInfo->head_mode & HEAD_MODE_LVDS_PANEL) != 0) enable_lvds_panel(mode == B_DPMS_ON); read32(INTEL_DISPLAY_A_BASE); diff --git a/src/add-ons/accelerants/intel_extreme/mode.cpp b/src/add-ons/accelerants/intel_extreme/mode.cpp index 0d43b368d5..a3885346f0 100644 --- a/src/add-ons/accelerants/intel_extreme/mode.cpp +++ b/src/add-ons/accelerants/intel_extreme/mode.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006-2009, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Support for i915 chipset and up based on the X driver, @@ -585,7 +585,8 @@ intel_propose_display_mode(display_mode *target, const display_mode *low, status_t intel_set_display_mode(display_mode *mode) { - TRACE(("intel_set_display_mode()\n")); + TRACE(("intel_set_display_mode(%ldx%ld)\n", mode->virtual_width, + mode->virtual_height)); if (mode == NULL) return B_BAD_VALUE;