]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
drm/ingenic: Add support for OSD mode
authorPaul Cercueil <paul@crapouillou.net>
Thu, 16 Jul 2020 16:38:43 +0000 (18:38 +0200)
committerPaul Cercueil <paul@crapouillou.net>
Thu, 16 Jul 2020 22:46:16 +0000 (00:46 +0200)
commit3c9bea4ef32bdcde5bda850b4fa989b936e75f4b
treed656a0ab0957d68b790f855bb1bde78708050536
parent0a746db7ad9210ae4eac4ea1f2834778fee89859
drm/ingenic: Add support for OSD mode

All Ingenic SoCs starting from the JZ4725B support OSD mode.

In this mode, two separate planes can be used. They can have different
positions and sizes, and one can be overlayed on top of the other.

v2: Use fallthrough; instead of /* fall-through */

v3: - Add custom atomic_tail function to handle case where HW gives no
      VBLANK
    - Use regmap_set_bits() / regmap_clear_bits() when possible
    - Use dma_hwdesc_f{0,1} fields in priv structure instead of array
    - Use dmam_alloc_coherent() instead of dma_alloc_coherent()
    - Use more meaningful 0xf0 / 0xf1 values as DMA descriptors IDs
    - Add a bit more code comments

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200716163846.174790-9-paul@crapouillou.net
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
drivers/gpu/drm/ingenic/ingenic-drm.h