On Mon, Jun 10, 2013 at 9:52 AM, Jett.Zhou <jtzhou@xxxxxxxxxxx> wrote: > From: Guoqing Li <ligq@xxxxxxxxxxx> > > We could set rb swap in two modules: DMA controler and interface > output after blending. > This patch move the panel rbswap requirement setting in later module. link_config originates from the platform's path config. link_config is undocumented and this patch also changes its meaning. Previously, bit 0 triggered rbswap, and this behaviour is relied upon by arch/arm/mach-mmp/ttc_dkb.c Now bits 27:24 of link_config are used to enable or disable rbswap, and link_config bit 0 is ignored. According to the specs for the panel path register, valid values for these new bits are 0 (no swap) and 1 (swap). ttc_dkb has not been updated in this patch series for this new behaviour. I don't understand why rbswap is set to 1 in fmt_to_reg for certain RGB formats. The patch description suggests that the rb swapping can either be set in fmt_to_reg context (to be written into DMA controller) *or* in the interface output. If we are now relying on the interface output control to do RB swapping when appropriate, why are there still cases when we ask the DMA controller to do the same thing? I also do not fully understand the requirement for RB swapping. I do understand that it changes pixel format from RGB to BGR. What is the point? I can imagine that some panels may require such a pixel format, however in that case, this configuration should be part of the panel configuration, not part of the path configuration as it currently is. Daniel -- 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