Просмотр исходного кода

drm/omap: add support for physical size hints from display drivers

While physical size information is automatically parsed for EDID
based displays, we need to provide it manually for displays providing
one fixed mode.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Sebastian Reichel 8 лет назад
Родитель
Сommit
b070d6e84a
2 измененных файлов с 8 добавлено и 0 удалено
  1. 2 0
      drivers/gpu/drm/omapdrm/dss/omapdss.h
  2. 6 0
      drivers/gpu/drm/omapdrm/omap_connector.c

+ 2 - 0
drivers/gpu/drm/omapdrm/dss/omapdss.h

@@ -563,6 +563,8 @@ struct omap_dss_driver {
 			    struct videomode *vm);
 	void (*get_timings)(struct omap_dss_device *dssdev,
 			    struct videomode *vm);
+	void (*get_size)(struct omap_dss_device *dssdev,
+			 unsigned int *width, unsigned int *height);
 
 	int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
 	u32 (*get_wss)(struct omap_dss_device *dssdev);

+ 6 - 0
drivers/gpu/drm/omapdrm/omap_connector.c

@@ -149,6 +149,12 @@ static int omap_connector_get_modes(struct drm_connector *connector)
 		drm_mode_set_name(mode);
 		drm_mode_probed_add(connector, mode);
 
+		if (dssdrv->get_size) {
+			dssdrv->get_size(dssdev,
+					 &connector->display_info.width_mm,
+					 &connector->display_info.height_mm);
+		}
+
 		n = 1;
 	}