diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-11-27 09:41:16 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-03 08:19:00 -0400 |
commit | 03a0d1e81bdb519aa5881487cc5f20ffb8906c59 (patch) | |
tree | 3cce374f5b7257313c62418e480a42a1a863690e /drivers/video/omap2/dss | |
parent | 4fdfdf062d896c0afa18aa2d977a933e38c7c96c (diff) |
OMAPDSS: DPI: remove omap_dss_device uses
The role of struct omap_dss_device will change in the future. The exact
details of that are still a bit unclear. However, the less uses of
omap_dss_device we have, the easier the change is in the future.
This patch removes uses of omap_dss_device from dpi.c, where it can be
done neatly, by, for example, passing some lower level parameter in
function parameters.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c index 4af136a04e53..cb6b280124f1 100644 --- a/drivers/video/omap2/dss/dpi.c +++ b/drivers/video/omap2/dss/dpi.c | |||
@@ -91,11 +91,10 @@ static enum omap_dss_clk_source dpi_get_alt_clk_src(enum omap_channel channel) | |||
91 | } | 91 | } |
92 | } | 92 | } |
93 | 93 | ||
94 | static int dpi_set_dsi_clk(struct omap_dss_device *dssdev, | 94 | static int dpi_set_dsi_clk(enum omap_channel channel, |
95 | unsigned long pck_req, unsigned long *fck, int *lck_div, | 95 | unsigned long pck_req, unsigned long *fck, int *lck_div, |
96 | int *pck_div) | 96 | int *pck_div) |
97 | { | 97 | { |
98 | struct omap_overlay_manager *mgr = dssdev->output->manager; | ||
99 | struct dsi_clock_info dsi_cinfo; | 98 | struct dsi_clock_info dsi_cinfo; |
100 | struct dispc_clock_info dispc_cinfo; | 99 | struct dispc_clock_info dispc_cinfo; |
101 | int r; | 100 | int r; |
@@ -109,8 +108,8 @@ static int dpi_set_dsi_clk(struct omap_dss_device *dssdev, | |||
109 | if (r) | 108 | if (r) |
110 | return r; | 109 | return r; |
111 | 110 | ||
112 | dss_select_lcd_clk_source(mgr->id, | 111 | dss_select_lcd_clk_source(channel, |
113 | dpi_get_alt_clk_src(mgr->id)); | 112 | dpi_get_alt_clk_src(channel)); |
114 | 113 | ||
115 | dpi.mgr_config.clock_info = dispc_cinfo; | 114 | dpi.mgr_config.clock_info = dispc_cinfo; |
116 | 115 | ||
@@ -121,9 +120,8 @@ static int dpi_set_dsi_clk(struct omap_dss_device *dssdev, | |||
121 | return 0; | 120 | return 0; |
122 | } | 121 | } |
123 | 122 | ||
124 | static int dpi_set_dispc_clk(struct omap_dss_device *dssdev, | 123 | static int dpi_set_dispc_clk(unsigned long pck_req, unsigned long *fck, |
125 | unsigned long pck_req, unsigned long *fck, int *lck_div, | 124 | int *lck_div, int *pck_div) |
126 | int *pck_div) | ||
127 | { | 125 | { |
128 | struct dss_clock_info dss_cinfo; | 126 | struct dss_clock_info dss_cinfo; |
129 | struct dispc_clock_info dispc_cinfo; | 127 | struct dispc_clock_info dispc_cinfo; |
@@ -146,20 +144,19 @@ static int dpi_set_dispc_clk(struct omap_dss_device *dssdev, | |||
146 | return 0; | 144 | return 0; |
147 | } | 145 | } |
148 | 146 | ||
149 | static int dpi_set_mode(struct omap_dss_device *dssdev) | 147 | static int dpi_set_mode(struct omap_overlay_manager *mgr) |
150 | { | 148 | { |
151 | struct omap_video_timings *t = &dpi.timings; | 149 | struct omap_video_timings *t = &dpi.timings; |
152 | struct omap_overlay_manager *mgr = dssdev->output->manager; | ||
153 | int lck_div = 0, pck_div = 0; | 150 | int lck_div = 0, pck_div = 0; |
154 | unsigned long fck = 0; | 151 | unsigned long fck = 0; |
155 | unsigned long pck; | 152 | unsigned long pck; |
156 | int r = 0; | 153 | int r = 0; |
157 | 154 | ||
158 | if (dpi.dsidev) | 155 | if (dpi.dsidev) |
159 | r = dpi_set_dsi_clk(dssdev, t->pixel_clock * 1000, &fck, | 156 | r = dpi_set_dsi_clk(mgr->id, t->pixel_clock * 1000, &fck, |
160 | &lck_div, &pck_div); | 157 | &lck_div, &pck_div); |
161 | else | 158 | else |
162 | r = dpi_set_dispc_clk(dssdev, t->pixel_clock * 1000, &fck, | 159 | r = dpi_set_dispc_clk(t->pixel_clock * 1000, &fck, |
163 | &lck_div, &pck_div); | 160 | &lck_div, &pck_div); |
164 | if (r) | 161 | if (r) |
165 | return r; | 162 | return r; |
@@ -179,10 +176,8 @@ static int dpi_set_mode(struct omap_dss_device *dssdev) | |||
179 | return 0; | 176 | return 0; |
180 | } | 177 | } |
181 | 178 | ||
182 | static void dpi_config_lcd_manager(struct omap_dss_device *dssdev) | 179 | static void dpi_config_lcd_manager(struct omap_overlay_manager *mgr) |
183 | { | 180 | { |
184 | struct omap_overlay_manager *mgr = dssdev->output->manager; | ||
185 | |||
186 | dpi.mgr_config.io_pad_mode = DSS_IO_PAD_MODE_BYPASS; | 181 | dpi.mgr_config.io_pad_mode = DSS_IO_PAD_MODE_BYPASS; |
187 | 182 | ||
188 | dpi.mgr_config.stallmode = false; | 183 | dpi.mgr_config.stallmode = false; |
@@ -197,7 +192,7 @@ static void dpi_config_lcd_manager(struct omap_dss_device *dssdev) | |||
197 | 192 | ||
198 | int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) | 193 | int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) |
199 | { | 194 | { |
200 | struct omap_dss_output *out = dssdev->output; | 195 | struct omap_dss_output *out = &dpi.output; |
201 | int r; | 196 | int r; |
202 | 197 | ||
203 | mutex_lock(&dpi.lock); | 198 | mutex_lock(&dpi.lock); |
@@ -230,7 +225,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) | |||
230 | if (r) | 225 | if (r) |
231 | goto err_get_dispc; | 226 | goto err_get_dispc; |
232 | 227 | ||
233 | r = dss_dpi_select_source(dssdev->channel); | 228 | r = dss_dpi_select_source(out->manager->id); |
234 | if (r) | 229 | if (r) |
235 | goto err_src_sel; | 230 | goto err_src_sel; |
236 | 231 | ||
@@ -244,11 +239,11 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev) | |||
244 | goto err_dsi_pll_init; | 239 | goto err_dsi_pll_init; |
245 | } | 240 | } |
246 | 241 | ||
247 | r = dpi_set_mode(dssdev); | 242 | r = dpi_set_mode(out->manager); |
248 | if (r) | 243 | if (r) |
249 | goto err_set_mode; | 244 | goto err_set_mode; |
250 | 245 | ||
251 | dpi_config_lcd_manager(dssdev); | 246 | dpi_config_lcd_manager(out->manager); |
252 | 247 | ||
253 | mdelay(2); | 248 | mdelay(2); |
254 | 249 | ||
@@ -285,7 +280,7 @@ EXPORT_SYMBOL(omapdss_dpi_display_enable); | |||
285 | 280 | ||
286 | void omapdss_dpi_display_disable(struct omap_dss_device *dssdev) | 281 | void omapdss_dpi_display_disable(struct omap_dss_device *dssdev) |
287 | { | 282 | { |
288 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 283 | struct omap_overlay_manager *mgr = dpi.output.manager; |
289 | 284 | ||
290 | mutex_lock(&dpi.lock); | 285 | mutex_lock(&dpi.lock); |
291 | 286 | ||
@@ -325,7 +320,7 @@ int dpi_check_timings(struct omap_dss_device *dssdev, | |||
325 | struct omap_video_timings *timings) | 320 | struct omap_video_timings *timings) |
326 | { | 321 | { |
327 | int r; | 322 | int r; |
328 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 323 | struct omap_overlay_manager *mgr = dpi.output.manager; |
329 | int lck_div, pck_div; | 324 | int lck_div, pck_div; |
330 | unsigned long fck; | 325 | unsigned long fck; |
331 | unsigned long pck; | 326 | unsigned long pck; |