Re: [PATCH v2] drm/qxl: remove dependency on DRM simple helpers
Thomas Zimmermann <[email protected]>
| Newsgroups | dev.linux.lists.virtualization,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Merged into drm-misc-next Am 08.07.26 um 14:33 schrieb Thomas Zimmermann: > > > Am 07.07.26 um 18:14 schrieb Diogo Silva: >> Simple KMS helper are deprecated since they only add an intermediate >> layer between drivers and the atomic modesetting. >> This patch removes the drm_simple_encoder_init() helper usage in the >> qxl display driver by open coding it and using the encoder atomic >> helpers directly. This is a step to eventually get rid of this simple >> KMS helper, once all drivers that use it have been converted. >> >> Signed-off-by: Diogo Silva <[email protected]> > > Reviewed-by: Thomas Zimmermann <[email protected]> > >> --- >> Changes in v2: >> - fix type error >> - Link to v1: >> https://lore.kernel.org/r/[email protected] >> --- >> drivers/gpu/drm/qxl/qxl_display.c | 12 ++++++++---- >> 1 file changed, 8 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/qxl/qxl_display.c >> b/drivers/gpu/drm/qxl/qxl_display.c >> index a026bd35ef485..7f4178800afd7 100644 >> --- a/drivers/gpu/drm/qxl/qxl_display.c >> +++ b/drivers/gpu/drm/qxl/qxl_display.c >> @@ -31,12 +31,12 @@ >> #include <drm/drm_atomic.h> >> #include <drm/drm_atomic_helper.h> >> #include <drm/drm_edid.h> >> +#include <drm/drm_encoder.h> >> #include <drm/drm_framebuffer.h> >> #include <drm/drm_gem_framebuffer_helper.h> >> #include <drm/drm_plane_helper.h> >> #include <drm/drm_print.h> >> #include <drm/drm_probe_helper.h> >> -#include <drm/drm_simple_kms_helper.h> >> #include <drm/drm_gem_atomic_helper.h> >> #include <drm/drm_vblank.h> >> #include <drm/drm_vblank_helper.h> >> @@ -1095,6 +1095,10 @@ static const struct drm_connector_helper_funcs >> qxl_connector_helper_funcs = { >> .best_encoder = qxl_best_encoder, >> }; >> +static const struct drm_encoder_funcs qxl_encoder_funcs = { >> + .destroy = drm_encoder_cleanup, >> +}; >> + >> static enum drm_connector_status qxl_conn_detect( >> struct drm_connector *connector, >> bool force) >> @@ -1169,10 +1173,10 @@ static int qdev_output_init(struct drm_device >> *dev, int num_output) >> drm_connector_init(dev, &qxl_output->base, >> &qxl_connector_funcs, DRM_MODE_CONNECTOR_VIRTUAL); >> - ret = drm_simple_encoder_init(dev, &qxl_output->enc, >> - DRM_MODE_ENCODER_VIRTUAL); >> + ret = drm_encoder_init(dev, &qxl_output->enc, &qxl_encoder_funcs, >> + DRM_MODE_ENCODER_VIRTUAL, NULL); >> if (ret) { >> - drm_err(dev, "drm_simple_encoder_init() failed, error %d\n", >> + drm_err(dev, "drm_encoder_init() failed, error %d\n", >> ret); >> goto err_drm_connector_cleanup; >> } >> >> --- >> base-commit: ee2867b79f9bac3a6fc3221139b09598ce79099c >> change-id: 20260707-qxl-simple-c01aa1a5c4eb >> >> Best regards, > -- -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)