From: Ville Syrjälä <ville.syrj...@linux.intel.com>

I have at least one SDVO device (some Lenovo DVI-I ADD2 card,
based on Conexant CX25904) where GetAttachedDisplays returns
success but fails to report any attached displays unless wet
precede the command with a SetTargetOutput. Make it so.

I wasn't able to spot anything in the SDVO spec stating that
this should be necessary, but real world wins over spec.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_sdvo.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index 8298a86d1334..9ac4c0b6055b 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -2135,6 +2135,10 @@ intel_sdvo_detect(struct drm_connector *connector, bool 
force)
        if (!INTEL_DISPLAY_ENABLED(i915))
                return connector_status_disconnected;
 
+       if (!intel_sdvo_set_target_output(intel_sdvo,
+                                         intel_sdvo_connector->output_flag))
+               return connector_status_unknown;
+
        if (!intel_sdvo_get_value(intel_sdvo,
                                  SDVO_CMD_GET_ATTACHED_DISPLAYS,
                                  &response, 2))
-- 
2.39.3

Reply via email to