Hi Peter, On Wednesday, 21 March 2018 12:08:25 EEST Peter Ujfalusi wrote: > Hi, > > 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' > display. 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 > 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 (6): > 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 | 225 ++++++++++++++++++++++++------- > drivers/gpu/drm/omapdrm/omap_drv.h | 3 + > 4 files changed, 176 insertions(+), 70 deletions(-) -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel