Dear Steffen Trumtrar,
Hi!
On Wed, Jan 09, 2013 at 08:12:01PM +0100, Marek Vasut wrote:
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.c b/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(struct drm_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(struct drm_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