diff options
author | Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> | 2017-02-06 11:24:00 +0530 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2017-04-04 13:47:40 +0200 |
commit | 0f1346a7e3fccdcf4ddd468ef94495c9114194d0 (patch) | |
tree | fa4bf669937443ed291852a55dbe3364e003f128 /arch | |
parent | 5a8fe7e6538b6f76d9bc057e5fd59f79a7d59964 (diff) |
tegra: video: use modedb to specify frame buffer resolution
Allow to specify framebuffer videomode using kernel command line
parameters. NVIDIAs binary X driver later on picks up those settings
and start X with current mode settings, if no EDID data are available.
Reused some of the implementation from Stefan's work for modedb
support[1] on Tegra20/30
[1] http://git.toradex.com/cgit/linux-toradex.git/commit/?h=tegra-next&id=1d3625dd9903bcc59e2df56836565ebb682948c1
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/dc.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/mach/dc.h b/arch/arm/mach-tegra/include/mach/dc.h index 00ae4cb2c9f8..c700644d7168 100644 --- a/arch/arm/mach-tegra/include/mach/dc.h +++ b/arch/arm/mach-tegra/include/mach/dc.h @@ -563,6 +563,8 @@ struct tegra_dc_out { unsigned depth; unsigned dither; + const char *default_mode; + struct tegra_dc_mode *modes; int n_modes; @@ -837,6 +839,8 @@ int tegra_dc_config_frame_end_intr(struct tegra_dc *dc, bool enable); bool tegra_dc_is_within_n_vsync(struct tegra_dc *dc, s64 ts); bool tegra_dc_does_vsync_separate(struct tegra_dc *dc, s64 new_ts, s64 old_ts); +int tegra_dc_var_to_dc_mode(struct tegra_dc *dc, struct fb_var_screeninfo *var, + struct tegra_dc_mode *mode); int tegra_dc_set_mode(struct tegra_dc *dc, const struct tegra_dc_mode *mode); struct fb_videomode; int tegra_dc_to_fb_videomode(struct fb_videomode *fbmode, @@ -889,6 +893,9 @@ int tegra_dc_set_flip_callback(void (*callback)(void)); int tegra_dc_unset_flip_callback(void); int tegra_dc_get_panel_sync_rate(void); +int tegra_fb_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, + const char* option, unsigned int default_bpp); + int tegra_dc_get_out(const struct tegra_dc *dc); struct device_node *tegra_panel_get_dt_node( |