[V2 1/7] video: mmp: rb swap setting update for new LCD driver
Daniel Drake
dsd at laptop.org
Fri Jun 21 12:57:13 EDT 2013
On Mon, Jun 10, 2013 at 9:52 AM, Jett.Zhou <jtzhou at marvell.com> wrote:
> From: Guoqing Li <ligq at marvell.com>
>
> 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
More information about the linux-arm-kernel
mailing list