From: Denis Carikli <denis@eukrea.com>
To: Sascha Hauer <kernel@pengutronix.de>
Cc: "Fabio Estevam" <fabio.estevam@freescale.com>,
"David Airlie" <airlied@linux.ie>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
driverdev-devel@linuxdriverproject.org,
dri-devel@lists.freedesktop.org,
"Denis Carikli" <denis@eukrea.com>,
"Eric Bénard" <eric@eukrea.com>,
linux-arm-kernel@lists.infradead.org
Subject: [Patch v2][ 11/37] staging: imx-drm: use of_get_display_timings.
Date: Thu, 17 Oct 2013 17:02:09 +0200 [thread overview]
Message-ID: <1382022155-21954-12-git-send-email-denis@eukrea.com> (raw)
In-Reply-To: <1382022155-21954-1-git-send-email-denis@eukrea.com>
The comment on top of of_get_drm_display_mode says:
* This function is expensive and should only be used, if only one mode is to be
* read from DT. To get multiple modes start with of_get_display_timings and
* work with that instead.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: driverdev-devel@linuxdriverproject.org
Cc: David Airlie <airlied@linux.ie>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Eric Bénard <eric@eukrea.com>
Signed-off-by: Denis Carikli <denis@eukrea.com>
---
drivers/staging/imx-drm/parallel-display.c | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c
index 24aa9be..c04b017 100644
--- a/drivers/staging/imx-drm/parallel-display.c
+++ b/drivers/staging/imx-drm/parallel-display.c
@@ -23,6 +23,8 @@
#include <drm/drm_fb_helper.h>
#include <drm/drm_crtc_helper.h>
#include <linux/videodev2.h>
+#include <video/videomode.h>
+#include <video/of_display_timing.h>
#include "imx-drm.h"
@@ -74,11 +76,25 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector)
if (np) {
struct drm_display_mode *mode = drm_mode_create(connector->dev);
- of_get_drm_display_mode(np, &imxpd->mode, 0);
- drm_mode_copy(mode, &imxpd->mode);
- mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
- drm_mode_probed_add(connector, mode);
- num_modes++;
+ struct display_timings *timings;
+ struct videomode vm;
+ int np_num_mode;
+
+ timings = of_get_display_timings(np);
+ if (!timings)
+ return num_modes;
+ for (np_num_mode = 0; np_num_mode < timings->num_timings;
+ np_num_mode++, num_modes++) {
+ if (videomode_from_timings(timings, &vm, np_num_mode))
+ break;
+ drm_display_mode_from_videomode(&vm, mode);
+ mode->type = DRM_MODE_TYPE_DRIVER;
+ if (timings->native_mode == np_num_mode)
+ mode->type |= DRM_MODE_TYPE_PREFERRED;
+
+ drm_mode_set_name(mode);
+ drm_mode_probed_add(connector, mode);
+ }
}
return num_modes;
--
1.7.9.5
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
next prev parent reply other threads:[~2013-10-17 15:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1382022155-21954-1-git-send-email-denis@eukrea.com>
2013-10-17 15:02 ` [Patch v2][ 03/37] drm: Add the lacking DRM_MODE_FLAG_* for matching the DISPLAY_FLAGS_* Denis Carikli
2013-10-18 7:46 ` Ville Syrjälä
2013-10-23 14:48 ` Denis Carikli
2013-10-23 15:38 ` Ville Syrjälä
2013-10-23 15:47 ` Matt Sealey
2013-10-17 15:02 ` [Patch v2][ 04/37] [media] v4l2: add new V4L2_PIX_FMT_RGB666 pixel format Denis Carikli
2013-10-31 13:18 ` Mauro Carvalho Chehab
2013-10-31 14:06 ` Laurent Pinchart
2013-10-17 15:02 ` Denis Carikli [this message]
2013-10-18 6:46 ` [Patch v2][ 11/37] staging: imx-drm: use of_get_display_timings Sascha Hauer
2013-10-17 15:02 ` [Patch v2][ 12/37] staging: imx-drm: ipuv3-crtc: don't harcode some mode flags Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 13/37] staging: imx-drm: Add RGB666 support for parallel display Denis Carikli
2013-10-31 13:18 ` Mauro Carvalho Chehab
2013-10-17 15:02 ` [Patch v2][ 14/37] staging: imx-drm: parallel display: add regulator support Denis Carikli
2013-10-17 16:47 ` Dan Carpenter
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=1382022155-21954-12-git-send-email-denis@eukrea.com \
--to=denis@eukrea.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=driverdev-devel@linuxdriverproject.org \
--cc=eric@eukrea.com \
--cc=fabio.estevam@freescale.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).