[U-Boot] [PATCH v2 2/2] video: bcm2835: respect the pitch value

Stephen Warren swarren at wwwdotorg.org
Fri Oct 25 00:13:34 CEST 2013


On 10/24/2013 07:00 PM, Andre Heider wrote:
> Depending on the firmware's video options [1] the active SDTV or
> HDTV mode can yield a framebuffer with noncontiguous horizontal lines,
> giving a messed up display, for both, u-boot and the loaded kernel.
> 
> Fix this by setting lcd_line_length to the pitch value of the configured
> framebuffer.

This sounds like the right concept.

> diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c

>  void lcd_enable(void)
>  {
> +	if (bcm2835_pitch)

Why make this conditional? Does the firmware sometimes not return the
correct pitch and/or does lcd_enable() get called before lcd_ctrl_init()
so the global hasn't been set up? Either of those seem like nasty bugs
that should be fixed...

> +		lcd_line_length = bcm2835_pitch;

Why set lcd_line_length at a different time than the mailbox message is
executed? Can't lcd_line_length be set at the end of lcd_ctrl_init(),
thus avoiding the global variable bcm2835_pitch?

>  }



More information about the U-Boot mailing list