[PATCH 00/11] ingenic-drm cleanups and doublescan feature

From: Paul Cercueil
Date: Thu May 27 2021 - 19:21:25 EST


Hi,

Here is a set of 11 patches for the ingenic-drm driver.

Patches 1-7 are mostly generic cleanups, which will grease up the way
for bigger changes to be introduced.

Patch 3 adds support for a private state structure, which is then used
to store state-specific information, which was previously stored in the
driver's private structure directly.

Patch 10 is the big one; it adds a double-scan feature emulated with DMA
descriptors. This trick makes it possible to support a handful of boards
which have strange panels with non-square pixels (320x480 4:3).

Patch 11 updates the driver to support one top-level bridge per encoder,
as it seems to be the norm now.

Cheers,
-Paul

Paul Cercueil (11):
drm/ingenic: Remove dead code
drm/ingenic: Simplify code by using hwdescs array
drm/ingenic: Add support for private objects
drm/ingenic: Move no_vblank to private state
drm/ingenic: Move IPU scale settings to private state
drm/ingenic: Set DMA descriptor chain register when starting CRTC
drm/ingenic: Upload palette before frame
drm/ingenic: Support custom GEM object
drm/ingenic: Add ingenic_drm_gem_fb_destroy() function
drm/ingenic: Add doublescan feature
drm/ingenic: Attach bridge chain to encoders

drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 414 ++++++++++++++++++----
drivers/gpu/drm/ingenic/ingenic-ipu.c | 127 ++++++-
2 files changed, 458 insertions(+), 83 deletions(-)

--
2.30.2