OMAP: DSS2: Add method for querying display dimensions from DSS drivers
Add get_dimensions() to struct omap_dss_driver. Use the call, if supported by the driver, in OMAPFB. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
Родитель
b4de838e9f
Коммит
7a0987bf2c
|
@ -895,8 +895,16 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
|
|||
|
||||
p.display_info.xres = xres;
|
||||
p.display_info.yres = yres;
|
||||
p.display_info.width = 0;
|
||||
p.display_info.height = 0;
|
||||
|
||||
if (display->driver->get_dimensions) {
|
||||
u32 w, h;
|
||||
display->driver->get_dimensions(display, &w, &h);
|
||||
p.display_info.width = w;
|
||||
p.display_info.height = h;
|
||||
} else {
|
||||
p.display_info.width = 0;
|
||||
p.display_info.height = 0;
|
||||
}
|
||||
|
||||
if (copy_to_user((void __user *)arg, &p.display_info,
|
||||
sizeof(p.display_info)))
|
||||
|
|
|
@ -702,8 +702,16 @@ int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
|
|||
var->xres, var->yres,
|
||||
var->xres_virtual, var->yres_virtual);
|
||||
|
||||
var->height = -1;
|
||||
var->width = -1;
|
||||
if (display && display->driver->get_dimensions) {
|
||||
u32 w, h;
|
||||
display->driver->get_dimensions(display, &w, &h);
|
||||
var->width = DIV_ROUND_CLOSEST(w, 1000);
|
||||
var->height = DIV_ROUND_CLOSEST(h, 1000);
|
||||
} else {
|
||||
var->height = -1;
|
||||
var->width = -1;
|
||||
}
|
||||
|
||||
var->grayscale = 0;
|
||||
|
||||
if (display && display->driver->get_timings) {
|
||||
|
|
|
@ -505,6 +505,8 @@ struct omap_dss_driver {
|
|||
|
||||
void (*get_resolution)(struct omap_dss_device *dssdev,
|
||||
u16 *xres, u16 *yres);
|
||||
void (*get_dimensions)(struct omap_dss_device *dssdev,
|
||||
u32 *width, u32 *height);
|
||||
int (*get_recommended_bpp)(struct omap_dss_device *dssdev);
|
||||
|
||||
int (*check_timings)(struct omap_dss_device *dssdev,
|
||||
|
|
Загрузка…
Ссылка в новой задаче