[PATCH v2 0/6] drm/omap: Module parameter for display order configuration
laurent.pinchart at ideasonboard.com
Fri May 25 20:24:28 UTC 2018
On Wednesday, 21 March 2018 12:08:25 EEST Peter Ujfalusi wrote:
> Changes since v1:
> - rebased it on drm-next
> - Dropped the devm_kzalloc conversion patch
> Changes since RFC:
> - Comments from Laurent have been addressed:
> - Get alias ID once and store it for later use in sorting
> - Commit message updated for 'drm/omap: Manage the usable omap_dss_device
> list within omap_drm_private' patch
> - I have kept the first patch to convert to use devm_kzalloc for the private
> struct as I still think it is as correct as the way Laurent is proposing.
> The series adds support for changing the order of the displays defined by DT
> display aliases.
> The motivation to do such a thing is that for example the fb emulation is
> treating the first display/crtc as the 'main' display and will create the
> fb emulation based on the first display's properties.
> There are many custom applications using DRM directly and they assume that
> the first connector is the 'main' display.
> Afaik weston provides no means either to change the 'main/preferred'
I'm still not sure that this problem should be addressed in the kernel.
However, regardless of that, I found patches 1/6, 2/6, 4/6 and 5/6 useful for
the omapdrm cleanup and rework I'm working on.
The first version can be found in the "[PATCH/RFC 00/60] omapdrm: Reverse
direction of DSS device (dis)connect operations" patch series, and I will send
a second version in the near future.
> It should be the work of user space application (except the fb emulation) to
> somehow deal with the 'main' display selection for their needs, but
> unfortunately they are not capable of diong so for some reason.
> We have boards with LCD panel and HDMI for example and in DT the LCD is set
> as display0, but in certain useage scenarios it is desired to have the HDMI
> as the 'main' display instead of the LCD.
> With the kernel cmd line parameter it is possible to change the pre defined
> order without recompiling the kernel/DT.
> If the board have two active displays:
> 0 - LCD
> 1 - HDMI
> omapdrm.displays=0,1 - represents the original order (LCD, HDMI)
> omapdrm.displays=1,0 - represents reverse order (HDMI, LCD)
> omapdrm.displays=0 - only the LCD is enabled
> omapdrm.displays=1 - only the HDMI is enabled
> omapdrm.displays=-1 - disable all displays
> The first 6 patch of the series is doing some generic clean up and prepares
> the code so the display ordering is going to be easy to add.
> Peter Ujfalusi (6):
> drm/omap: Allocate drm_device earlier and unref it as last step
> drm/omap: Manage the usable omap_dss_device list within
> drm/omap: Separate the dssdevs array setup from the connect function
> drm/omap: Do dss_device (display) ordering in omap_drv.c
> drm/omap: dss: Remove display ordering from dss/display.c
> drm/omap: Add kernel parameter to specify the desired display order
> drivers/gpu/drm/omapdrm/dss/display.c | 15 +--
> drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 +-
> drivers/gpu/drm/omapdrm/omap_drv.c | 225 ++++++++++++++++++++++++-------
> drivers/gpu/drm/omapdrm/omap_drv.h | 3 +
> 4 files changed, 176 insertions(+), 70 deletions(-)
More information about the dri-devel