[RFC] drm/fb: Propagate physical display dimensions to fbdev

David Lechner david at lechnology.com
Sun Jul 30 21:11:38 UTC 2017


fbdev has a place for the physical width and height of a display. I would
like to have this information available to userspace. This patch works for me,
but I have a strong suspicion that this is not the "right way".

Any suggestions on how to get the proper struct drm_display_info here
rather than assuming the first connector one is valid? I don't see an obvious
way to do this.
---
 drivers/gpu/drm/drm_fb_helper.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 574af01..ff422da 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1768,8 +1768,14 @@ void drm_fb_helper_fill_var(struct fb_info *info, struct drm_fb_helper *fb_helpe
 	info->var.xoffset = 0;
 	info->var.yoffset = 0;
 	info->var.activate = FB_ACTIVATE_NOW;
-	info->var.height = -1;
-	info->var.width = -1;
+
+	if (fb_helper->connector_count) {
+		info->var.height = fb_helper->connector_info[0]->connector->display_info.width_mm;
+		info->var.width = fb_helper->connector_info[0]->connector->display_info.height_mm;
+	} else {
+		info->var.height = -1;
+		info->var.width = -1;
+	}
 
 	switch (fb->format->depth) {
 	case 8:
-- 
2.7.4



More information about the dri-devel mailing list