From: denis@eukrea.com (Denis Carikli)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 14/22] staging: imx-drm: use of_get_display_timings.
Date: Mon, 15 Jul 2013 16:56:59 +0200 [thread overview]
Message-ID: <1373900227-341-15-git-send-email-denis@eukrea.com> (raw)
In-Reply-To: <1373900227-341-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.
Signed-off-by: Denis Carikli <denis@eukrea.com>
---
drivers/staging/imx-drm/parallel-display.c | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c
index cea9f14..fee9b10 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,23 @@ 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);
+ 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
next prev parent reply other threads:[~2013-07-15 14:56 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-15 14:56 Devicetree support for Eukrea cpuimx{25,35,51} Denis Carikli
2013-07-15 14:56 ` [PATCH 01/22] ARM i.MX25: devicetree: add compatible property for imxfb support Denis Carikli
2013-07-15 21:16 ` Sascha Hauer
2013-07-15 21:22 ` Fabio Estevam
2013-07-15 14:56 ` [PATCH 02/22] arm/dts: imx25.dtsi: Add an alias for the LCD controller Denis Carikli
2013-07-15 14:56 ` [PATCH 03/22] pinctrl: pinctrl-imx: add imx25 pinctrl driver Denis Carikli
2013-07-16 7:46 ` Shawn Guo
2013-09-05 13:04 ` Fabio Estevam
2013-09-05 13:10 ` Eric Bénard
2013-07-15 14:56 ` [PATCH 04/22] arm/dts: imx25.dtsi: Add some pinmux pins Denis Carikli
2013-07-16 7:49 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 05/22] ARM: i.MX25 DT: use auxdata to attach imxfb_platform_data Denis Carikli
2013-07-15 21:19 ` Sascha Hauer
2013-07-15 14:56 ` [PATCH 06/22] arm/dts: i.MX25: Add ssi clocks and DMA events Denis Carikli
2013-07-15 21:20 ` Sascha Hauer
2013-07-16 8:17 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 07/22] arm/dts: i.MX25: Add sdma script path Denis Carikli
2013-07-16 8:37 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 08/22] ASoC: eukrea-tlv320: Add DT support Denis Carikli
2013-07-16 8:40 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 09/22] arm/dts: imx25.dtsi: Add an alias for the Audio Multiplexer Denis Carikli
2013-07-15 14:56 ` [PATCH 10/22] arm/dts: Add support for the cpuimx25 board from Eukrea and its baseboard Denis Carikli
2013-07-15 21:26 ` Sascha Hauer
2013-07-16 8:47 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 11/22] arm/dts: imx51.dtsi: i2c1 : Add pinctrl configuration Denis Carikli
2013-07-15 14:56 ` [PATCH 12/22] video: backlight: Add GPIO Backlight driver Denis Carikli
2013-07-16 8:49 ` Shawn Guo
2013-07-15 14:56 ` [PATCH 13/22] lcd: Add GPIO LCD driver Denis Carikli
2013-07-15 15:30 ` Alexander Shiyan
2013-07-15 16:14 ` Fabio Estevam
2013-07-15 14:56 ` Denis Carikli [this message]
2013-07-15 14:57 ` [PATCH 15/22] drm: Add the lacking DRM_MODE_FLAG_* for matching the DISPLAY_FLAGS_* Denis Carikli
2013-07-15 21:30 ` Sascha Hauer
2013-07-15 14:57 ` [PATCH 16/22] staging: drm/imx: ipuv3-crtc: don't harcode some mode flags Denis Carikli
2013-07-15 14:57 ` [PATCH 17/22] [media] v4l2: add new V4L2_PIX_FMT_RGB666 pixel format Denis Carikli
2013-07-15 14:57 ` [PATCH 18/22] staging: video: imx: Add RGB666 support for parallel display Denis Carikli
2013-07-15 18:27 ` Fabio Estevam
2013-07-15 14:57 ` [PATCH 19/22] Input: tsc2007: Add device tree support Denis Carikli
2013-07-15 16:08 ` Fabio Estevam
2013-07-15 21:43 ` Sascha Hauer
2013-07-15 14:57 ` [PATCH 20/22] arm/dts: Add support for the cpuimx51 board from Eukrea and its baseboard Denis Carikli
2013-07-15 18:10 ` Fabio Estevam
2013-07-15 14:57 ` [PATCH 21/22] DT: Add basic support for imx35-based devices Denis Carikli
2013-07-15 15:19 ` Alexander Shiyan
2013-07-15 21:50 ` Sascha Hauer
2013-07-15 14:57 ` [PATCH 22/22] arm/dts: Add support for the cpuimx35 board from Eukrea and its baseboard Denis Carikli
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=1373900227-341-15-git-send-email-denis@eukrea.com \
--to=denis@eukrea.com \
--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).