From 236a3e937a3c5d72002438b5119acc8346989697 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 23 Feb 2016 17:50:39 -0600 Subject: [PATCH] intel_extrme: Better tracing, note when dp no-link --- src/add-ons/accelerants/intel_extreme/Ports.cpp | 16 +++++++++++++++- .../accelerants/intel_extreme/accelerant.cpp | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/add-ons/accelerants/intel_extreme/Ports.cpp b/src/add-ons/accelerants/intel_extreme/Ports.cpp index 8d0fc914a7..be3c1448d2 100644 --- a/src/add-ons/accelerants/intel_extreme/Ports.cpp +++ b/src/add-ons/accelerants/intel_extreme/Ports.cpp @@ -271,6 +271,8 @@ AnalogPort::AnalogPort() bool AnalogPort::IsConnected() { + TRACE("%s: %s PortRegister: 0x%" B_PRIxADDR "\n", __func__, PortName(), + _PortRegister()); return HasEDID(); } @@ -355,6 +357,9 @@ LVDSPort::LVDSPort() bool LVDSPort::IsConnected() { + TRACE("%s: %s PortRegister: 0x%" B_PRIxADDR "\n", __func__, PortName(), + _PortRegister()); + // Older generations don't have LVDS detection. If not mobile skip. if (gInfo->shared_info->device_type.Generation() <= 4) { if (!gInfo->shared_info->device_type.IsMobile()) { @@ -686,6 +691,9 @@ DigitalPort::DigitalPort(port_index index, const char* baseName) bool DigitalPort::IsConnected() { + TRACE("%s: %s PortRegister: 0x%" B_PRIxADDR "\n", __func__, PortName(), + _PortRegister()); + // As this port overlaps with pretty much everything, this must be called // after having ruled out all other port types. return HasEDID(); @@ -843,11 +851,17 @@ bool DisplayPort::IsConnected() { addr_t portRegister = _PortRegister(); + + TRACE("%s: %s PortRegister: 0x%" B_PRIxADDR "\n", __func__, PortName(), + portRegister); + if (portRegister == 0) return false; - if ((read32(portRegister) & DISPLAY_MONITOR_PORT_DETECTED) == 0) + if ((read32(portRegister) & DISPLAY_MONITOR_PORT_DETECTED) == 0) { + TRACE("%s: %s link not detected\n", __func__, PortName()); return false; + } return HasEDID(); } diff --git a/src/add-ons/accelerants/intel_extreme/accelerant.cpp b/src/add-ons/accelerants/intel_extreme/accelerant.cpp index 994cf89bdf..0ee5c8572b 100644 --- a/src/add-ons/accelerants/intel_extreme/accelerant.cpp +++ b/src/add-ons/accelerants/intel_extreme/accelerant.cpp @@ -295,7 +295,7 @@ probe_ports() TRACE("lvds: %08" B_PRIx32 "\n", read32(INTEL_DIGITAL_LVDS_PORT)); gInfo->port_count = 0; - for (int i = INTEL_PORT_B; i <= INTEL_PORT_D; i++) { + for (int i = INTEL_PORT_A; i <= INTEL_PORT_D; i++) { Port* displayPort = new(std::nothrow) DisplayPort((port_index)i); if (displayPort == NULL) return B_NO_MEMORY;