On Wednesday, 19 January 2022 07:40:22 CET H. Nikolaus Schaller wrote: > Hi Paul, > > > Am 18.01.2022 um 23:59 schrieb Paul Boddie <paul@xxxxxxxxxxxxx>: > > > > On Tuesday, 18 January 2022 17:58:58 CET Paul Cercueil wrote: > >> > >> Why is this JZ_LCD_OSDC_ALPHAEN bit needed now? I remember it working > >> fine last time I tried, and now I indeed get a black screen unless this > >> bit is set. The PM doesn't make it obvious that the bit is required, > >> but that wouldn't be surprising. > > > > It isn't actually needed. If the DMA descriptors are set up appropriately, > > the OSD alpha bit seems to be set as a consequence. In my non-Linux > > testing environment I don't even set any OSD registers explicitly, but > > the OSD alpha and enable flags become set when the display is active. > > Is it set by DMA descriptors or by explicit code? The descriptors will cause it to be set when the peripheral is enabled, as far as I can tell. > We did have an explicit setting of JZ_LCD_OSDC_ALPHAEN > > https://www.spinics.net/lists/devicetree/msg438447.html > > but that was postponed for further discussion. And now if we > add it (from basic functionality) back, it is fine again. It may be set in various versions of the Linux driver, but my observation was that in a non-Linux environment where nothing else is setting anything in the register concerned, initialising the descriptors seems to enable OSD and the OSD alpha enable bit. Yesterday, I did consider what might be done to avoid the alpha bit being set, but I didn't immediately see anything in the descriptor fields that would offer such an alternative. The bit in question seems to be a global alpha enable setting, and so choosing per-pixel alpha would probably also result in it being set, although I didn't fire up the CI20 to check. Paul