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
