Reduce the use of struct edid and drm_edid_raw().

Signed-off-by: Jani Nikula <jani.nik...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_crt.c  | 11 ++++-------
 drivers/gpu/drm/i915/display/intel_hdmi.c |  9 ++++-----
 drivers/gpu/drm/i915/display/intel_sdvo.c |  7 ++-----
 3 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crt.c 
b/drivers/gpu/drm/i915/display/intel_crt.c
index f66340b4caf0..310670bb6c25 100644
--- a/drivers/gpu/drm/i915/display/intel_crt.c
+++ b/drivers/gpu/drm/i915/display/intel_crt.c
@@ -657,21 +657,18 @@ static bool intel_crt_detect_ddc(struct drm_connector 
*connector)
        drm_edid = intel_crt_get_edid(connector, i2c);
 
        if (drm_edid) {
-               const struct edid *edid = drm_edid_raw(drm_edid);
-               bool is_digital = edid->input & DRM_EDID_INPUT_DIGITAL;
-
                /*
                 * This may be a DVI-I connector with a shared DDC
                 * link between analog and digital outputs, so we
                 * have to check the EDID input spec of the attached device.
                 */
-               if (!is_digital) {
+               if (drm_edid_is_digital(drm_edid)) {
                        drm_dbg_kms(&dev_priv->drm,
-                                   "CRT detected via DDC:0x50 [EDID]\n");
-                       ret = true;
+                                   "CRT not detected via DDC:0x50 [EDID 
reports a digital panel]\n");
                } else {
                        drm_dbg_kms(&dev_priv->drm,
-                                   "CRT not detected via DDC:0x50 [EDID 
reports a digital panel]\n");
+                                   "CRT detected via DDC:0x50 [EDID]\n");
+                       ret = true;
                }
        } else {
                drm_dbg_kms(&dev_priv->drm,
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c 
b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 9442bf43550e..aa9915098dda 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2452,7 +2452,6 @@ intel_hdmi_set_edid(struct drm_connector *connector)
        struct intel_hdmi *intel_hdmi = 
intel_attached_hdmi(to_intel_connector(connector));
        intel_wakeref_t wakeref;
        const struct drm_edid *drm_edid;
-       const struct edid *edid;
        bool connected = false;
        struct i2c_adapter *i2c;
 
@@ -2475,9 +2474,7 @@ intel_hdmi_set_edid(struct drm_connector *connector)
 
        to_intel_connector(connector)->detect_edid = drm_edid;
 
-       /* FIXME: Get rid of drm_edid_raw() */
-       edid = drm_edid_raw(drm_edid);
-       if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
+       if (drm_edid_is_digital(drm_edid)) {
                intel_hdmi_dp_dual_mode_detect(connector);
 
                connected = true;
@@ -2485,7 +2482,9 @@ intel_hdmi_set_edid(struct drm_connector *connector)
 
        intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS, wakeref);
 
-       cec_notifier_set_phys_addr_from_edid(intel_hdmi->cec_notifier, edid);
+       /* FIXME: Get rid of drm_edid_raw() */
+       cec_notifier_set_phys_addr_from_edid(intel_hdmi->cec_notifier,
+                                            drm_edid_raw(drm_edid));
 
        return connected;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c 
b/drivers/gpu/drm/i915/display/intel_sdvo.c
index 7d25a64698e2..917771e19e38 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -2094,10 +2094,8 @@ intel_sdvo_tmds_sink_detect(struct drm_connector 
*connector)
 
        status = connector_status_unknown;
        if (drm_edid) {
-               const struct edid *edid = drm_edid_raw(drm_edid);
-
                /* DDC bus is shared, match EDID to connector type */
-               if (edid && edid->input & DRM_EDID_INPUT_DIGITAL)
+               if (drm_edid_is_digital(drm_edid))
                        status = connector_status_connected;
                else
                        status = connector_status_disconnected;
@@ -2111,8 +2109,7 @@ static bool
 intel_sdvo_connector_matches_edid(struct intel_sdvo_connector *sdvo,
                                  const struct drm_edid *drm_edid)
 {
-       const struct edid *edid = drm_edid_raw(drm_edid);
-       bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL);
+       bool monitor_is_digital = drm_edid_is_digital(drm_edid);
        bool connector_is_digital = !!IS_DIGITAL(sdvo);
 
        DRM_DEBUG_KMS("connector_is_digital? %d, monitor_is_digital? %d\n",
-- 
2.39.2

Reply via email to