Lines Matching refs:aewb
25 static void h3a_aewb_setup_regs(struct ispstat *aewb, void *priv) in h3a_aewb_setup_regs() argument
34 if (aewb->state == ISPSTAT_DISABLED) in h3a_aewb_setup_regs()
37 isp_reg_writel(aewb->isp, aewb->active_buf->dma_addr, in h3a_aewb_setup_regs()
40 if (!aewb->update) in h3a_aewb_setup_regs()
63 isp_reg_writel(aewb->isp, win1, OMAP3_ISP_IOMEM_H3A, ISPH3A_AEWWIN1); in h3a_aewb_setup_regs()
64 isp_reg_writel(aewb->isp, start, OMAP3_ISP_IOMEM_H3A, in h3a_aewb_setup_regs()
66 isp_reg_writel(aewb->isp, blk, OMAP3_ISP_IOMEM_H3A, ISPH3A_AEWINBLK); in h3a_aewb_setup_regs()
67 isp_reg_writel(aewb->isp, subwin, OMAP3_ISP_IOMEM_H3A, in h3a_aewb_setup_regs()
69 isp_reg_clr_set(aewb->isp, OMAP3_ISP_IOMEM_H3A, ISPH3A_PCR, in h3a_aewb_setup_regs()
72 aewb->update = 0; in h3a_aewb_setup_regs()
73 aewb->config_counter += aewb->inc_config; in h3a_aewb_setup_regs()
74 aewb->inc_config = 0; in h3a_aewb_setup_regs()
75 aewb->buf_size = conf->buf_size; in h3a_aewb_setup_regs()
78 static void h3a_aewb_enable(struct ispstat *aewb, int enable) in h3a_aewb_enable() argument
81 isp_reg_set(aewb->isp, OMAP3_ISP_IOMEM_H3A, ISPH3A_PCR, in h3a_aewb_enable()
83 omap3isp_subclk_enable(aewb->isp, OMAP3_ISP_SUBCLK_AEWB); in h3a_aewb_enable()
85 isp_reg_clr(aewb->isp, OMAP3_ISP_IOMEM_H3A, ISPH3A_PCR, in h3a_aewb_enable()
87 omap3isp_subclk_disable(aewb->isp, OMAP3_ISP_SUBCLK_AEWB); in h3a_aewb_enable()
91 static int h3a_aewb_busy(struct ispstat *aewb) in h3a_aewb_busy() argument
93 return isp_reg_readl(aewb->isp, OMAP3_ISP_IOMEM_H3A, ISPH3A_PCR) in h3a_aewb_busy()
112 static int h3a_aewb_validate_params(struct ispstat *aewb, void *new_conf) in h3a_aewb_validate_params() argument
179 static void h3a_aewb_set_params(struct ispstat *aewb, void *new_conf) in h3a_aewb_set_params() argument
182 struct omap3isp_h3a_aewb_config *cur_cfg = aewb->priv; in h3a_aewb_set_params()
234 if (update || !aewb->configured) { in h3a_aewb_set_params()
235 aewb->inc_config++; in h3a_aewb_set_params()
236 aewb->update = 1; in h3a_aewb_set_params()
289 struct ispstat *aewb = &isp->isp_aewb; in omap3isp_h3a_aewb_init() local
298 aewb->ops = &h3a_aewb_ops; in omap3isp_h3a_aewb_init()
299 aewb->priv = aewb_cfg; in omap3isp_h3a_aewb_init()
300 aewb->event_type = V4L2_EVENT_OMAP3ISP_AEWB; in omap3isp_h3a_aewb_init()
301 aewb->isp = isp; in omap3isp_h3a_aewb_init()
306 dev_err(aewb->isp->dev, in omap3isp_h3a_aewb_init()
323 if (h3a_aewb_validate_params(aewb, aewb_recover_cfg)) { in omap3isp_h3a_aewb_init()
324 dev_err(aewb->isp->dev, in omap3isp_h3a_aewb_init()
331 aewb->recover_priv = aewb_recover_cfg; in omap3isp_h3a_aewb_init()
333 ret = omap3isp_stat_init(aewb, "AEWB", &h3a_aewb_subdev_ops); in omap3isp_h3a_aewb_init()