From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: dri-devel@lists.freedesktop.org
Cc: David Lechner <david@lechnology.com>,
linux-kernel@vger.kernel.org,
Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH v5] drm/fb-helper: pass physical dimensions to fbdev
Date: Sat, 05 Aug 2017 00:53:35 +0300 [thread overview]
Message-ID: <5131811.ZCEmYft6Yc@avalon> (raw)
In-Reply-To: <1501863924-7154-1-git-send-email-david@lechnology.com>
Hi David,
Thank you for the patch.
On Friday 04 Aug 2017 11:25:24 David Lechner wrote:
> The fbdev subsystem has a place for physical dimensions (width and height
> in mm) that is readable by userspace. Since DRM also knows these
> dimensions, pass this information to the fbdev device.
I'm curious, what's your use case for this ? What userspace software do you
use that is still based on fbdev and needs screen dimensions ?
> This has to be done in drm_setup_crtcs_fb() instead of drm_setup_crtcs()
> because fb_helper->fbdev may be NULL in drm_setup_crtcs().
> ---
>
> v1 changes (from RFC):
> * Use loop to get info from first connected connector instead of just the
> first connector.
>
> v2 changes:
> * Update width in height in drm_setup_crtcs() also to handle hotplug events.
>
> v3 changes:
> * Add new patch to handle post-fb allocation crcts setup.
> * Use new drm_setup_crtcs_fb() function from new patch to avoid duplication
> of code.
>
> v4 changes:
> * Drop patch "drm/fb-helper: add new drm_setup_crtcs_fb() function" since it
> has been applied already.
> * Add mutex lock.
>
> v5 changes:
> * Fix height = width mismatch.
>
> drivers/gpu/drm/drm_fb_helper.c | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_fb_helper.c
> b/drivers/gpu/drm/drm_fb_helper.c index 4447a28..24787d6 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -1882,8 +1882,6 @@ 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;
>
> switch (fb->format->depth) {
> case 8:
> @@ -2435,11 +2433,26 @@ static void drm_setup_crtcs(struct drm_fb_helper
> *fb_helper, */
> static void drm_setup_crtcs_fb(struct drm_fb_helper *fb_helper)
> {
> + struct fb_info *info = fb_helper->fbdev;
> int i;
>
> for (i = 0; i < fb_helper->crtc_count; i++)
> if (fb_helper->crtc_info[i].mode_set.num_connectors)
> fb_helper->crtc_info[i].mode_set.fb = fb_helper-
>fb;
> +
> + mutex_lock(&fb_helper->dev->mode_config.mutex);
> + drm_fb_helper_for_each_connector(fb_helper, i) {
> + struct drm_connector *connector =
> + fb_helper->connector_info[i]-
>connector;
> +
> + /* use first connected connector for the physical dimensions
*/
> + if (connector->status == connector_status_connected) {
> + info->var.width = connector->display_info.width_mm;
> + info->var.height = connector-
>display_info.height_mm;
> + break;
> + }
> + }
> + mutex_unlock(&fb_helper->dev->mode_config.mutex);
> }
>
> /* Note: Drops fb_helper->lock before returning. */
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2017-08-04 21:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-04 16:25 [PATCH v5] drm/fb-helper: pass physical dimensions to fbdev David Lechner
2017-08-04 21:53 ` Laurent Pinchart [this message]
2017-08-05 15:57 ` David Lechner
2017-08-05 15:57 ` David Lechner
2017-08-07 9:43 ` Daniel Vetter
2017-08-07 9:43 ` Daniel Vetter
2017-08-07 13:40 ` David Lechner
2017-08-07 13:40 ` David Lechner
2017-08-07 15:01 ` Daniel Vetter
2017-08-07 15:01 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5131811.ZCEmYft6Yc@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=daniel.vetter@intel.com \
--cc=david@lechnology.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.