On Tue, 29 Aug 2017 10:32:11 +0300 Peter Ujfalusi wrote: > Hi > > 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' display. Hi, that's because Weston does not have a concept of main or preferred display to begin with. If what you refer to involves running Weston with the fbdev-backend, then Weston has nothing to do with the issue. Weston only uses /dev/fb0, whatever that might be and however that might work, as set up by the kernel. Thanks, pq > > 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 > then: > 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. > > Regards, > Peter > --- > Peter Ujfalusi (7): > drm/omap: Use devm_kzalloc() to allocate omap_drm_private > drm/omap: Allocate drm_device earlier and unref it as last step > drm/omap: Manage the usable omap_dss_device list within > omap_drm_private > 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 | 244 ++++++++++++++++++++++++---------- > drivers/gpu/drm/omapdrm/omap_drv.h | 3 + > 4 files changed, 183 insertions(+), 82 deletions(-) >