Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754587AbdG3VLu (ORCPT ); Sun, 30 Jul 2017 17:11:50 -0400 Received: from vern.gendns.com ([206.190.152.46]:42887 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754236AbdG3VLs (ORCPT ); Sun, 30 Jul 2017 17:11:48 -0400 From: David Lechner To: dri-devel@lists.freedesktop.org Cc: David Lechner , linux-kernel@vger.kernel.org Subject: [RFC] drm/fb: Propagate physical display dimensions to fbdev Date: Sun, 30 Jul 2017 16:11:38 -0500 Message-Id: <1501449098-26148-1-git-send-email-david@lechnology.com> X-Mailer: git-send-email 2.7.4 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1242 Lines: 34 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