fbdev: sh_mobile_lcdcfb: fix bug in reconfig()
The function sh_mobile_fb_reconfig() contained a bug, which caused the line_length to be set wrongly, if a mode with a different X-resolution than the default one was chosen. This caused 1080p24 mode to not work on AP4EVB. Additionally the notifier chain was also called with the wrong mode. This patch fixes this, by using the X-resolution of the new mode instead of the old one to calculate line length and hands over the correct mode to the notifier chain. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
6800e4c0ea
commit
cc267ec5df
|
@ -860,7 +860,7 @@ static void sh_mobile_fb_reconfig(struct fb_info *info)
|
||||||
/* Couldn't reconfigure, hopefully, can continue as before */
|
/* Couldn't reconfigure, hopefully, can continue as before */
|
||||||
return;
|
return;
|
||||||
|
|
||||||
info->fix.line_length = mode2.xres * (ch->cfg.bpp / 8);
|
info->fix.line_length = mode1.xres * (ch->cfg.bpp / 8);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* fb_set_var() calls the notifier change internally, only if
|
* fb_set_var() calls the notifier change internally, only if
|
||||||
|
@ -868,7 +868,7 @@ static void sh_mobile_fb_reconfig(struct fb_info *info)
|
||||||
* user event, we have to call the chain ourselves.
|
* user event, we have to call the chain ourselves.
|
||||||
*/
|
*/
|
||||||
event.info = info;
|
event.info = info;
|
||||||
event.data = &mode2;
|
event.data = &mode1;
|
||||||
fb_notifier_call_chain(evnt, &event);
|
fb_notifier_call_chain(evnt, &event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue