aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tilcdc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/tilcdc')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c2
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_drv.c2
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_external.c9
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_panel.c2
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_tfp410.c4
5 files changed, 9 insertions, 10 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 1b278a22c8b7..1067e702c22c 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -224,7 +224,7 @@ static void tilcdc_crtc_set_clk(struct drm_crtc *crtc)
224 224
225 ret = clk_set_rate(priv->clk, req_rate * clkdiv); 225 ret = clk_set_rate(priv->clk, req_rate * clkdiv);
226 clk_rate = clk_get_rate(priv->clk); 226 clk_rate = clk_get_rate(priv->clk);
227 if (ret < 0) { 227 if (ret < 0 || tilcdc_pclk_diff(req_rate, clk_rate) > 5) {
228 /* 228 /*
229 * If we fail to set the clock rate (some architectures don't 229 * If we fail to set the clock rate (some architectures don't
230 * use the common clock framework yet and may not implement 230 * use the common clock framework yet and may not implement
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index b8a5e4ed22e6..0fb300d41a09 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -378,7 +378,7 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
378 if (!priv->external_connector && 378 if (!priv->external_connector &&
379 ((priv->num_encoders == 0) || (priv->num_connectors == 0))) { 379 ((priv->num_encoders == 0) || (priv->num_connectors == 0))) {
380 dev_err(dev, "no encoders/connectors found\n"); 380 dev_err(dev, "no encoders/connectors found\n");
381 ret = -ENXIO; 381 ret = -EPROBE_DEFER;
382 goto init_failed; 382 goto init_failed;
383 } 383 }
384 384
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_external.c b/drivers/gpu/drm/tilcdc/tilcdc_external.c
index d651bdd6597e..b4eaf9bc87f8 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_external.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_external.c
@@ -103,12 +103,11 @@ struct drm_connector *tilcdc_encoder_find_connector(struct drm_device *ddev,
103 struct drm_encoder *encoder) 103 struct drm_encoder *encoder)
104{ 104{
105 struct drm_connector *connector; 105 struct drm_connector *connector;
106 int i;
107 106
108 list_for_each_entry(connector, &ddev->mode_config.connector_list, head) 107 list_for_each_entry(connector, &ddev->mode_config.connector_list, head) {
109 for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) 108 if (drm_connector_has_possible_encoder(connector, encoder))
110 if (connector->encoder_ids[i] == encoder->base.id) 109 return connector;
111 return connector; 110 }
112 111
113 dev_err(ddev->dev, "No connector found for %s encoder (id %d)\n", 112 dev_err(ddev->dev, "No connector found for %s encoder (id %d)\n",
114 encoder->name, encoder->base.id); 113 encoder->name, encoder->base.id);
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
index d616d64a6725..a1acab39d87f 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
@@ -223,7 +223,7 @@ static struct drm_connector *panel_connector_create(struct drm_device *dev,
223 connector->interlace_allowed = 0; 223 connector->interlace_allowed = 0;
224 connector->doublescan_allowed = 0; 224 connector->doublescan_allowed = 0;
225 225
226 ret = drm_mode_connector_attach_encoder(connector, encoder); 226 ret = drm_connector_attach_encoder(connector, encoder);
227 if (ret) 227 if (ret)
228 goto fail; 228 goto fail;
229 229
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
index c45cabb38db0..daebf1aa6b0a 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
@@ -173,7 +173,7 @@ static int tfp410_connector_get_modes(struct drm_connector *connector)
173 173
174 edid = drm_get_edid(connector, tfp410_connector->mod->i2c); 174 edid = drm_get_edid(connector, tfp410_connector->mod->i2c);
175 175
176 drm_mode_connector_update_edid_property(connector, edid); 176 drm_connector_update_edid_property(connector, edid);
177 177
178 if (edid) { 178 if (edid) {
179 ret = drm_add_edid_modes(connector, edid); 179 ret = drm_add_edid_modes(connector, edid);
@@ -240,7 +240,7 @@ static struct drm_connector *tfp410_connector_create(struct drm_device *dev,
240 connector->interlace_allowed = 0; 240 connector->interlace_allowed = 0;
241 connector->doublescan_allowed = 0; 241 connector->doublescan_allowed = 0;
242 242
243 ret = drm_mode_connector_attach_encoder(connector, encoder); 243 ret = drm_connector_attach_encoder(connector, encoder);
244 if (ret) 244 if (ret)
245 goto fail; 245 goto fail;
246 246