Overlay support in the i.MX7 display

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Nov 1 08:43:18 UTC 2019


Hello,

I'm looking at the available options to support overlays in the display
pipeline of the i.MX7. The LCDIF itself unfortunaltey doesn't support
overlays, the feature being implemented in the PXP. A driver for the PXP
is available but only supports older SoCs whose PXP doesn't support
overlays. This driver is implemented as a V4L2 mem2mem driver, which
makes support of additional input channels impossible.

Here are the options I can envision:

- Extend the existing PXP driver to support multiple channels. This is
  technically feasible, but will require moving away from the V4L2
  mem2mem framework, which would break userspace. I don't think this
  path could lead anywhere.

- Write a new PXP driver for the i.MX7, still using V4L2, but with
  multiple video nodes. This would allow blending multiple layers, but
  would require writing the output to memory, while the PXP has support
  for direct connections to the LCDIF (through small SRAM buffers).
  Performances would thus be suboptimal. The API would also be awkward,
  as using the PXP for display would require usage of V4L2 in
  applications.

- Extend the mxsfb driver with PXP support, and expose the PXP inputs as
  KMS planes. The PXP would only be used when available, and would be
  transparent to applications. This would however prevent using it
  separately from the display (to perform multi-pass alpha blending for
  instance).

What would be the best option going forward ? Would any of you, by any
chance, have already started work in this area ?

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list