drm/scdc-helper: Pimp SCDC debugs
[linux-2.6-microblaze.git] / drivers / gpu / drm / vc4 / vc4_hdmi.c
index 464c3cc..06713d8 100644 (file)
@@ -885,7 +885,8 @@ static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder)
 static void vc4_hdmi_enable_scrambling(struct drm_encoder *encoder)
 {
        struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
-       struct drm_device *drm = vc4_hdmi->connector.dev;
+       struct drm_connector *connector = &vc4_hdmi->connector;
+       struct drm_device *drm = connector->dev;
        const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
        unsigned long flags;
        int idx;
@@ -903,8 +904,8 @@ static void vc4_hdmi_enable_scrambling(struct drm_encoder *encoder)
        if (!drm_dev_enter(drm, &idx))
                return;
 
-       drm_scdc_set_high_tmds_clock_ratio(vc4_hdmi->ddc, true);
-       drm_scdc_set_scrambling(vc4_hdmi->ddc, true);
+       drm_scdc_set_high_tmds_clock_ratio(connector, true);
+       drm_scdc_set_scrambling(connector, true);
 
        spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
        HDMI_WRITE(HDMI_SCRAMBLER_CTL, HDMI_READ(HDMI_SCRAMBLER_CTL) |
@@ -922,7 +923,8 @@ static void vc4_hdmi_enable_scrambling(struct drm_encoder *encoder)
 static void vc4_hdmi_disable_scrambling(struct drm_encoder *encoder)
 {
        struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
-       struct drm_device *drm = vc4_hdmi->connector.dev;
+       struct drm_connector *connector = &vc4_hdmi->connector;
+       struct drm_device *drm = connector->dev;
        unsigned long flags;
        int idx;
 
@@ -944,8 +946,8 @@ static void vc4_hdmi_disable_scrambling(struct drm_encoder *encoder)
                   ~VC5_HDMI_SCRAMBLER_CTL_ENABLE);
        spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
 
-       drm_scdc_set_scrambling(vc4_hdmi->ddc, false);
-       drm_scdc_set_high_tmds_clock_ratio(vc4_hdmi->ddc, false);
+       drm_scdc_set_scrambling(connector, false);
+       drm_scdc_set_high_tmds_clock_ratio(connector, false);
 
        drm_dev_exit(idx);
 }
@@ -955,12 +957,13 @@ static void vc4_hdmi_scrambling_wq(struct work_struct *work)
        struct vc4_hdmi *vc4_hdmi = container_of(to_delayed_work(work),
                                                 struct vc4_hdmi,
                                                 scrambling_work);
+       struct drm_connector *connector = &vc4_hdmi->connector;
 
-       if (drm_scdc_get_scrambling_status(vc4_hdmi->ddc))
+       if (drm_scdc_get_scrambling_status(connector))
                return;
 
-       drm_scdc_set_high_tmds_clock_ratio(vc4_hdmi->ddc, true);
-       drm_scdc_set_scrambling(vc4_hdmi->ddc, true);
+       drm_scdc_set_high_tmds_clock_ratio(connector, true);
+       drm_scdc_set_scrambling(connector, true);
 
        queue_delayed_work(system_wq, &vc4_hdmi->scrambling_work,
                           msecs_to_jiffies(SCRAMBLING_POLLING_DELAY_MS));