drm: imx: multi-display support questions

Gary Bisson gary.bisson at boundarydevices.com
Tue May 26 07:47:03 PDT 2015


Hi all,

After a few days of experimentation on multi-display support on i.MX6, I
have some questions regarding the status of the imx-drm driver.

Here is description of my testing setup:
- Nitrogen6x (a SabreLite would work the same)
- Mainline kernel 4.1-rc2 + a few patches for display support (some are
  pending, other are scheduled for 4.2)
https://patchwork.kernel.org/project/linux-arm-kernel/list/?submitter=132811
https://patchwork.kernel.org/patch/6439221/
https://patchwork.kernel.org/patch/6439231/
https://patchwork.kernel.org/patch/6212451/
- Available displays:
  - 1 LVDS 10" Hannstar HSD100PXN1 display
  - 1 LCD 7" Okaya display
  - 1 HDMI 1080p TV
- U-boot script used to boot the mainline kernel properly:
https://github.com/boundarydevices/u-boot-imx6/blob/staging/board/boundary/nitrogen6x/6x_bootscript-mainline.txt
- Basic Buildroot filesystem with libdrm and its test binaries

First of all, using the standard imx_v6_v7_defconfig, everything runs
fine with a single-display setup, no matter if it is using LVDS, RGB or
HDMI interface.

But in multi-display setup, the first observation is that
CONFIG_DRM_IMX_FB_HELPER seems to be problematic. When this option is
set, only one display can be used either using the /dev/fb0 or 'modetest
-s' from libdrm test binaries. As soon as the option is removed, every
display can be used properly with the following commands:
# modetest -M imx-drm -s 32:800x480
# modetest -M imx-drm -s 34:1920x1080
# modetest -M imx-drm -s 36:1024x768

Is this option only meant for single-display setup? Has it been tested
in multi-display?
It seems limited to fb0 creation, would it be possible to make the
driver create as many fbs as the number of monitors?

Also, when trying to display different patterns on each and every
display at once, I have been using the example provided by David
Herrmann:
https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset.c
This shows a clocking issue when using both DRM_IMX_PARALLEL_DISPLAY and
DRM_IMX_LDB at the same time. Although the driver is smart enough to
connect ipu1_di0 to the RGB interface and ipu1_di1 to the LVDS
interface, the clock set by the LDB driver (65MHz) is overwritten when
the parallel interface is enabled as they both share pll5_video.

Has anyone successfully tried using both drivers, LVDS and parallel, at
the same time?

Then I've run into Steve's series that seems to address some clocking
issues.
http://lists.freedesktop.org/archives/dri-devel/2014-October/070996.html

Is there the equivalent series for the driver since it has moved from
staging?

Hope the above description is sufficient, if needed I can provide
modeprint/modetest/clk_summary outputs.

Regards,
Gary


More information about the dri-devel mailing list