From: Steffen Trumtrar <s.trumtrar@pengutronix.de> To: devicetree-discuss@lists.ozlabs.org Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>, Rob Herring <robherring2@gmail.com>, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Thierry Reding <thierry.reding@avionic-design.de>, Guennady Liakhovetski <g.liakhovetski@gmx.de>, linux-media@vger.kernel.org, Tomi Valkeinen <tomi.valkeinen@ti.com>, Stephen Warren <swarren@wwwdotorg.org>, kernel@pengutronix.de Subject: [PATCH v10 5/6] drm_modes: add videomode helpers Date: Thu, 15 Nov 2012 10:23:56 +0100 [thread overview] Message-ID: <1352971437-29877-6-git-send-email-s.trumtrar@pengutronix.de> (raw) In-Reply-To: <1352971437-29877-1-git-send-email-s.trumtrar@pengutronix.de> Add conversion from videomode to drm_display_mode Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> --- drivers/gpu/drm/drm_modes.c | 37 +++++++++++++++++++++++++++++++++++++ include/drm/drmP.h | 6 ++++++ 2 files changed, 43 insertions(+) diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index 59450f3..23d951a0 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -35,6 +35,7 @@ #include <linux/export.h> #include <drm/drmP.h> #include <drm/drm_crtc.h> +#include <linux/videomode.h> /** * drm_mode_debug_printmodeline - debug print a mode @@ -504,6 +505,42 @@ drm_gtf_mode(struct drm_device *dev, int hdisplay, int vdisplay, int vrefresh, } EXPORT_SYMBOL(drm_gtf_mode); +#if IS_ENABLED(CONFIG_VIDEOMODE) +int drm_display_mode_from_videomode(struct videomode *vm, + struct drm_display_mode *dmode) +{ + dmode->hdisplay = vm->hactive; + dmode->hsync_start = dmode->hdisplay + vm->hfront_porch; + dmode->hsync_end = dmode->hsync_start + vm->hsync_len; + dmode->htotal = dmode->hsync_end + vm->hback_porch; + + dmode->vdisplay = vm->vactive; + dmode->vsync_start = dmode->vdisplay + vm->vfront_porch; + dmode->vsync_end = dmode->vsync_start + vm->vsync_len; + dmode->vtotal = dmode->vsync_end + vm->vback_porch; + + dmode->clock = vm->pixelclock / 1000; + + dmode->flags = 0; + if (vm->hah) + dmode->flags |= DRM_MODE_FLAG_PHSYNC; + else + dmode->flags |= DRM_MODE_FLAG_NHSYNC; + if (vm->vah) + dmode->flags |= DRM_MODE_FLAG_PVSYNC; + else + dmode->flags |= DRM_MODE_FLAG_NVSYNC; + if (vm->interlaced) + dmode->flags |= DRM_MODE_FLAG_INTERLACE; + if (vm->doublescan) + dmode->flags |= DRM_MODE_FLAG_DBLSCAN; + drm_mode_set_name(dmode); + + return 0; +} +EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode); +#endif + /** * drm_mode_set_name - set the name on a mode * @mode: name will be set in this mode diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 3fd8280..341049c 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -56,6 +56,7 @@ #include <linux/cdev.h> #include <linux/mutex.h> #include <linux/slab.h> +#include <linux/videomode.h> #if defined(__alpha__) || defined(__powerpc__) #include <asm/pgtable.h> /* For pte_wrprotect */ #endif @@ -1454,6 +1455,11 @@ extern struct drm_display_mode * drm_mode_create_from_cmdline_mode(struct drm_device *dev, struct drm_cmdline_mode *cmd); +#if IS_ENABLED(CONFIG_VIDEOMODE) +extern int drm_display_mode_from_videomode(struct videomode *vm, + struct drm_display_mode *dmode); +#endif + /* Modesetting support */ extern void drm_vblank_pre_modeset(struct drm_device *dev, int crtc); extern void drm_vblank_post_modeset(struct drm_device *dev, int crtc); -- 1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: Steffen Trumtrar <s.trumtrar@pengutronix.de> To: devicetree-discuss@lists.ozlabs.org Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>, Rob Herring <robherring2@gmail.com>, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Thierry Reding <thierry.reding@avionic-design.de>, Guennady Liakhovetski <g.liakhovetski@gmx.de>, linux-media@vger.kernel.org, Tomi Valkeinen <tomi.valkeinen@ti.com>, Stephen Warren <swarren@wwwdotorg.org>, kernel@pengutronix.de Subject: [PATCH v10 5/6] drm_modes: add videomode helpers Date: Thu, 15 Nov 2012 09:23:56 +0000 [thread overview] Message-ID: <1352971437-29877-6-git-send-email-s.trumtrar@pengutronix.de> (raw) In-Reply-To: <1352971437-29877-1-git-send-email-s.trumtrar@pengutronix.de> Add conversion from videomode to drm_display_mode Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> --- drivers/gpu/drm/drm_modes.c | 37 +++++++++++++++++++++++++++++++++++++ include/drm/drmP.h | 6 ++++++ 2 files changed, 43 insertions(+) diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index 59450f3..23d951a0 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -35,6 +35,7 @@ #include <linux/export.h> #include <drm/drmP.h> #include <drm/drm_crtc.h> +#include <linux/videomode.h> /** * drm_mode_debug_printmodeline - debug print a mode @@ -504,6 +505,42 @@ drm_gtf_mode(struct drm_device *dev, int hdisplay, int vdisplay, int vrefresh, } EXPORT_SYMBOL(drm_gtf_mode); +#if IS_ENABLED(CONFIG_VIDEOMODE) +int drm_display_mode_from_videomode(struct videomode *vm, + struct drm_display_mode *dmode) +{ + dmode->hdisplay = vm->hactive; + dmode->hsync_start = dmode->hdisplay + vm->hfront_porch; + dmode->hsync_end = dmode->hsync_start + vm->hsync_len; + dmode->htotal = dmode->hsync_end + vm->hback_porch; + + dmode->vdisplay = vm->vactive; + dmode->vsync_start = dmode->vdisplay + vm->vfront_porch; + dmode->vsync_end = dmode->vsync_start + vm->vsync_len; + dmode->vtotal = dmode->vsync_end + vm->vback_porch; + + dmode->clock = vm->pixelclock / 1000; + + dmode->flags = 0; + if (vm->hah) + dmode->flags |= DRM_MODE_FLAG_PHSYNC; + else + dmode->flags |= DRM_MODE_FLAG_NHSYNC; + if (vm->vah) + dmode->flags |= DRM_MODE_FLAG_PVSYNC; + else + dmode->flags |= DRM_MODE_FLAG_NVSYNC; + if (vm->interlaced) + dmode->flags |= DRM_MODE_FLAG_INTERLACE; + if (vm->doublescan) + dmode->flags |= DRM_MODE_FLAG_DBLSCAN; + drm_mode_set_name(dmode); + + return 0; +} +EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode); +#endif + /** * drm_mode_set_name - set the name on a mode * @mode: name will be set in this mode diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 3fd8280..341049c 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -56,6 +56,7 @@ #include <linux/cdev.h> #include <linux/mutex.h> #include <linux/slab.h> +#include <linux/videomode.h> #if defined(__alpha__) || defined(__powerpc__) #include <asm/pgtable.h> /* For pte_wrprotect */ #endif @@ -1454,6 +1455,11 @@ extern struct drm_display_mode * drm_mode_create_from_cmdline_mode(struct drm_device *dev, struct drm_cmdline_mode *cmd); +#if IS_ENABLED(CONFIG_VIDEOMODE) +extern int drm_display_mode_from_videomode(struct videomode *vm, + struct drm_display_mode *dmode); +#endif + /* Modesetting support */ extern void drm_vblank_pre_modeset(struct drm_device *dev, int crtc); extern void drm_vblank_post_modeset(struct drm_device *dev, int crtc); -- 1.7.10.4
next prev parent reply other threads:[~2012-11-15 9:23 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-11-15 9:23 [PATCH v10 0/6] of: add display helper Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar 2012-11-15 9:23 ` [PATCH v10 1/6] video: add display_timing and videomode Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar 2012-11-15 15:47 ` Grant Likely 2012-11-15 15:47 ` Grant Likely 2012-11-15 16:00 ` Laurent Pinchart 2012-11-15 16:00 ` Laurent Pinchart 2012-11-15 18:03 ` Grant Likely 2012-11-15 18:59 ` Laurent Pinchart 2012-11-15 19:00 ` Laurent Pinchart 2012-11-16 8:53 ` Steffen Trumtrar 2012-11-16 8:53 ` Steffen Trumtrar 2012-11-15 9:23 ` [PATCH v10 2/6] video: add of helper for videomode Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar 2012-11-15 9:23 ` [PATCH v10 3/6] fbmon: add videomode helpers Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar 2012-11-15 9:23 ` [PATCH v10 4/6] fbmon: add of_videomode helpers Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar [this message] 2012-11-15 9:23 ` [PATCH v10 5/6] drm_modes: add videomode helpers Steffen Trumtrar 2012-11-15 9:23 ` [PATCH v10 6/6] drm_modes: add of_videomode helpers Steffen Trumtrar 2012-11-15 9:23 ` Steffen Trumtrar [not found] ` <1352971437-29877-7-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2012-11-15 9:58 ` Thierry Reding 2012-11-15 9:58 ` Thierry Reding 2012-11-15 9:58 ` Thierry Reding 2012-11-15 10:01 ` Steffen Trumtrar 2012-11-15 10:01 ` Steffen Trumtrar 2012-11-15 10:24 ` [PATCH v10 0/6] of: add display helper Thierry Reding 2012-11-15 10:24 ` Thierry Reding [not found] ` <20121115102411.GA17272-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org> 2012-11-15 10:27 ` Thierry Reding 2012-11-15 10:27 ` Thierry Reding 2012-11-15 10:27 ` Thierry Reding 2012-11-15 10:28 ` Steffen Trumtrar 2012-11-15 10:28 ` Steffen Trumtrar
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=1352971437-29877-6-git-send-email-s.trumtrar@pengutronix.de \ --to=s.trumtrar@pengutronix.de \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=g.liakhovetski@gmx.de \ --cc=kernel@pengutronix.de \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-fbdev@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=robherring2@gmail.com \ --cc=swarren@wwwdotorg.org \ --cc=thierry.reding@avionic-design.de \ --cc=tomi.valkeinen@ti.com \ /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: linkBe 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.