diff options
-rw-r--r-- | drivers/media/video/omap3isp/isp.c | 14 | ||||
-rw-r--r-- | drivers/media/video/omap3isp/isp.h | 1 | ||||
-rw-r--r-- | drivers/media/video/omap3isp/ispccdc.c | 6 | ||||
-rw-r--r-- | drivers/media/video/omap3isp/ispccdc.h | 10 | ||||
-rw-r--r-- | drivers/media/video/omap3isp/ispvideo.c | 2 |
5 files changed, 3 insertions, 30 deletions
diff --git a/drivers/media/video/omap3isp/isp.c b/drivers/media/video/omap3isp/isp.c index 0307ac39e440..1c347633e663 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 | **/ | ||
340 | static void isp_set_pixel_clock(struct isp_device *isp, unsigned int pixelclk) | ||
341 | { | ||
342 | isp->isp_ccdc.vpcfg.pixelclk = pixelclk; | ||
343 | } | ||
344 | |||
345 | void omap3isp_hist_dma_done(struct isp_device *isp) | 332 | void 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 38c6619a7723..fc7af3e32efd 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 8c73197005c6..080fe8b513b1 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 966bbf8a1262..890f6b3a68fd 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 | */ | ||
87 | struct ispccdc_vp { | ||
88 | unsigned int pixelclk; | ||
89 | }; | ||
90 | |||
91 | enum ispccdc_lsc_state { | 83 | enum 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 ffad91e93b6e..66bc6749de66 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 | ||