[PATCH 3/7] Add i.MX5 framebuffer driver

Jason Chen weitway at gmail.com
Fri Feb 18 21:22:08 EST 2011


hi, Sascha,

2011/2/18 Sascha Hauer <s.hauer at pengutronix.de>:
> 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 |
>



More information about the linux-arm-kernel mailing list