Re: [PATCHv16 0/7] of: add display helper
From: Marek Vasut <marex@denx.de>
Date: 2013-01-09 19:56:25
Also in:
dri-devel, linux-devicetree, linux-media
Dear Steffen Trumtrar,
Hi! On Wed, Jan 09, 2013 at 08:12:01PM +0100, Marek Vasut wrote:quoted
Dear Steffen Trumtrar, I tested this on 3.8-rc1 (next 20130103) with the imx drm driver. After adding the following piece of code (quick hack), this works just fine. Thanks!diff --git a/drivers/staging/imx-drm/parallel-display.cb/drivers/staging/imx- drm/parallel-display.c index a8064fc..e45002a 100644--- a/drivers/staging/imx-drm/parallel-display.c +++ b/drivers/staging/imx-drm/parallel-display.c@@ -57,6 +57,7 @@ static void imx_pd_connector_destroy(structdrm_connector *connector) static int imx_pd_connector_get_modes(struct drm_connector *connector) { struct imx_parallel_display *imxpd = con_to_imxpd(connector); + struct device_node *np = imxpd->dev->of_node; int num_modes = 0; if (imxpd->edid) {@@ -72,6 +73,15 @@ static int imx_pd_connector_get_modes(structdrm_connector *connector) num_modes++; } + 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++; + } + return num_modes; }Nice! I haven't tried the parallel display, but I think Philipp Zabel might already have a patch for it. If not, I will definitly keep your patch in my topic branch.
Works like charm here. Make sure to adjust the patch and check for the return value of of_get_drm_display_mode(np, &imxpd->mode, 0); call, that's probably the only issue that needs fixing in that hack. Checking if np != NULL might not hurt either. I can roll you a real patch if it helps. Best regards, Marek Vasut