aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/dss/hdmi5.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/hdmi5.c')
-rw-r--r--drivers/gpu/drm/omapdrm/dss/hdmi5.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
index a43f7b10e113..0c0a5139a301 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
@@ -38,9 +38,10 @@
38#include <linux/gpio.h> 38#include <linux/gpio.h>
39#include <linux/regulator/consumer.h> 39#include <linux/regulator/consumer.h>
40#include <linux/component.h> 40#include <linux/component.h>
41#include <video/omapdss.h> 41#include <linux/of.h>
42#include <sound/omap-hdmi-audio.h> 42#include <sound/omap-hdmi-audio.h>
43 43
44#include "omapdss.h"
44#include "hdmi5_core.h" 45#include "hdmi5_core.h"
45#include "dss.h" 46#include "dss.h"
46#include "dss_features.h" 47#include "dss_features.h"
@@ -119,7 +120,6 @@ static irqreturn_t hdmi_irq_handler(int irq, void *data)
119 120
120static int hdmi_init_regulator(void) 121static int hdmi_init_regulator(void)
121{ 122{
122 int r;
123 struct regulator *reg; 123 struct regulator *reg;
124 124
125 if (hdmi.vdda_reg != NULL) 125 if (hdmi.vdda_reg != NULL)
@@ -131,15 +131,6 @@ static int hdmi_init_regulator(void)
131 return PTR_ERR(reg); 131 return PTR_ERR(reg);
132 } 132 }
133 133
134 if (regulator_can_change_voltage(reg)) {
135 r = regulator_set_voltage(reg, 1800000, 1800000);
136 if (r) {
137 devm_regulator_put(reg);
138 DSSWARN("can't set the regulator voltage\n");
139 return r;
140 }
141 }
142
143 hdmi.vdda_reg = reg; 134 hdmi.vdda_reg = reg;
144 135
145 return 0; 136 return 0;
@@ -198,7 +189,11 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
198 if (p->double_pixel) 189 if (p->double_pixel)
199 pc *= 2; 190 pc *= 2;
200 191
201 hdmi_pll_compute(&hdmi.pll, pc, &hdmi_cinfo); 192 /* DSS_HDMI_TCLK is bitclk / 10 */
193 pc *= 10;
194
195 dss_pll_calc_b(&hdmi.pll.pll, clk_get_rate(hdmi.pll.pll.clkin),
196 pc, &hdmi_cinfo);
202 197
203 /* disable and clear irqs */ 198 /* disable and clear irqs */
204 hdmi_wp_clear_irqenable(&hdmi.wp, 0xffffffff); 199 hdmi_wp_clear_irqenable(&hdmi.wp, 0xffffffff);
@@ -230,9 +225,6 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
230 225
231 hdmi5_configure(&hdmi.core, &hdmi.wp, &hdmi.cfg); 226 hdmi5_configure(&hdmi.core, &hdmi.wp, &hdmi.cfg);
232 227
233 /* bypass TV gamma table */
234 dispc_enable_gamma_table(0);
235
236 /* tv size */ 228 /* tv size */
237 dss_mgr_set_timings(channel, p); 229 dss_mgr_set_timings(channel, p);
238 230