mirror of https://gitee.com/openkylin/linux.git
[media] omap3isp: Use external rate instead of vpcfg
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>
This commit is contained in:
parent
ccddd916dc
commit
c6c01f97b1
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue