From 117e135799a2b95c0bce51e440821fe2fc8a323e Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 18 Sep 2011 15:29:24 +0000 Subject: [PATCH] * ddc still giving 128 bytes of 0's * add code to check if 0 valid displays were found * if 0 edid's were found, we inject the first connector as a last resort... SimNow seems to be ok with this and I get a valid screen mode set :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42757 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/radeon_hd/display.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/add-ons/accelerants/radeon_hd/display.cpp b/src/add-ons/accelerants/radeon_hd/display.cpp index c9f336bfd8..5e1a11ac11 100644 --- a/src/add-ons/accelerants/radeon_hd/display.cpp +++ b/src/add-ons/accelerants/radeon_hd/display.cpp @@ -644,6 +644,18 @@ detect_displays() } } + // fallback if no edid monitors were found + if (displayIndex == 0) { + ERROR("%s: ERROR: 0 attached monitors were found on display connectors." + " Injecting first connector as a last resort.\n", __func__); + gDisplay[displayIndex]->active = true; + gDisplay[displayIndex]->connector_index = 0; + init_registers(gDisplay[displayIndex]->regs, displayIndex); + if (detect_crt_ranges(displayIndex) == B_OK) + gDisplay[displayIndex]->found_ranges = true; + } + + return B_OK; }