summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2019-07-25 16:23:56 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-04-15 01:24:40 +0200
commit70415844bc8fc71017781b650470ebfaa06d55e0 (patch)
treec1dc1aec1229f51f6e4817804d16f455df5a97b7 /drivers/video
parent493fe31555a92fa048ad0edf3f0431591fc21118 (diff)
video: fbdev: mxsfb: Fix flags not being applied
If one used display timings in devicetree the display_flags like pixelclk-active have not been applied. This commit fixes that and puts some nice debug messages so one can see from where those timings are applied. This fixes commit f397f60efbb24c2906cd95f443607b2642b49b24 "video: fbdev: mxsfb: allow setting display timings via kernel command line" Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/mxsfb.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/video/fbdev/mxsfb.c b/drivers/video/fbdev/mxsfb.c
index 927a85577a55..f8b227d526c1 100644
--- a/drivers/video/fbdev/mxsfb.c
+++ b/drivers/video/fbdev/mxsfb.c
@@ -1439,7 +1439,7 @@ static int mxsfb_init_fbinfo_dt(struct mxsfb_info *host)
fb_vm.sync |= FB_SYNC_CLK_LAT_FALL;
if (i == timings->native_mode) {
- fb_videomode_from_videomode(&vm, &native_mode);
+ native_mode = fb_vm;
fb_videomode_to_var(&fb_info->var, &fb_vm);
}
@@ -1453,6 +1453,27 @@ static int mxsfb_init_fbinfo_dt(struct mxsfb_info *host)
/* save the sync value getting from dtb */
host->sync = fb_info->var.sync;
+ switch (retval) {
+ case 0:
+ dev_err(dev, "fb_find_mode can't find a "
+ "suitable timing\n");
+ break;
+ case 1:
+ dev_info(dev, "Using timings from kernel parameters\n");
+ break;
+ case 2:
+ dev_info(dev, "Using timings from kernel parameters "
+ "and ignoring refresh rate\n");
+ break;
+ case 3:
+ dev_info(dev, "Using timings from devicetree\n");
+ break;
+ case 4:
+ dev_warn(dev, "Falling back to any valid timing\n");
+ default:
+ break;
+ }
+
put_display_node:
if (timings)
kfree(timings);