A client buffer holds the DRM framebuffer for an in-kernel DRM
client. Until now, armada created an internal ad-hoc framebuffer for
its fbdev emulation, while by-passing the regular interfaces used by
user-space compositors.

Convert armada's fbdev emulation to use client buffers. Replacing the
existing code with a client buffer allows for stream-lining armada code
and later also the fbdev helpers. The new framebuffer will be registered
against the client's file and will support handles for GEM objects. It
is then just another framebuffer within the DRM ecosystem.

If all driver's fbdev-emulation helpers can be converted to use client
buffers, the emulation's framebuffer handling as a whole can possibly be
moved into shared helpers.

Patches 1 and 2 convert armada's fbdev emulation to client buffers. It
still allocates a GEM object buffer tailored towards fbdev emulation,
but size calculations now use common DRM helpers.

Patch 3 cleans up symbol visibility in armada's fb code.

v2:
- add more error checks to geometry calculations

Thomas Zimmermann (3):
  drm/armada: fbdev: Calculate buffer geometry with format helpers
  drm/armada: fbdev: Use a DRM client buffer
  drm/armada: Make armada_framebuffer_create() an internal interface

 drivers/gpu/drm/armada/armada_fb.c    |  9 +--
 drivers/gpu/drm/armada/armada_fb.h    |  3 -
 drivers/gpu/drm/armada/armada_fbdev.c | 86 +++++++++++++++++----------
 3 files changed, 58 insertions(+), 40 deletions(-)


base-commit: fc59f76558703febba8056be87d1c97d14f7485e
-- 
2.54.0

Reply via email to