Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrze...@collabora.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 40 +++++++++++------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index c6490949d9db..0b9c9f2619da 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -161,7 +161,6 @@ struct dw_hdmi {
 
        struct drm_display_mode previous_mode;
 
-       struct i2c_adapter *ddc;
        void __iomem *regs;
        bool sink_is_hdmi;
        bool sink_has_audio;
@@ -1118,7 +1117,7 @@ static bool dw_hdmi_support_scdc(struct dw_hdmi *hdmi)
                return false;
 
        /* Disable if no DDC bus */
-       if (!hdmi->ddc)
+       if (!hdmi->connector.ddc)
                return false;
 
        /* Disable if SCDC is not supported, or if an HF-VSDB block is absent */
@@ -1156,10 +1155,11 @@ void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi 
*hdmi)
 
        /* Control for TMDS Bit Period/TMDS Clock-Period Ratio */
        if (dw_hdmi_support_scdc(hdmi)) {
+               struct i2c_adapter *ddc = hdmi->connector.ddc;
                if (mtmdsclock > HDMI14_MAX_TMDSCLK)
-                       drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 1);
+                       drm_scdc_set_high_tmds_clock_ratio(ddc, 1);
                else
-                       drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 0);
+                       drm_scdc_set_high_tmds_clock_ratio(ddc, 0);
        }
 }
 EXPORT_SYMBOL_GPL(dw_hdmi_set_high_tmds_clock_ratio);
@@ -1750,6 +1750,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
        if (dw_hdmi_support_scdc(hdmi)) {
                if (vmode->mtmdsclock > HDMI14_MAX_TMDSCLK ||
                    hdmi_info->scdc.scrambling.low_rates) {
+                       struct i2c_adapter *ddc = hdmi->connector.ddc;
                        /*
                         * HDMI2.0 Specifies the following procedure:
                         * After the Source Device has determined that
@@ -1759,13 +1760,12 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
                         * Source Devices compliant shall set the
                         * Source Version = 1.
                         */
-                       drm_scdc_readb(hdmi->ddc, SCDC_SINK_VERSION,
-                                      &bytes);
-                       drm_scdc_writeb(hdmi->ddc, SCDC_SOURCE_VERSION,
+                       drm_scdc_readb(ddc, SCDC_SINK_VERSION, &bytes);
+                       drm_scdc_writeb(ddc, SCDC_SOURCE_VERSION,
                                min_t(u8, bytes, SCDC_MIN_SOURCE_VERSION));
 
                        /* Enabled Scrambling in the Sink */
-                       drm_scdc_set_scrambling(hdmi->ddc, 1);
+                       drm_scdc_set_scrambling(hdmi->connector.ddc, 1);
 
                        /*
                         * To activate the scrambler feature, you must ensure
@@ -1781,7 +1781,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
                        hdmi_writeb(hdmi, 0, HDMI_FC_SCRAMBLER_CTRL);
                        hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ,
                                    HDMI_MC_SWRSTZ);
-                       drm_scdc_set_scrambling(hdmi->ddc, 0);
+                       drm_scdc_set_scrambling(hdmi->connector.ddc, 0);
                }
        }
 
@@ -2127,10 +2127,10 @@ static int dw_hdmi_connector_get_modes(struct 
drm_connector *connector)
        struct edid *edid;
        int ret = 0;
 
-       if (!hdmi->ddc)
+       if (!hdmi->connector.ddc)
                return 0;
 
-       edid = drm_get_edid(connector, hdmi->ddc);
+       edid = drm_get_edid(connector, hdmi->connector.ddc);
        if (edid) {
                dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
                        edid->width_cm, edid->height_cm);
@@ -2548,9 +2548,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
 
        ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
        if (ddc_node) {
-               hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
+               hdmi->connector.ddc = of_get_i2c_adapter_by_node(ddc_node);
                of_node_put(ddc_node);
-               if (!hdmi->ddc) {
+               if (!hdmi->connector.ddc) {
                        dev_dbg(hdmi->dev, "failed to read ddc node\n");
                        return ERR_PTR(-EPROBE_DEFER);
                }
@@ -2689,7 +2689,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
        hdmi_init_clk_regenerator(hdmi);
 
        /* If DDC bus is not specified, try to register HDMI I2C bus */
-       if (!hdmi->ddc) {
+       if (!hdmi->connector.ddc) {
                /* Look for (optional) stuff related to unwedging */
                hdmi->pinctrl = devm_pinctrl_get(dev);
                if (!IS_ERR(hdmi->pinctrl)) {
@@ -2708,9 +2708,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
                        }
                }
 
-               hdmi->ddc = dw_hdmi_i2c_adapter(hdmi);
-               if (IS_ERR(hdmi->ddc))
-                       hdmi->ddc = NULL;
+               hdmi->connector.ddc = dw_hdmi_i2c_adapter(hdmi);
+               if (IS_ERR(hdmi->connector.ddc))
+                       hdmi->connector.ddc = NULL;
        }
 
        hdmi->bridge.driver_private = hdmi;
@@ -2776,7 +2776,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
 err_iahb:
        if (hdmi->i2c) {
                i2c_del_adapter(&hdmi->i2c->adap);
-               hdmi->ddc = NULL;
+               hdmi->connector.ddc = NULL;
        }
 
        if (hdmi->cec_notifier)
@@ -2788,7 +2788,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
 err_isfr:
        clk_disable_unprepare(hdmi->isfr_clk);
 err_res:
-       i2c_put_adapter(hdmi->ddc);
+       i2c_put_adapter(hdmi->connector.ddc);
 
        return ERR_PTR(ret);
 }
@@ -2814,7 +2814,7 @@ static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
        if (hdmi->i2c)
                i2c_del_adapter(&hdmi->i2c->adap);
        else
-               i2c_put_adapter(hdmi->ddc);
+               i2c_put_adapter(hdmi->connector.ddc);
 }
 
 /* 
-----------------------------------------------------------------------------
-- 
2.17.1

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to