소스 검색

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 년 전
부모
커밋
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;
 	}