aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/omap3isp
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/omap3isp')
-rw-r--r--drivers/media/video/omap3isp/isp.c14
-rw-r--r--drivers/media/video/omap3isp/isp.h1
-rw-r--r--drivers/media/video/omap3isp/ispccdc.c6
-rw-r--r--drivers/media/video/omap3isp/ispccdc.h10
-rw-r--r--drivers/media/video/omap3isp/ispvideo.c2
5 files changed, 3 insertions, 30 deletions
diff --git a/drivers/media/video/omap3isp/isp.c b/drivers/media/video/omap3isp/isp.c
index 0307ac39e44..1c347633e66 100644
--- a/drivers/media/video/omap3isp/isp.c
+++ b/drivers/media/video/omap3isp/isp.c
@@ -329,19 +329,6 @@ void omap3isp_configure_bridge(struct isp_device *isp,
329 isp_reg_writel(isp, ispctrl_val, OMAP3_ISP_IOMEM_MAIN, ISP_CTRL); 329 isp_reg_writel(isp, ispctrl_val, OMAP3_ISP_IOMEM_MAIN, ISP_CTRL);
330} 330}
331 331
332/**
333 * isp_set_pixel_clock - Configures the ISP pixel clock
334 * @isp: OMAP3 ISP device
335 * @pixelclk: Average pixel clock in Hz
336 *
337 * Set the average pixel clock required by the sensor. The ISP will use the
338 * lowest possible memory bandwidth settings compatible with the clock.
339 **/
340static void isp_set_pixel_clock(struct isp_device *isp, unsigned int pixelclk)
341{
342 isp->isp_ccdc.vpcfg.pixelclk = pixelclk;
343}
344
345void omap3isp_hist_dma_done(struct isp_device *isp) 332void omap3isp_hist_dma_done(struct isp_device *isp)
346{ 333{
347 if (omap3isp_ccdc_busy(&isp->isp_ccdc) || 334 if (omap3isp_ccdc_busy(&isp->isp_ccdc) ||
@@ -2077,7 +2064,6 @@ static int __devinit isp_probe(struct platform_device *pdev)
2077 2064
2078 isp->autoidle = autoidle; 2065 isp->autoidle = autoidle;
2079 isp->platform_cb.set_xclk = isp_set_xclk; 2066 isp->platform_cb.set_xclk = isp_set_xclk;
2080 isp->platform_cb.set_pixel_clock = isp_set_pixel_clock;
2081 2067
2082 mutex_init(&isp->isp_mutex); 2068 mutex_init(&isp->isp_mutex);
2083 spin_lock_init(&isp->stat_lock); 2069 spin_lock_init(&isp->stat_lock);
diff --git a/drivers/media/video/omap3isp/isp.h b/drivers/media/video/omap3isp/isp.h
index 38c6619a772..fc7af3e32ef 100644
--- a/drivers/media/video/omap3isp/isp.h
+++ b/drivers/media/video/omap3isp/isp.h
@@ -129,7 +129,6 @@ struct isp_platform_callback {
129 int (*csiphy_config)(struct isp_csiphy *phy, 129 int (*csiphy_config)(struct isp_csiphy *phy,
130 struct isp_csiphy_dphy_cfg *dphy, 130 struct isp_csiphy_dphy_cfg *dphy,
131 struct isp_csiphy_lanes_cfg *lanes); 131 struct isp_csiphy_lanes_cfg *lanes);
132 void (*set_pixel_clock)(struct isp_device *isp, unsigned int pixelclk);
133}; 132};
134 133
135/* 134/*
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
index 8c73197005c..080fe8b513b 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -839,8 +839,8 @@ static void ccdc_config_vp(struct isp_ccdc_device *ccdc)
839 839
840 if (pipe->input) 840 if (pipe->input)
841 div = DIV_ROUND_UP(l3_ick, pipe->max_rate); 841 div = DIV_ROUND_UP(l3_ick, pipe->max_rate);
842 else if (ccdc->vpcfg.pixelclk) 842 else if (pipe->external_rate)
843 div = l3_ick / ccdc->vpcfg.pixelclk; 843 div = l3_ick / pipe->external_rate;
844 844
845 div = clamp(div, 2U, max_div); 845 div = clamp(div, 2U, max_div);
846 fmtcfg_vp |= (div - 2) << ISPCCDC_FMTCFG_VPIF_FRQ_SHIFT; 846 fmtcfg_vp |= (div - 2) << ISPCCDC_FMTCFG_VPIF_FRQ_SHIFT;
@@ -2433,8 +2433,6 @@ int omap3isp_ccdc_init(struct isp_device *isp)
2433 ccdc->clamp.oblen = 0; 2433 ccdc->clamp.oblen = 0;
2434 ccdc->clamp.dcsubval = 0; 2434 ccdc->clamp.dcsubval = 0;
2435 2435
2436 ccdc->vpcfg.pixelclk = 0;
2437
2438 ccdc->update = OMAP3ISP_CCDC_BLCLAMP; 2436 ccdc->update = OMAP3ISP_CCDC_BLCLAMP;
2439 ccdc_apply_controls(ccdc); 2437 ccdc_apply_controls(ccdc);
2440 2438
diff --git a/drivers/media/video/omap3isp/ispccdc.h b/drivers/media/video/omap3isp/ispccdc.h
index 966bbf8a126..890f6b3a68f 100644
--- a/drivers/media/video/omap3isp/ispccdc.h
+++ b/drivers/media/video/omap3isp/ispccdc.h
@@ -80,14 +80,6 @@ struct ispccdc_syncif {
80 u8 bt_r656_en; 80 u8 bt_r656_en;
81}; 81};
82 82
83/*
84 * struct ispccdc_vp - Structure for Video Port parameters
85 * @pixelclk: Input pixel clock in Hz
86 */
87struct ispccdc_vp {
88 unsigned int pixelclk;
89};
90
91enum ispccdc_lsc_state { 83enum ispccdc_lsc_state {
92 LSC_STATE_STOPPED = 0, 84 LSC_STATE_STOPPED = 0,
93 LSC_STATE_STOPPING = 1, 85 LSC_STATE_STOPPING = 1,
@@ -162,7 +154,6 @@ struct ispccdc_lsc {
162 * @update: Bitmask of controls to update during the next interrupt 154 * @update: Bitmask of controls to update during the next interrupt
163 * @shadow_update: Controls update in progress by userspace 155 * @shadow_update: Controls update in progress by userspace
164 * @syncif: Interface synchronization configuration 156 * @syncif: Interface synchronization configuration
165 * @vpcfg: Video port configuration
166 * @underrun: A buffer underrun occurred and a new buffer has been queued 157 * @underrun: A buffer underrun occurred and a new buffer has been queued
167 * @state: Streaming state 158 * @state: Streaming state
168 * @lock: Serializes shadow_update with interrupt handler 159 * @lock: Serializes shadow_update with interrupt handler
@@ -192,7 +183,6 @@ struct isp_ccdc_device {
192 unsigned int shadow_update; 183 unsigned int shadow_update;
193 184
194 struct ispccdc_syncif syncif; 185 struct ispccdc_syncif syncif;
195 struct ispccdc_vp vpcfg;
196 186
197 unsigned int underrun:1; 187 unsigned int underrun:1;
198 enum isp_pipeline_stream_state state; 188 enum isp_pipeline_stream_state state;
diff --git a/drivers/media/video/omap3isp/ispvideo.c b/drivers/media/video/omap3isp/ispvideo.c
index ffad91e93b6..66bc6749de6 100644
--- a/drivers/media/video/omap3isp/ispvideo.c
+++ b/drivers/media/video/omap3isp/ispvideo.c
@@ -352,7 +352,7 @@ static int isp_video_validate_pipeline(struct isp_pipeline *pipe)
352 unsigned int rate = UINT_MAX; 352 unsigned int rate = UINT_MAX;
353 353
354 omap3isp_ccdc_max_rate(&isp->isp_ccdc, &rate); 354 omap3isp_ccdc_max_rate(&isp->isp_ccdc, &rate);
355 if (isp->isp_ccdc.vpcfg.pixelclk > rate) 355 if (pipe->external_rate > rate)
356 return -ENOSPC; 356 return -ENOSPC;
357 } 357 }
358 358