[PATCH v4 0/4] drm: Provide a simple encoder

Thomas Zimmermann tzimmermann at suse.de
Fri Feb 28 08:18:24 UTC 2020


Many DRM drivers implement an encoder with an empty implementation. This
patchset adds drm_simple_encoder_init(), which drivers can use instead.
Except for the destroy callback, the simple encoder's implementation is
empty.

The patchset also converts 4 encoder instances to use the simple-encoder
helpers. But there are at least 11 other drivers which can use the helper
and I think I did not examine all drivers yet.

The patchset was smoke-tested on mgag200 by running the fbdev console
and Gnome on X11.

v4:
	* print error messages with drm_err() (Sam)
	* qxl: handle errors of drm_simple_encoder_init() (Sam)
v3:
	* remove drm_simple_encoder_create() for lack of users (Sam, Daniel)
	* provide more precise documentation (Sam)
v2:
	* move simple encoder to KMS helpers (Daniel)
	* remove name argument; simplifies implementation (Gerd)
	* don't allocate with devm_ interfaces; unsafe with DRM (Noralf)

Thomas Zimmermann (4):
  drm/simple-kms: Add drm_simple_encoder_{init,create}()
  drm/ast: Use simple encoder
  drm/mgag200: Use simple encoder
  drm/qxl: Use simple encoder

 drivers/gpu/drm/ast/ast_drv.h           |  6 +-
 drivers/gpu/drm/ast/ast_mode.c          | 25 +++----
 drivers/gpu/drm/drm_simple_kms_helper.c | 34 +++++++++-
 drivers/gpu/drm/mgag200/mgag200_drv.h   |  9 +--
 drivers/gpu/drm/mgag200/mgag200_mode.c  | 86 ++++---------------------
 drivers/gpu/drm/qxl/qxl_display.c       | 29 ++++-----
 include/drm/drm_simple_kms_helper.h     |  4 ++
 7 files changed, 71 insertions(+), 122 deletions(-)

--
2.25.0



More information about the dri-devel mailing list