[media] omap3isp: Use external rate instead of vpcfg
authorSakari Ailus <sakari.ailus@iki.fi>
Sun, 26 Feb 2012 00:13:41 +0000 (21:13 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 14 May 2012 11:52:38 +0000 (08:52 -0300)
Access pipe->external_rate instead of isp_ccdc.vpcfg.pixelclk. Also remove
means to set the value for isp_ccdc_vpcfg.pixelclk.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/omap3isp/isp.c
drivers/media/video/omap3isp/isp.h
drivers/media/video/omap3isp/ispccdc.c
drivers/media/video/omap3isp/ispccdc.h
drivers/media/video/omap3isp/ispvideo.c

index 0307ac39e440b4f96463ff6b2a8b6fe10b4a6a32..1c347633e663b65b1acb561ad6c2e00a868920c2 100644 (file)
@@ -329,19 +329,6 @@ void omap3isp_configure_bridge(struct isp_device *isp,
        isp_reg_writel(isp, ispctrl_val, OMAP3_ISP_IOMEM_MAIN, ISP_CTRL);
 }
 
-/**
- * isp_set_pixel_clock - Configures the ISP pixel clock
- * @isp: OMAP3 ISP device
- * @pixelclk: Average pixel clock in Hz
- *
- * Set the average pixel clock required by the sensor. The ISP will use the
- * lowest possible memory bandwidth settings compatible with the clock.
- **/
-static void isp_set_pixel_clock(struct isp_device *isp, unsigned int pixelclk)
-{
-       isp->isp_ccdc.vpcfg.pixelclk = pixelclk;
-}
-
 void omap3isp_hist_dma_done(struct isp_device *isp)
 {
        if (omap3isp_ccdc_busy(&isp->isp_ccdc) ||
@@ -2077,7 +2064,6 @@ static int __devinit isp_probe(struct platform_device *pdev)
 
        isp->autoidle = autoidle;
        isp->platform_cb.set_xclk = isp_set_xclk;
-       isp->platform_cb.set_pixel_clock = isp_set_pixel_clock;
 
        mutex_init(&isp->isp_mutex);
        spin_lock_init(&isp->stat_lock);
index 38c6619a77236abb7f47f5e9f57c4b554c019bd4..fc7af3e32efd247bd83b16f5197a8a992913e1e8 100644 (file)
@@ -129,7 +129,6 @@ struct isp_platform_callback {
        int (*csiphy_config)(struct isp_csiphy *phy,
                             struct isp_csiphy_dphy_cfg *dphy,
                             struct isp_csiphy_lanes_cfg *lanes);
-       void (*set_pixel_clock)(struct isp_device *isp, unsigned int pixelclk);
 };
 
 /*
index 8c73197005c63a1f54f3ff6a8039bf2dacd57b16..080fe8b513b1d97f2c8966ef49f1fe08eb40d283 100644 (file)
@@ -839,8 +839,8 @@ static void ccdc_config_vp(struct isp_ccdc_device *ccdc)
 
        if (pipe->input)
                div = DIV_ROUND_UP(l3_ick, pipe->max_rate);
-       else if (ccdc->vpcfg.pixelclk)
-               div = l3_ick / ccdc->vpcfg.pixelclk;
+       else if (pipe->external_rate)
+               div = l3_ick / pipe->external_rate;
 
        div = clamp(div, 2U, max_div);
        fmtcfg_vp |= (div - 2) << ISPCCDC_FMTCFG_VPIF_FRQ_SHIFT;
@@ -2433,8 +2433,6 @@ int omap3isp_ccdc_init(struct isp_device *isp)
        ccdc->clamp.oblen = 0;
        ccdc->clamp.dcsubval = 0;
 
-       ccdc->vpcfg.pixelclk = 0;
-
        ccdc->update = OMAP3ISP_CCDC_BLCLAMP;
        ccdc_apply_controls(ccdc);
 
index 966bbf8a12627e2ae447f8d4ab7f2b41b8b6c0ad..890f6b3a68fd04530bcdd28380f144e0539e1a12 100644 (file)
@@ -80,14 +80,6 @@ struct ispccdc_syncif {
        u8 bt_r656_en;
 };
 
-/*
- * struct ispccdc_vp - Structure for Video Port parameters
- * @pixelclk: Input pixel clock in Hz
- */
-struct ispccdc_vp {
-       unsigned int pixelclk;
-};
-
 enum ispccdc_lsc_state {
        LSC_STATE_STOPPED = 0,
        LSC_STATE_STOPPING = 1,
@@ -162,7 +154,6 @@ struct ispccdc_lsc {
  * @update: Bitmask of controls to update during the next interrupt
  * @shadow_update: Controls update in progress by userspace
  * @syncif: Interface synchronization configuration
- * @vpcfg: Video port configuration
  * @underrun: A buffer underrun occurred and a new buffer has been queued
  * @state: Streaming state
  * @lock: Serializes shadow_update with interrupt handler
@@ -192,7 +183,6 @@ struct isp_ccdc_device {
        unsigned int shadow_update;
 
        struct ispccdc_syncif syncif;
-       struct ispccdc_vp vpcfg;
 
        unsigned int underrun:1;
        enum isp_pipeline_stream_state state;
index ffad91e93b6efdd0e260dc3d8b2cc4d4760b1458..66bc6749de66872cc54882ab91d44d5591623b08 100644 (file)
@@ -352,7 +352,7 @@ static int isp_video_validate_pipeline(struct isp_pipeline *pipe)
                        unsigned int rate = UINT_MAX;
 
                        omap3isp_ccdc_max_rate(&isp->isp_ccdc, &rate);
-                       if (isp->isp_ccdc.vpcfg.pixelclk > rate)
+                       if (pipe->external_rate > rate)
                                return -ENOSPC;
                }