hi, Sascha, 2011/2/18 Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>: > Hi Jason, > > On Fri, Feb 18, 2011 at 05:22:09PM +0800, Jason Chen wrote: >> hi, Sasha, >> >> > + if (var->vmode & FB_VMODE_ODD_FLD_FIRST) /* PAL */ >> > + sig_cfg.odd_field_first = 1; >> > + if (var->sync & FB_SYNC_EXT) >> > + sig_cfg.ext_clk = 1; >> > + if (var->sync & FB_SYNC_HOR_HIGH_ACT) >> > + sig_cfg.Hsync_pol = 1; >> Please remove FB_SYNC_EXT support. > > No problem, can do. But why? Is it nonfunctional in the hardware > or is it that the current code just misses more pieces to support > this? > This flag represents external sync, some application will not check this flag when they reset fb var, for example, X server fb driver will ignore it, if so, the ipu external clock can not be set correctly. I think ipu should decide external clock usage by other method. The latest method in freesacle mainline is decide it automatically -- if internal clock can not fit target clock rate well, switch it to external. >> >> +static void imx_ipu_fb_disable_overlay(struct fb_info *ovl) >> +{ >> + struct imx_ipu_fb_info *mxc_ovl = ovl->par; >> + >> + if (!mxc_ovl->enabled) >> + return; >> + >> + ipu_dp_disable_fg(mxc_ovl->dp); >> + ipu_wait_for_interrupt(451, 100); >> + ipu_idmac_disable_channel(mxc_ovl->ipu_ch); >> + ipu_dmfc_disable_channel(mxc_ovl->dmfc); >> + mxc_ovl->enabled = 0; >> +} >> Had better has a definition of ipu irq 451. > > Ok. > > Sascha > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html