2010-01-20 14:57:21

by Alberto Panizzo

[permalink] [raw]
Subject: [PATCH] mx3fb: some debug and initialisation fixes.

Hi all!
I've already sent this patch to the linux-arm-kernel mailing list
but I've not cc'ed you.

http://thread.gmane.org/gmane.linux.ports.arm.kernel/71120

This patch apply to linus .33-rc4 tree, tell me if I have to rebase
it over other repository.

Thanks

patch below..
---------------------------------------------------------------------

Fix the kernel oops when dev_dbg is called with mx3_fbi->txd == NULL

Fix the late initialisation of mx3fb->backlight_level.
If not, in the chain of function started by init_fb_chan(), in __blank() call
sdc_set_brightness(mx3fb, mx3fb->backlight_level) that will shut down
the CONTRAST PWM output.

Signed-off-by: Alberto Panizzo <[email protected]>
Acked-by: Guennadi Liakhovetski <g.liakhovetski <at> gmx.de>
---
drivers/video/mx3fb.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
index 054ef29..772ba3f 100644
--- a/drivers/video/mx3fb.c
+++ b/drivers/video/mx3fb.c
@@ -324,8 +324,11 @@ static void sdc_enable_channel(struct mx3fb_info *mx3_fbi)
unsigned long flags;
dma_cookie_t cookie;

- dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi,
- to_tx_desc(mx3_fbi->txd), to_tx_desc(mx3_fbi->txd)->sg);
+ if (mx3_fbi->txd)
+ dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi,
+ to_tx_desc(mx3_fbi->txd), to_tx_desc(mx3_fbi->txd)->sg);
+ else
+ dev_dbg(mx3fb->dev, "mx3fbi %p, txd = NULL\n", mx3_fbi);

/* This enables the channel */
if (mx3_fbi->cookie < 0) {
@@ -646,6 +649,7 @@ static int sdc_set_global_alpha(struct mx3fb_data *mx3fb, bool enable, uint8_t a

static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value)
{
+ dev_dbg(mx3fb->dev, "%s: value = %d\n", __func__, value);
/* This might be board-specific */
mx3fb_write_reg(mx3fb, 0x03000000UL | value << 16, SDC_PWM_CTRL);
return;
@@ -1486,12 +1490,12 @@ static int mx3fb_probe(struct platform_device *pdev)
goto ersdc0;
}

+ mx3fb->backlight_level = 255;
+
ret = init_fb_chan(mx3fb, to_idmac_chan(chan));
if (ret < 0)
goto eisdc0;

- mx3fb->backlight_level = 255;
-
return 0;

eisdc0:
--
1.6.3.3


2010-01-26 21:47:20

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] mx3fb: some debug and initialisation fixes.

On Wed, 20 Jan 2010 15:57:14 +0100
Alberto Panizzo <[email protected]> wrote:

> Fix the kernel oops when dev_dbg is called with mx3_fbi->txd == NULL
>
> Fix the late initialisation of mx3fb->backlight_level.
> If not, in the chain of function started by init_fb_chan(), in __blank() call
> sdc_set_brightness(mx3fb, mx3fb->backlight_level) that will shut down
> the CONTRAST PWM output.

I guess these aren't the biggest bugs we ever had but I tagged the
patch for backporting into 2.6.32.x anyway - the fixes are prety
obvious.

Your email client replaces tabs with spaces. I fixed that up, but
please do prevent it from happening next time.
Documentation/email-clients.txt has some Evolution tips.

2010-01-27 09:45:29

by Alberto Panizzo

[permalink] [raw]
Subject: Re: [PATCH] mx3fb: some debug and initialisation fixes.

On mar, 2010-01-26 at 13:46 -0800, Andrew Morton wrote:
> On Wed, 20 Jan 2010 15:57:14 +0100
> Alberto Panizzo <[email protected]> wrote:
>
> > Fix the kernel oops when dev_dbg is called with mx3_fbi->txd == NULL
> >
> > Fix the late initialisation of mx3fb->backlight_level.
> > If not, in the chain of function started by init_fb_chan(), in __blank() call
> > sdc_set_brightness(mx3fb, mx3fb->backlight_level) that will shut down
> > the CONTRAST PWM output.
>
> I guess these aren't the biggest bugs we ever had but I tagged the
> patch for backporting into 2.6.32.x anyway - the fixes are prety
> obvious.

Yes, apart of the debug part, the late initialisation of
mx3fb->backlight_level prevent screen switch-on on boot in my development
board. So for me (and for all hardware that make use of the CONTRAST PWM to
control the brightness) is important.

>
> Your email client replaces tabs with spaces. I fixed that up, but
> please do prevent it from happening next time.
> Documentation/email-clients.txt has some Evolution tips.
>

The Evolution client lose tabs in copy/past between mails....
I'll take more care on this in future.

Thanks!

Alberto!