DisplayPort branch device may define max supported bits per
component. Update display info based on this value if bpc
is defined.

v2: cleanup to match the drm_dp_helper.c patches introduced
    earlier in this series

Signed-off-by: Mika Kahola <mika.kahola at intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 76a654e..53ec844 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -3932,6 +3932,14 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
        uint8_t *dpcd = intel_dp->dpcd;
        uint8_t type;

+       if (dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT) {
+               int bpc = drm_dp_downstream_max_bpc(dpcd,
+                                                   intel_dp->downstream_ports);
+
+               if (bpc > 0)
+                       intel_dp->attached_connector->base.display_info.bpc = 
bpc;
+       }
+
        if (!intel_dp_get_dpcd(intel_dp))
                return connector_status_disconnected;

@@ -3968,6 +3976,7 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
                        return connector_status_unknown;
        }

+
        /* Anything else is out of spec, warn and ignore */
        DRM_DEBUG_KMS("Broken DP branch device, ignoring\n");
        return connector_status_disconnected;
-- 
1.9.1

Reply via email to